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 Member Functions | Protected Attributes | List of all members
pism::columnSystemCtx Class Reference

Base class for tridiagonal systems in the ice. More...

#include <ColumnSystem.hh>

+ Inheritance diagram for pism::columnSystemCtx:

Public Member Functions

 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 Member Functions

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
 

Protected Attributes

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
 

Detailed Description

Base class for tridiagonal systems in the ice.

Adds data members used in time-dependent systems with advection (dx, dy, dz, dt, velocity components).

Definition at line 144 of file ColumnSystem.hh.


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