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

PISM iceberg remover. More...

#include <IcebergRemover.hh>

+ Inheritance diagram for pism::calving::IcebergRemover:

Public Member Functions

 IcebergRemover (std::shared_ptr< const Grid > g)
 
virtual ~IcebergRemover ()=default
 
void update (const array::Scalar &bc_mask, array::CellType1 &cell_type, array::Scalar &ice_thickness)
 
- 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 void update_impl (const array::Scalar &bc_mask, array::CellType1 &cell_type, array::Scalar &ice_thickness)
 
- 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 DiagnosticList diagnostics_impl () 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

array::Scalar m_iceberg_mask
 
std::shared_ptr< petsc::Vecm_mask_p0
 
- 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

PISM iceberg remover.

Identifies and removes free-floating icebergs, which cause well-posedness problems for stress solvers.

Icebergs are, in this context, floating regions that are not attached, through a chain of positive thickness ice-filled cells, to at least one grounded cell.

They cause the SSA operator to have a nontrivial null space.

They are observed to cause unrealistically large velocities that may affect ice velocities elsewhere.

This class uses a serial connected component labeling algorithm to remove "icebergs".

Definition at line 46 of file IcebergRemover.hh.


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