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::SIAFD Class Reference

#include <SIAFD.hh>

+ Inheritance diagram for pism::stressbalance::SIAFD:

Public Member Functions

 SIAFD (std::shared_ptr< const Grid > g)
 
virtual ~SIAFD ()
 
virtual void init ()
 Initialize the SIA module. More...
 
virtual void update (const array::Vector &sliding_velocity, const Inputs &inputs, bool full_update)
 Do the update; if full_update == false skip the update of 3D velocities and strain heating. More...
 
const BedSmootherbed_smoother () const
 
const array::Staggeredsurface_gradient_x () const
 
const array::Staggeredsurface_gradient_y () const
 
const array::Staggered1diffusivity () const
 
- Public Member Functions inherited from pism::stressbalance::SSB_Modifier
 SSB_Modifier (std::shared_ptr< const Grid > g)
 
virtual ~SSB_Modifier ()=default
 
const array::Staggereddiffusive_flux ()
 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...
 
const array::Array3Dvelocity_u () const
 
const array::Array3Dvelocity_v () const
 
virtual std::string stdout_report () const
 
std::shared_ptr< const rheology::FlowLawflow_law () 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 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 void compute_surface_gradient (const Inputs &inputs, array::Staggered1 &h_x, array::Staggered1 &h_y)
 Compute the ice surface gradient for the SIA. More...
 
virtual void surface_gradient_eta (const array::Scalar2 &ice_thickness, const array::Scalar2 &bed_elevation, array::Staggered1 &h_x, array::Staggered1 &h_y)
 Compute the ice surface gradient using the eta-transformation. More...
 
virtual void surface_gradient_haseloff (const array::Scalar2 &ice_surface_elevation, const array::CellType2 &cell_type, array::Staggered1 &h_x, array::Staggered1 &h_y)
 Compute the ice surface gradient using a modification of Marianne Haseloff's approach. More...
 
virtual void surface_gradient_mahaffy (const array::Scalar &ice_surface_elevation, array::Staggered1 &h_x, array::Staggered1 &h_y)
 Compute the ice surface gradient using the Mary Anne Mahaffy method; see [Mahaffy]. More...
 
virtual void compute_diffusivity (bool full_update, const Geometry &geometry, const array::Array3D *enthalpy, const array::Array3D *age, const array::Staggered1 &h_x, const array::Staggered1 &h_y, array::Staggered1 &result)
 Compute the SIA diffusivity. If full_update, also store delta on the staggered grid. More...
 
virtual void compute_diffusive_flux (const array::Staggered &h_x, const array::Staggered &h_y, const array::Staggered &diffusivity, array::Staggered &result)
 
virtual void compute_3d_horizontal_velocity (const Geometry &geometry, const array::Staggered &h_x, const array::Staggered &h_y, const array::Vector &vel_input, array::Array3D &u_out, array::Array3D &v_out)
 Compute horizontal components of the SIA velocity (in 3D). More...
 
virtual void compute_I (const Geometry &geometry)
 Compute I. More...
 
bool interglacial (double accumulation_time) const
 Determine if accumulation_time corresponds to an interglacial period. More...
 
- Protected Member Functions inherited from pism::Component
virtual MaxTimestep max_timestep_impl (double t) 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 TSDiagnosticList ts_diagnostics_impl () const
 
void regrid (const std::string &module_name, array::Array &variable, RegriddingFlag flag=NO_REGRID_WITHOUT_REGRID_VARS)
 

Protected Attributes

const unsigned int m_stencil_width
 
array::Scalar2 m_work_2d_0
 temporary storage for eta, theta and the smoothed thickness More...
 
array::Scalar2 m_work_2d_1
 
array::Staggered1 m_h_x
 temporary storage for the surface gradient and the diffusivity More...
 
array::Staggered1 m_h_y
 
array::Staggered1 m_D
 
array::Array3D m_delta_0
 temporary storage for delta on the staggered grid More...
 
array::Array3D m_delta_1
 
array::Array3D m_work_3d_0
 temporary storage used to store I and strain_heating on the staggered grid More...
 
array::Array3D m_work_3d_1
 
BedSmootherm_bed_smoother
 
int m_event_sia
 
double m_seconds_per_year
 
double m_holocene_start
 
double m_eemian_start
 
double m_eemian_end
 
double m_e_factor
 
double m_e_factor_interglacial
 
- Protected Attributes inherited from pism::stressbalance::SSB_Modifier
std::shared_ptr< rheology::FlowLawm_flow_law
 
EnthalpyConverter::Ptr m_EC
 
double m_D_max
 
array::Staggered1 m_diffusive_flux
 
array::Array3D m_u
 
array::Array3D m_v
 
- 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

Implements the shallow ice approximation stress balance.

Inputs:

Outputs:

Definition at line 50 of file SIAFD.hh.


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