BISICLES AMR ice sheet model  0.9
Public Types | Public Member Functions | Static Public Member Functions | List of all members
CalvingModel Class Referenceabstract

virtual base for calving models More...

#include <CalvingModel.H>

Inheritance diagram for CalvingModel:
Inheritance graph
[legend]

Public Types

enum  Stage {
  Initialization, PostVelocitySolve, PostThicknessAdvection, PostRegrid,
  MAX_STAGE
}
 

Public Member Functions

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)=0
 
virtual ~CalvingModel ()
 
virtual CalvingModelnew_CalvingModel ()=0
 factory method More...
 
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...
 

Static Public Member Functions

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

virtual base for calving models

Member Enumeration Documentation

◆ Stage

Enumerator
Initialization 
PostVelocitySolve 
PostThicknessAdvection 
PostRegrid 
MAX_STAGE 

Constructor & Destructor Documentation

◆ ~CalvingModel()

virtual CalvingModel::~CalvingModel ( )
inlinevirtual

Member Function Documentation

◆ applyCriterion()

virtual void CalvingModel::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 
)
pure virtual

◆ getCalvingRate()

void CalvingModel::getCalvingRate ( LevelData< FArrayBox > &  a_calvingRate,
const AmrIce a_amrIce,
int  a_level 
)
virtual

frontal ablation rate.

a default implementation

most models provide a criterion, rather than a rate.

Reimplemented in RateProportionalToSpeedCalvingModel, and VariableRateCalvingModel.

Referenced by ~CalvingModel().

◆ getWaterDepth()

void CalvingModel::getWaterDepth ( LevelData< FArrayBox > &  a_waterDepth,
const AmrIce a_amrIce,
int  a_level 
)
virtual

water depth for crevasse calving.

Reimplemented in CrevasseCalvingModel.

Referenced by ~CalvingModel().

◆ new_CalvingModel()

virtual CalvingModel* CalvingModel::new_CalvingModel ( )
pure virtual

◆ parseCalvingModel()

CalvingModel * CalvingModel::parseCalvingModel ( const char *  a_prefix)
static

◆ updateCalvedIce()

void CalvingModel::updateCalvedIce ( const Real &  a_thck,
const Real  a_prevThck,
const int  a_mask,
Real &  a_added,
Real &  a_calved,
Real &  a_removed 
)
static

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