11 #ifndef _AMRMELANGE_H_ 12 #define _AMRMELANGE_H_ 17 #include "NamespaceHeader.H" 19 #define MELANGE_N_GHOST 1 20 #define MELANGE_N_COMP 1 67 Real m_diffusion_factor;
73 Vector<DisjointBoxLayout> m_grids;
75 Vector<RealVect> m_dx;
82 const LevelData<FArrayBox>*
melange(
int a_level)
const;
87 void define(
const Vector<DisjointBoxLayout>& a_grids,
88 const Vector<int>& a_ratio,
90 const RealVect& a_crseDx);
106 void writePlotData(LevelData<FArrayBox>& a_data,
int a_level);
117 void readCheckData(HDF5Handle& a_handle, HDF5HeaderData& a_header,
int a_level,
const DisjointBoxLayout& a_grids);
131 void computeSource(Vector<LevelData<FArrayBox>* >& a_source,
132 AmrIce& a_amrIce, Real a_dt);
134 void updateMelange(Vector<LevelData<FArrayBox>* >& a_melange,
135 const Vector<LevelData<FArrayBox>* >& a_source,
136 const Vector<RefCountedPtr<LevelSigmaCS> >& geometry,
147 bool m_next_increment_positive;
163 void writePlotData(LevelData<FArrayBox>& a_data,
int a_level);
174 void readCheckData(HDF5Handle& a_handle, HDF5HeaderData& a_header,
int a_level,
const DisjointBoxLayout& a_grids);
189 void define(
const ProblemDomain& a_domain,
197 PhysIBC* new_physIBC();
200 void initialize(LevelData<FArrayBox>& a_U);
203 void primBC(FArrayBox& a_WGdnv,
204 const FArrayBox& a_Wextrap,
205 const FArrayBox& a_W,
207 const Side::LoHiSide& a_side,
216 void setBdrySlopes(FArrayBox& a_dW,
217 const FArrayBox& a_W,
224 void artViscBC(FArrayBox& a_F,
225 const FArrayBox& a_U,
226 const FArrayBox& a_divVel,
233 #include "NamespaceFooter.H" Vector< LevelData< FArrayBox > *> m_melange
Definition: AMRMelange.H:127
void increment(AmrIce &a_amrIce, Real a_scale)
increment the melange thickness by a_scale * ice thickness
Definition: AMRMelange.cpp:293
void addCheckVars(Vector< std::string > &a_vars)
fill a_var with the names of variables to add to the checkpoint file
Definition: AMRMelange.cpp:498
part of Observer-Observee implementation
Definition: AmrIce.H:1418
const LevelData< FArrayBox > * melange(int a_level) const
Definition: AMRMelange.cpp:153
int finestLevel() const
Definition: AMRMelange.H:83
~AMRMelange()
Definition: AMRMelange.cpp:114
class to manage non-subcycled AMR ice-sheet model
Definition: AmrIce.H:40
Contains an AMRMelange, responds to changes in the ice sheet state.
Definition: AMRMelange.H:144
Continuum melange transport model.
Definition: AMRMelange.H:62
void writeCheckData(HDF5Handle &a_handle, int a_level)
copy level a_level checkpoint data to LevelData<FArrayBox>& a_data
Definition: AMRMelange.cpp:504
void writePlotData(LevelData< FArrayBox > &a_data, int a_level)
copy level a_level plot data to LevelData<FArrayBox>& a_data
Definition: AMRMelange.cpp:487
abstract class defining the surface flux interface
Definition: SurfaceFlux.H:39
void timestep(Real a_dt, AmrIce &a_amrIce)
advance by timestep a_dt. a_dt must satisfy CFL
Definition: AMRMelange.cpp:308
void readCheckData(HDF5Handle &a_handle, HDF5HeaderData &a_header, int a_level, const DisjointBoxLayout &a_grids)
read level a_level checkpoint data from LevelData<FArrayBox>& a_data
Definition: AMRMelange.cpp:510
const LevelData< FArrayBox > * melangeThickness(int lev)
Definition: AMRMelange.H:120
Notification
Definition: AmrIce.H:1438
void addPlotVars(Vector< std::string > &a_vars)
add the names of variables to add to the plot file to a_var, in the order they will be written ...
Definition: AMRMelange.cpp:482
void define(const Vector< DisjointBoxLayout > &a_grids, const Vector< int > &a_ratio, int a_finestLevel, const RealVect &a_crseDx)
Definition: AMRMelange.cpp:175
MelangePhysIBC()
Definition: AMRMelange.H:185
PhysIBC for the melange model.
Definition: AMRMelange.H:180
AMRMelange()
Definition: AMRMelange.cpp:133