BISICLES AMR ice sheet model  0.9
MaskedCalvingModel.H
Go to the documentation of this file.
1 
2 #ifdef CH_LANG_CC
3 /*
4 * _______ __
5 * / ___/ / ___ __ _ / / ___
6 * / /__/ _ \/ _ \/ V \/ _ \/ _ \
7 * \___/_//_/\___/_/_/_/_.__/\___/
8 * Please refer to Copyright.txt, in Chombo's root directory.
9 */
10 #endif
11 
12 #ifndef _MASKEDCALVINGMODEL_H_
13 #define _MASKEDCALVINGMODEL_H_
14 
15 #include "CalvingModel.H"
16 #include "LevelSigmaCS.H"
17 #include "ParmParse.H"
18 #include "SurfaceFlux.H"
19 #include "NamespaceHeader.H"
20 
23 {
24 
25 public:
26 
27 // default constructor
29 
30 // constructor with calving mask in the form of a surfaceFlux
31 MaskedCalvingModel(SurfaceFlux* a_calvingMaskPtr,
32  Real m_minThickness);
33 
34 // destructor
35 virtual ~MaskedCalvingModel();
36 
37 // define
38 void define(SurfaceFlux* a_calvingMaskPtr,
39  Real m_minThickness);
40 
41 
42  //alter the thickness field at the end of a time step
43  virtual void applyCriterion(LevelData<FArrayBox>& a_thickness,
44  LevelData<FArrayBox>& a_calvedIce,
45  LevelData<FArrayBox>& a_addedIce,
46  LevelData<FArrayBox>& a_removedIce,
47  LevelData<FArrayBox>& a_iceFrac,
48  const AmrIce& a_amrIce,
49  int a_level,
50  Stage a_stage);
51 
52 
54 
57 
58 protected:
59 
61 
63 
64 private:
65 
66 };
67 
68 
69 
70 #include "NamespaceFooter.H"
71 #endif
SurfaceFlux * m_calvingMask
Definition: MaskedCalvingModel.H:60
Real m_minThickness
Definition: MaskedCalvingModel.H:62
class to manage non-subcycled AMR ice-sheet model
Definition: AmrIce.H:40
Calving model which uses a masked input to enforce shelf collapse.
Definition: MaskedCalvingModel.H:22
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)
Definition: MaskedCalvingModel.cpp:52
virtual ~MaskedCalvingModel()
Definition: MaskedCalvingModel.cpp:29
Real m_calvingVal
make this public
Definition: MaskedCalvingModel.H:56
abstract class defining the surface flux interface
Definition: SurfaceFlux.H:39
MaskedCalvingModel()
Definition: MaskedCalvingModel.cpp:17
void define(SurfaceFlux *a_calvingMaskPtr, Real m_minThickness)
Definition: MaskedCalvingModel.cpp:40
Stage
Definition: CalvingModel.H:28
virtual CalvingModel * new_CalvingModel()
factory method
Definition: MaskedCalvingModel.cpp:112
virtual base for calving models
Definition: CalvingModel.H:23