|
DiagnosticList | diagnostics_impl () const |
|
void | initialize_iterations (const Inputs &inputs) |
|
void | compute_nuH (const array::Scalar1 &ice_thickness, const array::CellType2 &cell_type, const pism::Vector2d *const *velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered1 &result) |
|
void | compute_nuH_everywhere (const array::Scalar1 &ice_thickness, const pism::Vector2d *const *velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered &result) |
| Compute the product of ice thickness and effective viscosity (on the staggered grid).
|
|
void | compute_nuH_cfbc (const array::Scalar1 &ice_thickness, const array::CellType2 &cell_type, const pism::Vector2d *const *velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered &result) |
| Compute the product of ice viscosity and thickness on the staggered grid. Used when CFBC is enabled.
|
|
void | compute_driving_stress (const array::Scalar &ice_thickness, const array::Scalar1 &surface_elevation, const array::CellType1 &cell_type, const array::Scalar1 *no_model_mask, const EnthalpyConverter &EC, array::Vector &result) const |
| Compute the gravitational driving stress.
|
|
void | adjust_driving_stress (const array::Scalar &ice_thickness, const array::Scalar1 &surface_elevation, const array::CellType1 &cell_type, const array::Scalar1 *no_model_mask, array::Vector &driving_stress) const |
|
void | compute_average_ice_hardness (const array::Scalar1 &thickness, const array::Array3D &enthalpy, const array::CellType1 &cell_type, array::Staggered &result) const |
| Computes vertically-averaged ice hardness on the staggered grid.
|
|
void | assemble_rhs (const Inputs &inputs, const array::CellType1 &cell_type, const array::Vector &driving_stress, double bc_scaling, array::Vector &result) const |
| Computes the right-hand side ("rhs") of the linear problem for the Picard iteration and finite-difference implementation of the SSA equations.
|
|
void | fd_operator (const Geometry &geometry, const array::Scalar *bc_mask, double bc_scaling, const array::Scalar &basal_yield_stress, IceBasalResistancePlasticLaw *basal_sliding_law, const pism::Vector2d *const *velocity, const array::Staggered1 &nuH, const array::CellType1 &cell_type, Mat *A, Vector2d **Ax) const |
| Assemble the left-hand side matrix for the KSP-based, Picard iteration, and finite difference implementation of the SSA equations.
|
|
void | fracture_induced_softening (const array::Scalar1 &fracture_density, double n_glen, array::Staggered &ice_hardness) |
| Correct vertically-averaged hardness using a parameterization of the fracture-induced softening.
|
|
void | compute_residual (const Inputs &inputs, const pism::Vector2d *const *velocity, pism::Vector2d **result) |
|
virtual void | define_model_state_impl (const File &output) const |
| The default (empty implementation).
|
|
virtual void | write_model_state_impl (const File &output) const |
| The default (empty implementation).
|
|
virtual void | init_impl () |
| Initialize a generic regular-grid SSA solver.
|
|
virtual void | solve (const Inputs &inputs)=0 |
|
void | extrapolate_velocity (const array::CellType1 &cell_type, array::Vector1 &velocity) const |
|
virtual MaxTimestep | max_timestep_impl (double t) const |
|
virtual TSDiagnosticList | ts_diagnostics_impl () const |
|
void | regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS) |
|
A base class containing the FD discretization of the SSA system.
Does not include any implementation details related to non-linear iterations.
Definition at line 36 of file SSAFDBase.hh.