BISICLES AMR ice sheet model  0.9
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CrevasseCalvingModel Class Referenceabstract

#include <CrevasseCalvingModel.H>

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

Public Types

enum  StressMeasure { FirstPrincipalStress, AlongFlowNormalStress, Trace, MAX_STRESS_MEASURE }
 
- Public Types inherited from CalvingModel
enum  Stage {
  Initialization, PostVelocitySolve, PostThicknessAdvection, PostRegrid,
  MAX_STAGE
}
 

Public Member Functions

 CrevasseCalvingModel (ParmParse &a_pp)
 
virtual ~CrevasseCalvingModel ()
 
virtual void computeRemnant (LevelData< FArrayBox > &a_remnant, const LevelData< FArrayBox > &a_stress, const LevelData< FArrayBox > &a_thck, const LevelData< FArrayBox > &a_usrf, const LevelData< FArrayBox > &a_hab, const LevelData< FArrayBox > &a_waterDepth, const LevelSigmaCS &a_coords)=0
 
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 void getWaterDepth (LevelData< FArrayBox > &a_waterDepth, const AmrIce &a_amrIce, int a_level)
 water depth for crevasse calving. More...
 
 CrevasseCalvingModel (const CrevasseCalvingModel &a)
 
- Public Member Functions inherited from CalvingModel
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...
 

Protected Member Functions

void computeStressMeasure (LevelData< FArrayBox > &a_stressMeasure, const AmrIce &a_amrIce, int a_level)
 

Protected Attributes

SurfaceFluxm_waterDepth
 
bool m_includeBasalCrevasses
 
Real m_calvingZoneLength
 
DomainEdgeCalvingModelm_domainEdgeCalvingModel
 
StressMeasure m_stressMeasure
 

Additional Inherited Members

- 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 models based on crevase depth computed from viscous stress CrevasseCalvingModel implements the methods common to all of these, and requires its subclasses to compute a remnnat given the stress. The remnant could be the remaining thickness of ice remnant = (thickness - crevasse depth)/thickness but could be any quantity where remnant = 0 indiciates full fracture and remnant > 0 is a partial fracture.

Member Enumeration Documentation

◆ StressMeasure

Enumerator
FirstPrincipalStress 
AlongFlowNormalStress 
Trace 
MAX_STRESS_MEASURE 

Constructor & Destructor Documentation

◆ CrevasseCalvingModel() [1/2]

CrevasseCalvingModel::CrevasseCalvingModel ( ParmParse &  a_pp)

◆ ~CrevasseCalvingModel()

CrevasseCalvingModel::~CrevasseCalvingModel ( )
virtual

◆ CrevasseCalvingModel() [2/2]

CrevasseCalvingModel::CrevasseCalvingModel ( const CrevasseCalvingModel a)
inline

Member Function Documentation

◆ applyCriterion()

void CrevasseCalvingModel::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

◆ computeRemnant()

virtual void CrevasseCalvingModel::computeRemnant ( LevelData< FArrayBox > &  a_remnant,
const LevelData< FArrayBox > &  a_stress,
const LevelData< FArrayBox > &  a_thck,
const LevelData< FArrayBox > &  a_usrf,
const LevelData< FArrayBox > &  a_hab,
const LevelData< FArrayBox > &  a_waterDepth,
const LevelSigmaCS a_coords 
)
pure virtual

Implemented in VdVCalvingModel, and BennCalvingModel.

Referenced by applyCriterion().

◆ computeStressMeasure()

void CrevasseCalvingModel::computeStressMeasure ( LevelData< FArrayBox > &  a_stressMeasure,
const AmrIce a_amrIce,
int  a_level 
)
protected

Calving models based on crevase depth computed from viscous stress CrevasseCalvingModel implements the methods common to all of these, and requires its subclasses to compute crevasse depth given the stress

References AlongFlowNormalStress, FirstPrincipalStress, AmrIce::geometry(), LevelSigmaCS::getH(), LevelSigmaCS::grids(), m_stressMeasure, MAX_STRESS_MEASURE, Trace, AmrIce::velocity(), and AmrIce::viscousTensor().

Referenced by applyCriterion(), and CrevasseCalvingModel().

◆ getWaterDepth()

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

water depth for crevasse calving.

Reimplemented from CalvingModel.

References applyCriterion(), SurfaceFlux::evaluate(), and m_waterDepth.

Referenced by applyCriterion().

Member Data Documentation

◆ m_calvingZoneLength

Real CrevasseCalvingModel::m_calvingZoneLength
protected

◆ m_domainEdgeCalvingModel

DomainEdgeCalvingModel* CrevasseCalvingModel::m_domainEdgeCalvingModel
protected

◆ m_includeBasalCrevasses

bool CrevasseCalvingModel::m_includeBasalCrevasses
protected

◆ m_stressMeasure

StressMeasure CrevasseCalvingModel::m_stressMeasure
protected

◆ m_waterDepth

SurfaceFlux* CrevasseCalvingModel::m_waterDepth
protected

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