20 #ifndef _ICEINTERNALENERGY_H_ 21 #define _ICEINTERNALENERGY_H_ 25 #include "NamespaceHeader.H" 39 virtual void define(
const ProblemDomain& a_domain,
41 {PhysIBC::define(a_domain, a_dx);}
56 virtual void initialize(LevelData<FArrayBox>& a_U);
62 int a_level, Real a_dt)=0;
65 #if BISICLES_Z == BISICLES_LAYERED 67 LevelData<FArrayBox>& a_tillWaterDepth,
68 LevelData<FArrayBox>& a_surfaceE,
69 LevelData<FArrayBox>& a_basalE,
71 int a_level, Real a_dt)=0;
74 LevelData<FArrayBox>& a_tillWaterDepth,
75 LevelData<FArrayBox>& a_surfaceE,
76 LevelData<FArrayBox>& a_basalE,
80 #elif BISICLES_Z == BISICLES_FULLZ 81 #error BISICLES_FULLZ not implemented 85 virtual void primBC(FArrayBox& a_WGdnv,
86 const FArrayBox& a_Wextrap,
89 const Side::LoHiSide& a_side,
103 const FArrayBox& a_U,
104 const FArrayBox& a_divVel,
109 MayDay::Error(
"IceInternalEnergyIBC::artViscBC not implemented");
129 int a_level, Real a_dt);
131 #if BISICLES_Z == BISICLES_LAYERED 133 LevelData<FArrayBox>& a_tillWaterDepth,
134 LevelData<FArrayBox>& a_surfaceE,
135 LevelData<FArrayBox>& a_basalE,
137 int a_level, Real a_dt);
141 LevelData<FArrayBox>& a_tillWaterDepth,
142 LevelData<FArrayBox>& a_surfaceT,
143 LevelData<FArrayBox>& a_basalT,
146 #elif BISICLES_Z == BISICLES_FULLZ 147 #error BISICLES_FULLZ not implemented 170 (LevelData<FArrayBox>& a_E,
171 LevelData<FArrayBox>& a_tillWaterDepth,
172 LevelData<FArrayBox>& a_surfaceE,
173 LevelData<FArrayBox>& a_basalE,
181 #include "NamespaceFooter.H" virtual void initializeIceInternalEnergy(LevelData< FArrayBox > &a_E, LevelData< FArrayBox > &a_tillWaterDepth, LevelData< FArrayBox > &a_surfaceE, LevelData< FArrayBox > &a_basalE, const AmrIceBase &a_amrIce, int a_level, Real a_dt)=0
virtual void setBdrySlopes(FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)
Set boundary slopes.
Definition: IceInternalEnergyIBC.H:93
virtual void initialize(LevelData< FArrayBox > &a_U)
Definition: IceInternalEnergyIBC.cpp:86
virtual IceInternalEnergyIBC * new_internalEnergyIBC()=0
same as new_physIBC, except pointer cast to an IceInternalEnergyIBC
virtual ~ConstantIceTemperatureIBC()
Definition: IceInternalEnergyIBC.H:121
virtual void primBC(FArrayBox &a_WGdnv, const FArrayBox &a_Wextrap, const FArrayBox &a_W, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time)
Set boundary fluxes.
Definition: IceInternalEnergyIBC.cpp:93
virtual PhysIBC * new_physIBC()
Factory method - this object is its own factory.
Definition: IceInternalEnergyIBC.H:49
Concrete IceInternalEnergyIBC that sets ice temperature to be constant.
Definition: IceInternalEnergyIBC.H:116
Common virtual base class for internal energy transport IBC.
Definition: IceInternalEnergyIBC.H:29
Real T()
Definition: IceInternalEnergyIBC.H:153
virtual ~IceInternalEnergyIBC()
Definition: IceInternalEnergyIBC.H:32
Basic Sigma fourth-order coordinate system on an AMR level.
Definition: LevelSigmaCS.H:48
Partial implementation of IceInternalEnergyIBC, provides reflection (or periodic) boundary conditions...
Definition: IceInternalEnergyIBC.H:164
virtual void define(const ProblemDomain &a_domain, const Real &a_dx)
Definition: IceInternalEnergyIBC.H:39
abstract base class for amr ice sheet models (AmrIce, AMRIceControl)
Definition: AmrIceBase.H:21
ConstantIceTemperatureIBC(Real a_T)
Definition: IceInternalEnergyIBC.H:122
virtual void artViscBC(FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
Definition: IceInternalEnergyIBC.H:102
virtual void basalHeatFlux(LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt)=0
virtual void setIceInternalEnergyBC(LevelData< FArrayBox > &a_E, LevelData< FArrayBox > &a_tillWaterDepth, LevelData< FArrayBox > &a_surfaceE, LevelData< FArrayBox > &a_basalE, const LevelSigmaCS &a_coordSys)=0