|
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
|
A version of the SIA stress balance with tweaks for outlet glacier simulations. More...
#include <SIAFD_Regional.hh>
Inheritance diagram for pism::stressbalance::SIAFD_Regional:Public Member Functions | |
| SIAFD_Regional (std::shared_ptr< const Grid > g) | |
| virtual | ~SIAFD_Regional ()=default |
| void | init () |
| Initialize the SIA module. | |
Public Member Functions inherited from pism::stressbalance::SIAFD | |
| SIAFD (std::shared_ptr< const Grid > g) | |
| virtual | ~SIAFD () |
| 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. | |
| const BedSmoother & | bed_smoother () const |
| const array::Staggered & | surface_gradient_x () const |
| const array::Staggered & | surface_gradient_y () const |
| const array::Staggered1 & | diffusivity () const |
Public Member Functions inherited from pism::stressbalance::SSB_Modifier | |
| SSB_Modifier (std::shared_ptr< const Grid > g) | |
| virtual | ~SSB_Modifier ()=default |
| const array::Staggered & | diffusive_flux () |
| Get the diffusive (SIA) vertically-averaged flux on the staggered grid. | |
| double | max_diffusivity () const |
| Get the max diffusivity (for the adaptive time-stepping). | |
| const array::Array3D & | velocity_u () const |
| const array::Array3D & | velocity_v () const |
| virtual std::string | stdout_report () const |
| std::shared_ptr< const rheology::FlowLaw > | flow_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 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. | |
Private Member Functions | |
| void | compute_surface_gradient (const Inputs &inputs, array::Staggered1 &h_x, array::Staggered1 &h_y) |
| Compute the ice surface gradient for the SIA. | |
Private Attributes | |
| array::Staggered1 | m_h_x_no_model |
| array::Staggered1 | m_h_y_no_model |
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... | |
Protected Member Functions inherited from pism::stressbalance::SIAFD | |
| virtual DiagnosticList | diagnostics_impl () const |
| 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. | |
| 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. | |
| 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]. | |
| 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. | |
| 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 &sliding_velocity, array::Array3D &u_out, array::Array3D &v_out) |
| Compute horizontal components of the SIA velocity (in 3D). | |
| virtual void | compute_I (const Geometry &geometry) |
| Compute I. | |
| bool | interglacial (double accumulation_time) const |
Determine if accumulation_time corresponds to an interglacial period. | |
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). | |
| virtual void | write_model_state_impl (const File &output) const |
| The default (empty implementation). | |
| 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::SIAFD | |
| const unsigned int | m_stencil_width |
| array::Scalar2 | m_work_2d_0 |
| temporary storage for eta, theta and the smoothed thickness | |
| array::Scalar2 | m_work_2d_1 |
| array::Staggered1 | m_h_x |
| temporary storage for the surface gradient and the diffusivity | |
| array::Staggered1 | m_h_y |
| array::Staggered1 | m_D |
| array::Array3D | m_delta_0 |
| temporary storage for delta on the staggered grid | |
| array::Array3D | m_delta_1 |
| array::Array3D | m_work_3d_0 |
| temporary storage used to store I and strain_heating on the staggered grid | |
| array::Array3D | m_work_3d_1 |
| BedSmoother * | m_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::FlowLaw > | m_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 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) | |
A version of the SIA stress balance with tweaks for outlet glacier simulations.
Definition at line 30 of file SIAFD_Regional.hh.