Proto
3.2
|
#include <Proto_AMROp.H>
Public Types | |
typedef OPType< T, MEM > | BOP |
typedef LevelOp< OPType, T, PeriodicBC, MEM > | LOP |
typedef AMRData< T, BOP::numState(), MEM, PR_CELL > | AMRStateData |
typedef AMRData< T, BOP::numAux(), MEM, PR_CELL > | AMRAuxData |
typedef LevelBoxData< T, BOP::numState(), MEM, PR_CELL > | LevelStateData |
typedef LevelBoxData< T, BOP::numAux(), MEM, PR_CELL > | LevelAuxData |
typedef BoxData< T, BOP::numState(), MEM > | StateData |
typedef BoxData< T, BOP::numAux(), MEM > | AuxData |
Public Member Functions | |
AMROp () | |
Default Constructor. More... | |
AMROp (AMRGrid &a_grid, T a_cdx) | |
Non-Trivial Constructor. More... | |
AMROp (AMRGrid &a_grid, Array< T, DIM > &a_cdx) | |
void | define (AMRGrid &a_grid, T a_cdx) |
Lazy Constructor. More... | |
void | define (AMRGrid &a_grid, Array< T, DIM > &a_cdx) |
void | operator() (AMRStateData &a_output, const AMRStateData &a_state, const AMRAuxData &a_aux, T a_scale=1.0) |
Apply. More... | |
void | operator() (AMRStateData &a_output, AMRStateData &a_state, T a_scale=1.0) |
Apply. More... | |
void | levelApply (LevelStateData &a_output, AMRStateData &a_state, AMRAuxData &a_aux, int a_level, T a_scale=1.0) |
Level Apply. More... | |
void | levelApply (LevelStateData &a_output, AMRStateData &a_state, int a_level, T a_scale=1.0) |
Level Apply. More... | |
void | reflux (LevelStateData &a_crseOut, LevelStateData &a_crseState, LevelStateData &a_fineState, int a_crseLevel, T a_scale) const |
Reflux. More... | |
InterpStencil< T > & | interpStencil (int a_level) |
void | setDiagScale (T a_value, int a_gridFactor=0) |
void | setFluxScale (T a_value, int a_gridFactor=0) |
Array< T, DIM > | dx (int a_level) const |
const LOP & | levelOp (int a_level) const |
const BOP & | boxOp (int a_level, const LevelIndex &a_index) const |
Static Public Member Functions | |
static constexpr unsigned int | numState () |
static constexpr unsigned int | numAux () |
static Point | ghost () |
Ghost Region Size (State) More... | |
static Point | auxGhost () |
Ghost Region Size (Auxiliary) More... | |
static int | order () |
Private Attributes | |
bool | m_defined |
AMRGrid | m_grid |
std::vector< Array< T, DIM > > | m_dx |
std::vector< std::shared_ptr< LOP > > | m_levelOps |
std::vector< std::shared_ptr< LevelFluxRegister< T, BOP::numState(), MEM > > > | m_fluxRegisters |
std::vector< InterpStencil< T > > | m_interp |
AMR-Scope Operator.
AMROp contains the necessary tools to apply a user-defined descendent of BoxOp on an AMR hierarchy.
OpType | A BoxOp class |
T | Datatype of the data holder (e.g. int, double, etc.) |
MEM | Proto::MemType of the data holder |
typedef OPType<T, MEM> Proto::AMROp< OPType, T, MEM >::BOP |
typedef LevelOp<OPType, T, PeriodicBC, MEM> Proto::AMROp< OPType, T, MEM >::LOP |
typedef AMRData<T, BOP::numState(), MEM, PR_CELL> Proto::AMROp< OPType, T, MEM >::AMRStateData |
typedef AMRData<T, BOP::numAux(), MEM, PR_CELL> Proto::AMROp< OPType, T, MEM >::AMRAuxData |
typedef LevelBoxData<T, BOP::numState(), MEM, PR_CELL> Proto::AMROp< OPType, T, MEM >::LevelStateData |
typedef LevelBoxData<T, BOP::numAux(), MEM, PR_CELL> Proto::AMROp< OPType, T, MEM >::LevelAuxData |
typedef BoxData<T, BOP::numState(), MEM> Proto::AMROp< OPType, T, MEM >::StateData |
typedef BoxData<T, BOP::numAux(), MEM> Proto::AMROp< OPType, T, MEM >::AuxData |
|
inline |
Default Constructor.
Referenced by Proto::AMROp< OPType, T, MEM >::order().
|
inline |
Non-Trivial Constructor.
grid | AMR Grid |
cdx | Coarsest level grid spacing |
|
inline |
|
inlinestatic |
|
inlinestatic |
Referenced by Proto::AMROp< OPType, T, MEM >::auxGhost().
|
inlinestatic |
Ghost Region Size (State)
Amount of data needed in ghost regions of state variables to apply the operator
|
inlinestatic |
Ghost Region Size (Auxiliary)
Amount of data needed in ghost regions of auxiliary variables to apply the operator
References Proto::AMROp< OPType, T, MEM >::numAux(), and Proto::Point::Zeros().
|
inlinestatic |
References Proto::AMROp< OPType, T, MEM >::AMROp().
|
inline |
Lazy Constructor.
grid | AMR Grid |
cdx | Coarsest level grid spacing |
|
inline |
|
inline |
Apply.
Compute L(phi, rho) on all levels of the hierarchy including reflux corrections and boundary condition interpolation where necessary
output | Evaluated operator (output) |
state | State variables |
aux | Auxiliary variables |
|
inline |
Apply.
Compute L(phi) on all levels of the hierarchy including reflux corrections and boundary condition interpolation where necessary
output | Evaluated operator (output) |
state | State variables |
|
inline |
Level Apply.
Compute L(phi, rho) on a specified level of the hierarchy including reflux corrections and boundary condition interpolation.
output | Evaluated operator (output) |
state | State variables |
aux | Auxiliary variables |
level | Specified level of application |
|
inline |
Level Apply.
Compute L(phi) on a specified level of the hierarchy including reflux corrections and boundary condition interpolation.
output | Evaluated operator (output) |
state | State variables |
level | Specified level of application |
|
inline |
Reflux.
Given state variable information on two levels l and l+1, compute and apply the appropriate reflux correction to a dataset on level l.
crseOut | The coarse level dataset to which refluxing will be applied |
crseState | coarse level state data (level l) |
fineState | fine level state data (level l+1) |
crseLevel | The level on which refluxing is computed (level l) |
scale | An optional value which will scale the reflux correction |
|
inline |
|
inline |
|
inline |
|
inline |
References Proto::AMROp< OPType, T, MEM >::m_dx.
|
inline |
References Proto::AMROp< OPType, T, MEM >::m_levelOps.
Referenced by Proto::AMROp< OPType, T, MEM >::boxOp().
|
inline |
References Proto::AMROp< OPType, T, MEM >::levelOp().
|
private |
|
private |
|
private |
Referenced by Proto::AMROp< OPType, T, MEM >::dx().
|
private |
Referenced by Proto::AMROp< OPType, T, MEM >::levelOp().
|
private |
|
private |