PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
pism::UNO Class Reference

#include <UNO.hh>

Public Member Functions

 UNO (std::shared_ptr< const Grid > grid, UNOType type)
 
void update (double dt, const array::CellType1 &cell_type, const array::Scalar &x, const array::Vector &velocity, bool nonnegative=false)
 
const array::Scalarx () const
 

Private Types

typedef double(* MidFluxApproximation) (const double *, const double *, size_t, double, double, double)
 

Private Member Functions

void compute_interface_fluxes (const array::CellType1 &cell_type, const array::Vector1 &velocity, const array::Scalar2 &x_old, double dt, array::Staggered &result) const
 

Private Attributes

MidFluxApproximation m_approx
 
array::Staggered1 m_q
 
array::Staggered1 m_q_limited
 
array::Vector1 m_v_ghosted
 
array::Scalar2 m_x_ghosted
 
array::Scalar m_x
 

Detailed Description

Implementation of Upwind Nonoscillatory advection schemes UNO2 and UNO3.

See J.-G. Li, “Upstream Nonoscillatory Advection Schemes,” Monthly Weather Review, vol. 136, Art. no. 12, Dec. 2008.

Three more schemes (first-order upwinding, Lax-Wendroff and Fromm) can be stated in the same framework and so we implement them as well since this requires very little effort and simplifies testing and comparisons.

Definition at line 47 of file UNO.hh.


The documentation for this class was generated from the following files: