BISICLES AMR ice sheet model  0.9
Public Member Functions | Public Attributes | List of all members
CompositeCalvingModel Class Reference

Calving model which lets us compose multiple calving models. More...

#include <CalvingModel.H>

Inheritance diagram for CompositeCalvingModel:
Inheritance graph
[legend]
Collaboration diagram for CompositeCalvingModel:
Collaboration graph
[legend]

Public Member Functions

 CompositeCalvingModel (Vector< CalvingModel *> a_vectModels)
 
virtual void applyCriterion (LevelData< FArrayBox > &a_thickness, LevelData< FArrayBox > &a_calvedIce, LevelData< FArrayBox > &a_addedIce, LevelData< FArrayBox > &a_removedIce, LevelData< FArrayBox > &a_iceFrac, const AmrIce &a_amrIce, int a_level, Stage a_stage)
 
virtual ~CompositeCalvingModel ()
 
virtual CalvingModelnew_CalvingModel ()
 factory method More...
 
 CompositeCalvingModel (const CompositeCalvingModel &a)
 
- Public Member Functions inherited from CalvingModel
virtual ~CalvingModel ()
 
virtual void getCalvingRate (LevelData< FArrayBox > &a_calvingRate, const AmrIce &a_amrIce, int a_level)
 frontal ablation rate. More...
 
virtual void getWaterDepth (LevelData< FArrayBox > &a_waterDepth, const AmrIce &a_amrIce, int a_level)
 water depth for crevasse calving. More...
 

Public Attributes

Vector< CalvingModel * > m_vectModels
 

Additional Inherited Members

- Public Types inherited from CalvingModel
enum  Stage {
  Initialization, PostVelocitySolve, PostThicknessAdvection, PostRegrid,
  MAX_STAGE
}
 
- Static Public Member Functions inherited from CalvingModel
static void updateCalvedIce (const Real &a_thck, const Real a_prevThck, const int a_mask, Real &a_added, Real &a_calved, Real &a_removed)
 
static CalvingModelparseCalvingModel (const char *a_prefix)
 

Detailed Description

Calving model which lets us compose multiple calving models.

Allows serial application of multiple calving models (for example, FixedFrontCalvingModel plus ThicknessCalvingModel). The ordering here is likely important, so always perform operations starting with calving model 0, then 1, etc.

Constructor & Destructor Documentation

◆ CompositeCalvingModel() [1/2]

CompositeCalvingModel::CompositeCalvingModel ( Vector< CalvingModel *>  a_vectModels)
inline

◆ ~CompositeCalvingModel()

CompositeCalvingModel::~CompositeCalvingModel ( )
virtual

◆ CompositeCalvingModel() [2/2]

CompositeCalvingModel::CompositeCalvingModel ( const CompositeCalvingModel a)
inline

References m_vectModels.

Member Function Documentation

◆ applyCriterion()

void CompositeCalvingModel::applyCriterion ( LevelData< FArrayBox > &  a_thickness,
LevelData< FArrayBox > &  a_calvedIce,
LevelData< FArrayBox > &  a_addedIce,
LevelData< FArrayBox > &  a_removedIce,
LevelData< FArrayBox > &  a_iceFrac,
const AmrIce a_amrIce,
int  a_level,
Stage  a_stage 
)
virtual

Implements CalvingModel.

◆ new_CalvingModel()

virtual CalvingModel* CompositeCalvingModel::new_CalvingModel ( )
inlinevirtual

factory method

Implements CalvingModel.

Member Data Documentation

◆ m_vectModels

Vector<CalvingModel*> CompositeCalvingModel::m_vectModels

Referenced by CompositeCalvingModel().


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