24 #include "NamespaceHeader.H" 49 virtual void define(
const ProblemDomain& a_domain,
58 const Real& a_seaLevel,
59 const RealVect& a_widthScale = RealVect::Unit);
72 virtual void initialize(LevelData<FArrayBox>& a_U);
79 const RealVect& a_domainSize,
82 const int a_refRatio);
88 virtual void primBC(FArrayBox& a_WGdnv,
89 const FArrayBox& a_Wextrap,
92 const Side::LoHiSide& a_side,
103 const FArrayBox& a_W,
112 const FArrayBox& a_U,
113 const FArrayBox& a_divVel,
131 const ProblemDomain& a_domain,
132 Real a_time, Real a_dt);
140 const ProblemDomain& a_domain,
141 const RealVect& a_dx,
142 Real a_time, Real a_dt);
185 void operator=(
const HumpIBC& a_input)
187 MayDay::Error(
"invalid operator");
193 MayDay::Error(
"invalid operator");
197 #include "NamespaceFooter.H" RealVect m_widthScale
Definition: HumpIBC.H:160
Real m_radSqr
Definition: HumpIBC.H:153
virtual IceThicknessIBC * new_thicknessIBC()
Factory method - this object is its own factory.
Definition: HumpIBC.cpp:181
virtual void modifyVelocityRHS(LevelData< FArrayBox > &a_rhs, LevelSigmaCS &a_coords, const ProblemDomain &a_domain, Real a_time, Real a_dt)
if appropriate, modify velocity solve RHS in a problem-dependent way.
Definition: HumpIBC.cpp:329
void setParameters(Real a_maxThickness, Real a_radSqr, Real a_baseElevation, Real a_minThickness, RealVect a_center, const Real &a_seaLevel, const RealVect &a_widthScale=RealVect::Unit)
sets parameters for the hump problem
Definition: HumpIBC.cpp:154
Physical/domain initial and boundary conditions for ice-sheet problems.
Definition: IceThicknessIBC.H:84
virtual void define(const ProblemDomain &a_domain, const Real &a_dx)
Define the object.
Definition: HumpIBC.cpp:147
HumpIBC()
Constructor.
Definition: HumpIBC.cpp:128
bool m_paramsSet
Definition: HumpIBC.H:173
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: HumpIBC.cpp:216
Real m_baseElevation
Definition: HumpIBC.H:147
Real m_seaLevel
Definition: HumpIBC.H:167
bool m_doHOinit
Definition: HumpIBC.H:181
Real m_minThickness
Definition: HumpIBC.H:165
bool m_isBCsetUp
Definition: HumpIBC.H:170
virtual RefCountedPtr< CompGridVTOBC > velocitySolveBC()
return boundary condition for Ice velocity solve
Definition: HumpIBC.cpp:313
virtual ~HumpIBC()
Destructor.
Definition: HumpIBC.cpp:136
Real m_maxThickness
max ice sheet thickness
Definition: HumpIBC.H:150
virtual void initializeIceGeometry(LevelSigmaCS &a_coords, const RealVect &a_dx, const RealVect &a_domainSize, const Real &a_time, const LevelSigmaCS *a_crseCoords, const int a_refRatio)
set up initial ice state
Definition: HumpIBC.cpp:394
virtual void initialize(LevelData< FArrayBox > &a_U)
Set up initial conditions.
Definition: HumpIBC.cpp:206
Basic Sigma fourth-order coordinate system on an AMR level.
Definition: LevelSigmaCS.H:48
virtual void setSurfaceHeightBCs(LevelData< FArrayBox > &a_zSurface, LevelSigmaCS &a_coords, const ProblemDomain &a_domain, const RealVect &a_dx, Real a_time, Real a_dt)
set non-periodic ghost cells for surface height z_s.
Definition: HumpIBC.cpp:342
RealVect m_center
Definition: HumpIBC.H:155
virtual void setBdrySlopes(FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)
Set boundary slopes.
Definition: HumpIBC.cpp:285
RefCountedPtr< CompGridVTOBC > m_velBCs
Definition: HumpIBC.H:178
Physical/domain initial and boundary conditions.
Definition: HumpIBC.H:31
RealVect m_domainSize
Definition: HumpIBC.H:162
void setupBCs()
set up bc's based on parmparse inputs
Definition: HumpIBC.cpp:528
virtual void artViscBC(FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
Adjust boundary fluxes to account for artificial viscosity.
Definition: HumpIBC.cpp:297