PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
|
A version of the SSA stress balance with tweaks for outlet glacier simulations. More...
#include <SSAFD_Regional.hh>
Public Member Functions | |
SSAFD_Regional (std::shared_ptr< const Grid > g) | |
virtual | ~SSAFD_Regional ()=default |
virtual void | init () |
virtual 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, array::Vector &result) const |
Compute the gravitational driving stress. More... | |
Public Member Functions inherited from pism::stressbalance::SSAFD | |
SSAFD (std::shared_ptr< const Grid > g) | |
virtual | ~SSAFD ()=default |
const array::Staggered & | integrated_viscosity () const |
Public Member Functions inherited from pism::stressbalance::SSA | |
SSA (std::shared_ptr< const Grid > g) | |
virtual | ~SSA () |
void | set_initial_guess (const array::Vector &guess) |
Set the initial guess of the SSA velocity. More... | |
virtual std::string | stdout_report () const |
Produce a report string for the standard output. More... | |
const array::Vector & | driving_stress () const |
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. More... | |
const array::Scalar & | basal_frictional_heating () |
Get the basal frictional heating (for the adaptive energy time-stepping). More... | |
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. More... | |
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. More... | |
void | write_model_state (const File &output) const |
Write model state variables to an output file. More... | |
MaxTimestep | max_timestep (double t) const |
Reports the maximum time-step the model can take at time t. More... | |
Private Member Functions | |
void | update (const Inputs &inputs, bool full_update) |
Update the SSA solution. More... | |
Private Attributes | |
const array::Scalar1 * | m_h_stored |
const array::Scalar * | m_H_stored |
const array::Scalar * | m_no_model_mask |
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... | |
Protected Member Functions inherited from pism::stressbalance::SSAFD | |
virtual void | init_impl () |
Initialize a generic regular-grid SSA solver. More... | |
virtual DiagnosticList | diagnostics_impl () const |
virtual void | pc_setup_bjacobi () |
virtual void | pc_setup_asm () |
virtual void | solve (const Inputs &inputs) |
Compute the vertically-averaged horizontal velocity from the shallow shelf approximation. More... | |
virtual void | picard_iteration (const Inputs &inputs, double nuH_regularization, double nuH_iter_failure_underrelax) |
virtual void | picard_manager (const Inputs &inputs, double nuH_regularization, double nuH_iter_failure_underrelax) |
Manages the Picard iteration loop. More... | |
virtual void | picard_strategy_regularization (const Inputs &inputs) |
Old SSAFD recovery strategy: increase the SSA regularization parameter. More... | |
virtual void | compute_hardav_staggered (const Inputs &inputs) |
Computes vertically-averaged ice hardness on the staggered grid. More... | |
virtual void | compute_nuH_staggered (const array::Scalar1 &ice_thickness, const array::Vector1 &velocity, const array::Staggered &hardness, double nuH_regularization, array::Staggered &result) |
Compute the product of ice thickness and effective viscosity (on the staggered grid). More... | |
virtual void | compute_nuH_staggered_cfbc (const array::Scalar1 &ice_thickness, const array::CellType2 &mask, const array::Vector1 &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. More... | |
virtual void | compute_nuH_norm (double &norm, double &norm_change) |
Compute the norm of nu H and the change in nu H. More... | |
virtual void | assemble_matrix (const Inputs &inputs, bool include_basal_shear, Mat A) |
Assemble the left-hand side matrix for the KSP-based, Picard iteration, and finite difference implementation of the SSA equations. More... | |
virtual void | assemble_rhs (const Inputs &inputs) |
Computes the right-hand side ("rhs") of the linear problem for the Picard iteration and finite-difference implementation of the SSA equations. More... | |
virtual void | write_system_petsc (const std::string &namepart) |
virtual void | update_nuH_viewers () |
Update the nuH viewer, which shows log10(nu H). More... | |
virtual bool | is_marginal (int i, int j, bool ssa_dirichlet_bc) |
Checks if a cell is near or at the ice front. More... | |
virtual void | fracture_induced_softening (const array::Scalar *fracture_density) |
Correct vertically-averaged hardness using a parameterization of the fracture-induced softening. More... | |
Protected Member Functions inherited from pism::stressbalance::SSA | |
virtual void | define_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
virtual void | write_model_state_impl (const File &output) const |
The default (empty implementation). More... | |
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 inherited from pism::stressbalance::SSAFD | |
array::Staggered | m_hardness |
array::Staggered1 | m_nuH |
array::Staggered1 | m_nuH_old |
array::Array2D< Work > | m_work |
petsc::KSP | m_KSP |
petsc::Mat | m_A |
array::Vector | m_b |
array::Vector1 | m_velocity_old |
const double | m_scaling |
unsigned int | m_default_pc_failure_count |
unsigned int | m_default_pc_failure_max_count |
bool | m_view_nuh |
std::shared_ptr< petsc::Viewer > | m_nuh_viewer |
int | m_nuh_viewer_size |
Protected Attributes inherited from pism::stressbalance::SSA | |
array::CellType2 | m_mask |
array::Vector | m_taud |
std::string | m_stdout_ssa |
std::shared_ptr< petsc::DM > | m_da |
array::Vector | m_velocity_global |
int | m_event_ssa |
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 More... | |
Protected Attributes inherited from pism::Component | |
const std::shared_ptr< const Grid > | m_grid |
grid used by this component More... | |
const Config::ConstPtr | m_config |
configuration database used by this component More... | |
const units::System::Ptr | m_sys |
unit system used by this component More... | |
const Logger::ConstPtr | m_log |
logger (for easy access) More... | |
A version of the SSA stress balance with tweaks for outlet glacier simulations.
Definition at line 31 of file SSAFD_Regional.hh.