PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
Public Member Functions | Protected Attributes | List of all members
pism::AgeColumnSystem Class Reference

Tridiagonal linear system for vertical column of age (pure advection) problem. More...

#include <AgeColumnSystem.hh>

+ Inheritance diagram for pism::AgeColumnSystem:

Public Member Functions

 AgeColumnSystem (const std::vector< double > &storage_grid, const std::string &my_prefix, double dx, double dy, double dt, const array::Array3D &age, const array::Array3D &u3, const array::Array3D &v3, const array::Array3D &w3)
 
void init (int i, int j, double thickness)
 
void solve (std::vector< double > &x)
 First-order upwind scheme with implicit in the vertical: one column solve. More...
 
- Public Member Functions inherited from pism::columnSystemCtx
 columnSystemCtx (const std::vector< double > &storage_grid, const std::string &prefix, double dx, double dy, double dt, const array::Array3D &u3, const array::Array3D &v3, const array::Array3D &w3)
 A column system is a kind of a tridiagonal system. More...
 
 ~columnSystemCtx ()
 
void save_to_file (const std::vector< double > &x)
 Write system matrix, right-hand-side, and (provided) solution into Python script. Constructs file name from m_prefix. More...
 
void save_to_file (const std::string &filename, const std::vector< double > &x)
 
unsigned int ks () const
 
double dz () const
 
const std::vector< double > & z () const
 
void fine_to_coarse (const std::vector< double > &fine, int i, int j, array::Array3D &coarse) const
 

Protected Attributes

const array::Array3Dm_age3
 
double m_nu
 
std::vector< double > m_A
 
std::vector< double > m_A_n
 
std::vector< double > m_A_e
 
std::vector< double > m_A_s
 
std::vector< double > m_A_w
 
- Protected Attributes inherited from pism::columnSystemCtx
TridiagonalSystemm_solver
 
ColumnInterpolationm_interp
 
unsigned int m_ks
 current system size; corresponds to the highest vertical level within the ice More...
 
int m_i
 current column indexes More...
 
int m_j
 
double m_dx
 
double m_dy
 
double m_dz
 
double m_dt
 
std::vector< double > m_u
 u-component of the ice velocity More...
 
std::vector< double > m_v
 v-component of the ice velocity More...
 
std::vector< double > m_w
 w-component of the ice velocity More...
 
std::vector< double > m_z
 levels of the fine vertical grid More...
 
const array::Array3Dm_u3
 pointers to 3D velocity components More...
 
const array::Array3Dm_v3
 
const array::Array3Dm_w3
 

Additional Inherited Members

- Protected Member Functions inherited from pism::columnSystemCtx
void init_column (int i, int j, double ice_thickness)
 
void reportColumnZeroPivotErrorMFile (unsigned int M)
 Write system matrix and right-hand-side into an Python script. The file name contains ZERO_PIVOT_ERROR. More...
 
void init_fine_grid (const std::vector< double > &storage_grid)
 
void coarse_to_fine (const array::Array3D &coarse, int i, int j, double *fine) const
 

Detailed Description

Tridiagonal linear system for vertical column of age (pure advection) problem.

Definition at line 28 of file AgeColumnSystem.hh.


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