PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
Tridiagonal linear system for vertical column of temperature-based conservation of energy problem. More...
#include <tempSystem.hh>
Public Member Functions | |
tempSystemCtx (const std::vector< double > &storage_grid, const std::string &prefix, double dx, double dy, double dt, const Config &config, const array::Array3D &T3, const array::Array3D &u3, const array::Array3D &v3, const array::Array3D &w3, const array::Array3D &strain_heating3) | |
void | initThisColumn (int i, int j, bool is_marginal, MaskValue new_mask, double ice_thickness) |
void | setSurfaceBoundaryValuesThisColumn (double my_Ts) |
void | setBasalBoundaryValuesThisColumn (double my_G0, double my_Tshelfbase, double my_Rb) |
void | solveThisColumn (std::vector< double > &x) |
double | lambda () const |
double | w (int k) |
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 | |
double | m_ice_density |
double | m_ice_c |
double | m_ice_k |
const array::Array3D & | m_T3 |
const array::Array3D & | m_strain_heating3 |
std::vector< double > | m_T |
std::vector< double > | m_strain_heating |
std::vector< double > | m_T_n |
std::vector< double > | m_T_e |
std::vector< double > | m_T_s |
std::vector< double > | m_T_w |
double | m_lambda |
double | m_Ts |
double | m_G0 |
double | m_Tshelfbase |
double | m_Rb |
MaskValue | m_mask |
bool | m_is_marginal |
double | m_nu |
double | m_rho_c_I |
double | m_iceK |
double | m_iceR |
Protected Attributes inherited from pism::columnSystemCtx | |
TridiagonalSystem * | m_solver |
ColumnInterpolation * | m_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::Array3D & | m_u3 |
pointers to 3D velocity components More... | |
const array::Array3D & | m_v3 |
const array::Array3D & | m_w3 |
Private Member Functions | |
double | compute_lambda () |
Private Attributes | |
bool | m_surfBCsValid |
bool | m_basalBCsValid |
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 |
Tridiagonal linear system for vertical column of temperature-based conservation of energy problem.
Call sequence like this:
Definition at line 49 of file tempSystem.hh.