Generic implementation of the Berger-Oliger method. More...
#include <AMRSolver.h>
Public Types | |
typedef GridData< FlagType, dim > | flag_data_type |
typedef base::vec_grid_fct_type | vec_grid_fct_type |
typedef base::vec_grid_data_type | vec_grid_data_type |
typedef base::grid_fct_type | grid_fct_type |
typedef base::grid_data_type | grid_data_type |
typedef base::integrator_type | integrator_type |
typedef base::initial_condition_type | initial_condition_type |
typedef base::boundary_conditions_type | boundary_conditions_type |
typedef base::leveltransfer_type | leveltransfer_type |
typedef base::flagging_type | flagging_type |
typedef base::fixup_type | fixup_type |
Public Member Functions | |
AMRSolver (integrator_type &integ, initial_condition_type &init, boundary_conditions_type &bc) | |
virtual | ~AMRSolver () |
virtual void | register_at (ControlDevice &Ctrl, const std::string &prefix) |
virtual void | register_at (ControlDevice &Ctrl) |
virtual void | SetupData () |
virtual void | Initialize_ (const double &dt_start) |
virtual bool | Restart_ (const char *CheckpointFile) |
virtual void | Checkpointing_ (const char *CheckpointFile) |
virtual void | Restart_ (std::stringstream &CheckpointStr) |
virtual void | Checkpointing_ (std::stringstream &CheckpointStr) |
virtual double | Tick (int VariableTimeStepping, const double dtv[], const double cflv[], int &Rejections) |
virtual double | IntegrateLevel (vec_grid_fct_type &u, const int Time, const int Level, double t, double dt, bool DoFixup, double tc, const int which) |
virtual double | UpdateLevel (vec_grid_fct_type &u, const int &Time, const int &Level, double t, double dtl, bool DoFixup, double tc, const int &which, const int &mpass) |
virtual void | SetBndry (vec_grid_fct_type &u, const int Time, const int Level, double t) |
const int & | Bufferwidth () const |
int | Bufferwidth () |
Protected Member Functions | |
virtual void | RegridLevel (const int Time, const int BaseLevel, BBoxList &bblist, bool TakeListOnFinestLevel) |
virtual void | RecomposeGridHierarchy (const int Time, const int Level, bool ShadowAllowed, bool DoFixup, bool RecomposeBaseLev, bool RecomposeHighLev) |
virtual void | BeforeLevelStep (const int Level) |
virtual void | AfterLevelStep (const int Level) |
virtual void | AdvanceLevel (const int Level, int RegridEvery, bool RegridDone, bool ShadowAllowed, bool DoFixup, bool RecomposeBaseLev, bool RecomposeHighLev) |
void | CheckLevel (vec_grid_fct_type &u, const int &time, const int &level, const double &t, const char *text) |
BBox | BoundaryBBox (const BBox &whole, const int s) |
Protected Attributes | |
int | FixupPar |
int | RegridEvery |
double | MinEfficiency |
int | BlockWidth |
int | OverlapWidth |
int | BufferWidth |
int | NestingBuffer |
int | NoTimeRefine |
int | AdaptBndTimeInterpolate |
int | PlotFlags |
double * | t |
double * | dt |
double * | cfl_new |
Generic implementation of the Berger-Oliger method.
typedef base::boundary_conditions_type AMRSolver< VectorType, FixupType, FlagType, dim >::boundary_conditions_type |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
typedef base::fixup_type AMRSolver< VectorType, FixupType, FlagType, dim >::fixup_type |
typedef GridData<FlagType,dim> AMRSolver< VectorType, FixupType, FlagType, dim >::flag_data_type |
typedef base::flagging_type AMRSolver< VectorType, FixupType, FlagType, dim >::flagging_type |
typedef base::grid_data_type AMRSolver< VectorType, FixupType, FlagType, dim >::grid_data_type |
typedef base::grid_fct_type AMRSolver< VectorType, FixupType, FlagType, dim >::grid_fct_type |
typedef base::initial_condition_type AMRSolver< VectorType, FixupType, FlagType, dim >::initial_condition_type |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
typedef base::integrator_type AMRSolver< VectorType, FixupType, FlagType, dim >::integrator_type |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
typedef base::leveltransfer_type AMRSolver< VectorType, FixupType, FlagType, dim >::leveltransfer_type |
typedef base::vec_grid_data_type AMRSolver< VectorType, FixupType, FlagType, dim >::vec_grid_data_type |
typedef base::vec_grid_fct_type AMRSolver< VectorType, FixupType, FlagType, dim >::vec_grid_fct_type |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
AMRSolver< VectorType, FixupType, FlagType, dim >::AMRSolver | ( | integrator_type & | integ, | |
initial_condition_type & | init, | |||
boundary_conditions_type & | bc | |||
) | [inline] |
virtual AMRSolver< VectorType, FixupType, FlagType, dim >::~AMRSolver | ( | ) | [inline, virtual] |
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::AdvanceLevel | ( | const int | Level, | |
int | RegridEvery, | |||
bool | RegridDone, | |||
bool | ShadowAllowed, | |||
bool | DoFixup, | |||
bool | RecomposeBaseLev, | |||
bool | RecomposeHighLev | |||
) | [inline, protected, virtual] |
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::AfterLevelStep | ( | const int | Level | ) | [inline, protected, virtual] |
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::BeforeLevelStep | ( | const int | Level | ) | [inline, protected, virtual] |
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel().
BBox AMRSolver< VectorType, FixupType, FlagType, dim >::BoundaryBBox | ( | const BBox & | whole, | |
const int | s | |||
) | [inline, protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::Bufferwidth | ( | ) | [inline] |
const int& AMRSolver< VectorType, FixupType, FlagType, dim >::Bufferwidth | ( | ) | const [inline] |
Referenced by ResolvePhi< VectorType, Fixup, FlagType, dim >::SetFlags().
void AMRSolver< VectorType, FixupType, FlagType, dim >::CheckLevel | ( | vec_grid_fct_type & | u, | |
const int & | time, | |||
const int & | level, | |||
const double & | t, | |||
const char * | text | |||
) | [inline, protected] |
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::Checkpointing_ | ( | std::stringstream & | CheckpointStr | ) | [inline, virtual] |
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::Checkpointing_ | ( | const char * | CheckpointFile | ) | [inline, virtual] |
Implements AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::Checkpointing_(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::Tick().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::Initialize_ | ( | const double & | dt_start | ) | [inline, virtual] |
Implements AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >::Initialize_(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::Initialize_().
virtual double AMRSolver< VectorType, FixupType, FlagType, dim >::IntegrateLevel | ( | vec_grid_fct_type & | u, | |
const int | Time, | |||
const int | Level, | |||
double | t, | |||
double | dt, | |||
bool | DoFixup, | |||
double | tc, | |||
const int | which | |||
) | [inline, virtual] |
Implements AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::IntegrateLevel().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::RecomposeGridHierarchy | ( | const int | Time, | |
const int | Level, | |||
bool | ShadowAllowed, | |||
bool | DoFixup, | |||
bool | RecomposeBaseLev, | |||
bool | RecomposeHighLev | |||
) | [inline, protected, virtual] |
Reimplemented in AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::RecomposeGridHierarchy().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::register_at | ( | ControlDevice & | Ctrl | ) | [inline, virtual] |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::register_at | ( | ControlDevice & | Ctrl, | |
const std::string & | prefix | |||
) | [inline, virtual] |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::register_at(), AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >::register_at(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::register_at().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::RegridLevel | ( | const int | Time, | |
const int | BaseLevel, | |||
BBoxList & | bblist, | |||
bool | TakeListOnFinestLevel | |||
) | [inline, protected, virtual] |
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::Restart_ | ( | std::stringstream & | CheckpointStr | ) | [inline, virtual] |
virtual bool AMRSolver< VectorType, FixupType, FlagType, dim >::Restart_ | ( | const char * | CheckpointFile | ) | [inline, virtual] |
Implements AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::Restart_(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::Tick().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::SetBndry | ( | vec_grid_fct_type & | u, | |
const int | Time, | |||
const int | Level, | |||
double | t | |||
) | [inline, virtual] |
Reimplemented in AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Initialize_(), AMRSolver< VectorType, FixupType, FlagType, DIM >::IntegrateLevel(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::SetBndry().
virtual void AMRSolver< VectorType, FixupType, FlagType, dim >::SetupData | ( | ) | [inline, virtual] |
Reimplemented from AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in SolverSpecific, SolverSpecific, AMRCoupledGFMSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, dim >, AMRGFMSolver< VectorType, FixupType, FlagType, dim >, AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >, AMRELCGFMSolver< VectorType, FixupType, FlagType, DIM >, AMRGFMSolver< VectorType, FixupType, FlagType, DIM >, and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >.
Referenced by AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >::SetupData(), and AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::SetupData().
virtual double AMRSolver< VectorType, FixupType, FlagType, dim >::Tick | ( | int | VariableTimeStepping, | |
const double | dtv[], | |||
const double | cflv[], | |||
int & | Rejections | |||
) | [inline, virtual] |
Implements AMRSolverBase< VectorType, FixupType, FlagType, dim >.
Reimplemented in AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >.
Referenced by AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >::Tick().
virtual double AMRSolver< VectorType, FixupType, FlagType, dim >::UpdateLevel | ( | vec_grid_fct_type & | u, | |
const int & | Time, | |||
const int & | Level, | |||
double | t, | |||
double | dtl, | |||
bool | DoFixup, | |||
double | tc, | |||
const int & | which, | |||
const int & | mpass | |||
) | [inline, virtual] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::AdaptBndTimeInterpolate [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::BlockWidth [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::BufferWidth [protected] |
double* AMRSolver< VectorType, FixupType, FlagType, dim >::cfl_new [protected] |
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::AMRSolver(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Initialize_(), AMRSolver< VectorType, FixupType, FlagType, DIM >::SetupData(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Tick(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::~AMRSolver().
double * AMRSolver< VectorType, FixupType, FlagType, dim >::dt [protected] |
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::AMRSolver(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Initialize_(), AMRSolver< VectorType, FixupType, FlagType, DIM >::RegridLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::SetupData(), AMRSolver< VectorType, FixupType, FlagType, DIM >::UpdateLevel(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::~AMRSolver().
int AMRSolver< VectorType, FixupType, FlagType, dim >::FixupPar [protected] |
double AMRSolver< VectorType, FixupType, FlagType, dim >::MinEfficiency [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::NestingBuffer [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::NoTimeRefine [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::OverlapWidth [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::PlotFlags [protected] |
int AMRSolver< VectorType, FixupType, FlagType, dim >::RegridEvery [protected] |
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::Initialize_(), AMRPreAdaptSolver< VectorType, FixupType, FlagType, dim >::Initialize_(), AMRSolver< VectorType, FixupType, FlagType, DIM >::register_at(), AMRSolver< VectorType, FixupType, FlagType, DIM >::SetupData(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::Tick().
double* AMRSolver< VectorType, FixupType, FlagType, dim >::t [protected] |
Referenced by AMRSolver< VectorType, FixupType, FlagType, DIM >::AdvanceLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::AMRSolver(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Initialize_(), AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::Output(), AMRSolver< VectorType, FixupType, FlagType, DIM >::RecomposeGridHierarchy(), AMRSolver< VectorType, FixupType, FlagType, DIM >::RegridLevel(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Restart_(), AMRGFMSolver< MicroType, FixupType, FlagType, DIM >::Restart_(), AMRSolver< VectorType, FixupType, FlagType, DIM >::SetupData(), AMRSolver< VectorType, FixupType, FlagType, DIM >::Tick(), and AMRSolver< VectorType, FixupType, FlagType, DIM >::~AMRSolver().