13 #ifndef _SURFACEFLUX_H_ 14 #define _SURFACEFLUX_H_ 16 #include "LevelData.H" 17 #include "FArrayBox.H" 19 #include "NamespaceHeader.H" 63 int a_level, Real a_dt) = 0;
72 virtual void evaluate(LevelData<FArrayBox>& a_data,
74 int a_level, Real a_dt)
113 MayDay::Error(
"invalid operator");
140 int a_level, Real a_dt);
144 void operator=(
const zeroFlux& a_input)
146 MayDay::Error(
"invalid operator");
152 MayDay::Error(
"invalid operator");
175 m_fluxVal(a_fluxVal), m_isValSet(true){;};
183 int a_level, Real a_dt);
186 void setFluxVal(
const Real& a_fluxVal);
197 MayDay::Error(
"invalid operator");
203 MayDay::Error(
"invalid operator");
210 #include "NamespaceFooter.H" 213 #endif // multiple-include preventer virtual ~SurfaceFlux()
virtual destructor
Definition: SurfaceFlux.H:45
zeroFlux()
Definition: SurfaceFlux.H:132
simple implementation of SurfaceFlux which sets surface flux to a constant in space and time ...
Definition: SurfaceFlux.H:168
virtual ~zeroFlux()
Definition: SurfaceFlux.H:134
abstract class defining the surface flux interface
Definition: SurfaceFlux.H:39
virtual void evaluate(LevelData< FArrayBox > &a_data, const AmrIceBase &a_amrIce, int a_level, Real a_dt)
Sub-classes of this class turned out to be useful for various data apart from thickness fluxes...
Definition: SurfaceFlux.H:72
SurfaceFlux SurfaceData
Definition: SurfaceFlux.H:23
simple implementation of SurfaceFlux which sets surface flux to zero
Definition: SurfaceFlux.H:129
static SurfaceFlux * parse(const char *a_prefix)
assemble a SurfaceFlux* object from ParmParse inputs
Definition: SurfaceFlux.cpp:106
virtual ~constantFlux()
Definition: SurfaceFlux.H:177
zeroFlux ZeroData
Definition: SurfaceFlux.H:157
virtual void surfaceThicknessFlux(LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt)=0
define source term for thickness evolution and place it in flux
virtual SurfaceFlux * new_surfaceFlux()=0
factory method: return a pointer to a new SurfaceFlux object
bool m_isValSet
Definition: SurfaceFlux.H:191
Real m_fluxVal
Definition: SurfaceFlux.H:189
constantFlux(const Real &a_fluxVal)
Construct a constantFlux with a given constant value.
Definition: SurfaceFlux.H:174
abstract base class for amr ice sheet models (AmrIce, AMRIceControl)
Definition: AmrIceBase.H:21
constantFlux ConstantData
Definition: SurfaceFlux.H:207