PISM, A Parallel Ice Sheet Model  stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pism::GeometryEvolution Class Reference

#include <GeometryEvolution.hh>

+ Inheritance diagram for pism::GeometryEvolution:

Classes

struct  Impl
 

Public Member Functions

 GeometryEvolution (std::shared_ptr< const Grid > grid)
 
 ~GeometryEvolution ()
 
void init (const InputOptions &opts)
 
void reset ()
 
void flow_step (const Geometry &ice_geometry, double dt, const array::Vector &advective_velocity, const array::Staggered &diffusive_flux, const array::Scalar &thickness_bc_mask)
 
void source_term_step (const Geometry &geometry, double dt, const array::Scalar &thickness_bc_mask, const array::Scalar &surface_mass_flux, const array::Scalar &basal_melt_rate)
 
void apply_flux_divergence (Geometry &geometry) const
 
void apply_mass_fluxes (Geometry &geometry) const
 
const array::Scalartop_surface_mass_balance () const
 
const array::Scalarbottom_surface_mass_balance () const
 
const array::Scalarthickness_change_due_to_flow () const
 
const array::Scalararea_specific_volume_change_due_to_flow () const
 
const array::Scalarconservation_error () const
 
const array::Staggered1flux_staggered () const
 
const array::Scalarflux_divergence () const
 
virtual void set_no_model_mask (const array::Scalar &mask)
 
- 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

std::map< std::string, Diagnostic::Ptrdiagnostics_impl () const
 
virtual void init_impl (const InputOptions &opts)
 
void update_in_place (double dt, const array::Scalar &bed_elevation, const array::Scalar &sea_level, const array::Scalar &flux_divergence, array::Scalar &ice_thickness, array::Scalar &area_specific_volume)
 
void residual_redistribution_iteration (const array::Scalar &bed_topography, const array::Scalar &sea_level, array::Scalar1 &ice_surface_elevation, array::Scalar &ice_thickness, array::CellType1 &cell_type, array::Scalar &Href, array::Scalar &H_residual, bool &done)
 Perform one iteration of the residual mass redistribution. More...
 
virtual void compute_interface_fluxes (const array::CellType1 &cell_type, const array::Scalar &ice_thickness, const array::Vector &velocity, const array::Staggered &diffusive_flux, array::Staggered &output)
 
virtual void compute_flux_divergence (double dt, const array::Staggered1 &flux_staggered, const array::Scalar &thickness_bc_mask, array::Scalar &conservation_error, array::Scalar &flux_fivergence)
 
virtual void ensure_nonnegativity (const array::Scalar &ice_thickness, const array::Scalar &area_specific_volume, array::Scalar &thickness_change, array::Scalar &area_specific_volume_change, array::Scalar &conservation_error)
 
virtual void set_no_model_mask_impl (const array::Scalar &mask)
 
virtual void compute_surface_and_basal_mass_balance (double dt, const array::Scalar &thickness_bc_mask, const array::Scalar &ice_thickness, const array::CellType &cell_type, const array::Scalar &surface_mass_flux, const array::Scalar &basal_melt_rate, array::Scalar &effective_SMB, array::Scalar &effective_BMB)
 
- 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

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

NB! Write this in a way that does not use ghosts of input fields (copy to temp. storage and communicate).

The promise:

H_change + Href_change = dt * (SMB_rate + BMB_rate - flux_divergence) + conservation_error

Href == 0 if H > 0

Definition at line 39 of file GeometryEvolution.hh.


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