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::stressbalance::StressBalance Class Reference

The class defining PISM's interface to the shallow stress balance code. More...

#include <StressBalance.hh>

+ Inheritance diagram for pism::stressbalance::StressBalance:

Public Member Functions

 StressBalance (std::shared_ptr< const Grid > g, std::shared_ptr< ShallowStressBalance > sb, std::shared_ptr< SSB_Modifier > ssb_mod)
 
virtual ~StressBalance ()
 
void init ()
 Initialize the StressBalance object. More...
 
void update (const Inputs &inputs, bool full_update)
 Update all the fields if (full_update), only update diffusive flux and max. diffusivity otherwise. More...
 
const array::Vectoradvective_velocity () const
 Get the thickness-advective (SSA) 2D velocity. More...
 
const array::Staggereddiffusive_flux () const
 Get the diffusive (SIA) vertically-averaged flux on the staggered grid. More...
 
double max_diffusivity () const
 Get the max diffusivity (for the adaptive time-stepping). More...
 
CFLData max_timestep_cfl_2d () const
 
CFLData max_timestep_cfl_3d () const
 
const array::Array3Dvelocity_u () const
 Get components of the the 3D velocity field. More...
 
const array::Array3Dvelocity_v () const
 
const array::Array3Dvelocity_w () const
 
const array::Scalarbasal_frictional_heating () const
 Get the basal frictional heating. More...
 
const array::Array3Dvolumetric_strain_heating () const
 
std::string stdout_report () const
 Produce a report string for the standard output. More...
 
const ShallowStressBalanceshallow () const
 Returns a pointer to a shallow stress balance solver implementation. More...
 
const SSB_Modifiermodifier () const
 Returns a pointer to a stress balance modifier implementation. More...
 
- 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 Gridgrid () const
 
const Timetime () const
 
const Profilingprofiling () 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...
 

Protected Member Functions

virtual DiagnosticList diagnostics_impl () const
 
virtual TSDiagnosticList ts_diagnostics_impl () const
 
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...
 
virtual void compute_vertical_velocity (const array::CellType1 &mask, const array::Array3D &u, const array::Array3D &v, const array::Scalar *bmr, array::Array3D &result)
 Compute vertical velocity using incompressibility of the ice. More...
 
virtual void compute_volumetric_strain_heating (const Inputs &inputs)
 Computes the volumetric strain heating using horizontal velocity. More...
 
- Protected Member Functions inherited from pism::Component
virtual MaxTimestep max_timestep_impl (double t) const
 
void regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS)
 

Protected Attributes

CFLData m_cfl_2d
 
CFLData m_cfl_3d
 
array::Array3D m_w
 
array::Array3D m_strain_heating
 
std::shared_ptr< ShallowStressBalancem_shallow_stress_balance
 
std::shared_ptr< SSB_Modifierm_modifier
 
- Protected Attributes inherited from pism::Component
const std::shared_ptr< const Gridm_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...
 

Additional Inherited Members

- 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...
 

Detailed Description

The class defining PISM's interface to the shallow stress balance code.

Generally all the nontrivial fields are updated by a call to update(). The rest of the methods generally provide access to precomputed results. The following diagram shows where these results are generally used in the rest of PISM. (It does not show the call graph, as would doxygen.)

Methods of StressBalance, and the uses of their results. Dotted edges show scalars and dashed edges show fields. Dashed boxes inside the StressBalance object are important methods which may be present in shallow cases. The age time step has inputs which are a strict subset of the inputs of the energy time step.

this command fails:

Definition at line 77 of file StressBalance.hh.


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