|
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
|
#include <SSAFDBase.hh>
Inheritance diagram for pism::stressbalance::SSAFDBase:Classes | |
| struct | Work |
Public Member Functions | |
| SSAFDBase (std::shared_ptr< const Grid > g, bool regional_mode) | |
| const array::Staggered & | integrated_viscosity () const |
| const array::Vector & | driving_stress () const |
| void | compute_residual (const Inputs &inputs, const array::Vector2 &velocity, array::Vector &result) |
Public Member Functions inherited from pism::stressbalance::SSA | |
| SSA (std::shared_ptr< const Grid > g) | |
| virtual | ~SSA () |
| virtual void | update (const Inputs &inputs, bool full_update) |
| Update the SSA solution. | |
| virtual std::string | stdout_report () const |
| Produce a report string for the standard output. | |
Public Member Functions inherited from pism::stressbalance::ShallowStressBalance | |
| ShallowStressBalance (std::shared_ptr< const Grid > g) | |
| virtual | ~ShallowStressBalance () |
| void | init () |
| const array::Vector1 & | velocity () const |
| Get the thickness-advective 2D velocity. | |
| const array::Scalar & | basal_frictional_heating () |
| Get the basal frictional heating (for the adaptive energy time-stepping). | |
| void | compute_basal_frictional_heating (const array::Vector &velocity, const array::Scalar &tauc, const array::CellType &mask, array::Scalar &result) const |
| Compute the basal frictional heating. | |
| std::shared_ptr< const rheology::FlowLaw > | flow_law () const |
| EnthalpyConverter::Ptr | enthalpy_converter () const |
| const IceBasalResistancePlasticLaw * | sliding_law () const |
| double | flow_enhancement_factor () const |
Public Member Functions inherited from pism::Component | |
| Component (std::shared_ptr< const Grid > grid) | |
| virtual | ~Component ()=default |
| DiagnosticList | diagnostics () const |
| TSDiagnosticList | ts_diagnostics () const |
| std::shared_ptr< const Grid > | grid () const |
| const Time & | time () const |
| const Profiling & | profiling () const |
| void | define_model_state (const File &output) const |
| Define model state variables in an output file. | |
| void | write_model_state (const File &output) const |
| Write model state variables to an output file. | |
| MaxTimestep | max_timestep (double t) const |
| Reports the maximum time-step the model can take at time t. | |
Protected Member Functions | |
| 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) |
Protected Member Functions inherited from pism::stressbalance::SSA | |
| 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 |
Protected Member Functions inherited from pism::Component | |
| 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) |
Protected Attributes | |
| array::Array2D< Work > | m_work |
| array::Staggered | m_hardness |
| ice hardness | |
| array::Staggered1 | m_nuH |
| viscosity times thickness | |
| array::CellType2 | m_cell_type |
| array::Vector | m_rhs |
| right hand side | |
| array::Vector | m_taud |
| driving stress | |
| const double | m_bc_scaling |
| scaling used for diagonal matrix elements at Dirichlet BC locations | |
| const bool | m_regional_mode |
Protected Attributes inherited from pism::stressbalance::SSA | |
| std::string | m_stdout_ssa |
| array::Vector | m_velocity_global |
Protected Attributes inherited from pism::stressbalance::ShallowStressBalance | |
| IceBasalResistancePlasticLaw * | m_basal_sliding_law |
| std::shared_ptr< rheology::FlowLaw > | m_flow_law |
| EnthalpyConverter::Ptr | m_EC |
| array::Vector2 | m_velocity |
| array::Scalar | m_basal_frictional_heating |
| double | m_e_factor |
| flow enhancement factor | |
Protected Attributes inherited from pism::Component | |
| const std::shared_ptr< const Grid > | m_grid |
| grid used by this component | |
| const Config::ConstPtr | m_config |
| configuration database used by this component | |
| const units::System::Ptr | m_sys |
| unit system used by this component | |
| const Logger::ConstPtr | m_log |
| logger (for easy access) | |
Additional Inherited Members | |
Public Attributes inherited from pism::stressbalance::SSA | |
| SSAStrengthExtension * | strength_extension |
Protected Types inherited from pism::Component | |
| enum | RegriddingFlag { REGRID_WITHOUT_REGRID_VARS , NO_REGRID_WITHOUT_REGRID_VARS } |
This flag determines whether a variable is read from the -regrid_file file even if it is not listed among variables in -regrid_vars. More... | |
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.