|
| MBBoxOp (const MBLevelMap< MAP, MEM > &a_map, const MBIndex &a_index) |
| Non-Trivial Constructor. More...
|
|
| MBBoxOp (MBBoxOp< T, MAP, C_STATE, C_AUX, MEM > &&a_bop)=default |
|
MBBoxOp< T, MAP, C_STATE, C_AUX, MEM > & | operator= (MBBoxOp< T, MAP, C_STATE, C_AUX, MEM > &&a_bop)=default |
|
virtual void | init () |
| Initialize. More...
|
|
virtual T | spectralRadius () const |
| Spectral Radius (User Defined) More...
|
|
void | operator() (StateData &a_output, const StateData &a_state, T a_scale=1.0) const |
| Apply (In Place) More...
|
|
void | operator() (StateData &a_output, Array< StateData, DIM > &a_fluxes, const StateData &a_state, T a_scale=1.0) const |
| Apply (In Place, Flux Output) More...
|
|
virtual void | apply (StateData &a_output, Array< StateData, DIM > &a_fluxes, const StateData &a_state) const |
|
StateData | operator() (const StateData &a_state, Box a_range, T a_scale=1.0) const |
| Apply (Out of Place) More...
|
|
void | boundaryConditions (Array< StateData, DIM > &a_fluxes, const StateData &a_state) const |
| Apply All Boundary Conditions. More...
|
|
void | divergence (StateData &a_divergence, const Array< StateData, DIM > &a_fluxes) const |
|
virtual void | applyBC (Array< StateData, DIM > &a_fluxes, const StateData &a_state, Face a_face) const |
| Apply Boundary Condition (User Specified) More...
|
|
const MBLevelMap< MAP, MEM > & | map () const |
| Get Map. More...
|
|
MBIndex | index () const |
| Get Index. More...
|
|
const MBDisjointBoxLayout & | layout () const |
| Get Layout. More...
|
|
unsigned int | block () const |
| Get Block. More...
|
|
Box | box () const |
| Get Box. More...
|
|
Array< T, DIM > | dx () const |
| Get Grid Spacing (Mapped Coordinates) More...
|
|
Array< T, DIM > | da () const |
| Get Differential Area (Mapped Coordinates) More...
|
|
const BoxData< double, DIM, MEM > & | x () const |
| Get Coordinates. More...
|
|
const BoxData< double, 1, MEM > & | jacobian () const |
| Get Coordinates. More...
|
|
| BoxOp () |
| Default Constructor. More...
|
|
| BoxOp (const DisjointBoxLayout &a_layout, const LevelIndex &a_index, T a_dx) |
| Non-Trivial Isotropic Constructor. More...
|
|
| BoxOp (const DisjointBoxLayout &a_layout, const LevelIndex &a_index, Array< T, DIM > a_dx) |
| Non-Trivial Anisotropic Constructor. More...
|
|
| BoxOp (BoxOp< T, C_STATE, C_AUX, MEM > &&a_bop)=default |
|
BoxOp< T, C_STATE, C_AUX, MEM > & | operator= (BoxOp< T, C_STATE, C_AUX, MEM > &&a_bop)=default |
|
void | define (const DisjointBoxLayout &a_layout, const LevelIndex &a_index, T a_dx) |
| Lazy Isotropic Constructor. More...
|
|
void | define (const DisjointBoxLayout &a_layout, const LevelIndex &a_index, Array< T, DIM > a_dx) |
| Lazy Anisotropic Constructor. More...
|
|
virtual void | operator() (StateData &a_output, const StateData &a_state, const AuxData &a_aux, T a_scale=1.0) const |
| Apply (In Place) More...
|
|
virtual void | operator() (StateData &a_output, Array< StateData, DIM > &a_fluxes, const StateData &a_state, const AuxData &a_aux, T a_scale=1.0) const |
| Apply (In Place, Flux Output) More...
|
|
virtual StateData | operator() (const StateData &a_state, const AuxData &a_aux, Box a_range, T a_scale=1.0) const |
| Apply (Out of Place) More...
|
|
void | applyBC (Array< StateData, DIM > &a_fluxes, const StateData &a_state) const |
| Apply All Boundary Conditions. More...
|
|
virtual void | flux (StateData &a_flux, const StateData &a_state, const AuxData &a_aux, int a_dir) const |
| User Defined Flux. More...
|
|
virtual void | flux (StateData &a_flux, const StateData &a_state, int a_dir) const |
| User Defined Flux. More...
|
|
virtual void | source (StateData &a_source, const StateData &a_state, const AuxData &a_aux) const |
| User Defined Source. More...
|
|
virtual void | source (StateData &a_source, const StateData &a_state) const |
| User Defined Source. More...
|
|
virtual void | diag (StateData &a_diag, const StateData &a_state, const AuxData &a_aux) const |
| User Defined Diagonal. More...
|
|
virtual void | diag (StateData &a_diag, const StateData &a_state) const |
| User Defined Diagonal. More...
|
|
void | setDiagScale (T a_value) |
| TODO: not implemented (see MMB version which has this implemented) More...
|
|
void | setFluxScale (T a_value) |
| Set Flux Term Scaling. More...
|
|
void | setTime (T a_time) |
| Set Time. More...
|
|
void | setRKStage (unsigned int a_stage) |
| Set Runge Kutta Stage. More...
|
|
T | diagScale () const |
| Read Diagonal Term Scaling. More...
|
|
T | fluxScale () const |
| Read Flux Term Scaling. More...
|
|
unsigned int | RKStage () const |
| Read Flux Term Scaling. More...
|
|
T | time () const |
| Get Time. More...
|
|
Array< T, DIM > | dx () const |
| Get Grid Spacing. More...
|
|
T | dxMin () const |
| Get Min Grid Spacing. More...
|
|
T | dxMax () const |
| Get Max Grid Spacing. More...
|
|
const LevelIndex & | index () const |
| Get Index. More...
|
|
const DisjointBoxLayout & | layout () const |
| Get Layout. More...
|
|
const Box & | box () const |
| Get Box. More...
|
|
template<typename T, typename MAP, unsigned int C_STATE, unsigned int C_AUX, MemType MEM = MEMTYPE_DEFAULT>
class Proto::MBBoxOp< T, MAP, C_STATE, C_AUX, MEM >
Abstract Box-Scope Operator for Mapped Multiblock.
MBBoxOp is the class from which all mapped multiblock operators are derived. It is a special case of BoxOp with additional built in capabilities for providing mapped coordinate context.
FIXME: update this for mapped L(phi, rho) = d*D(phi, rho)*I + f*[Div(F(phi, rho)) + S(phi, rho)] L: Full Operator phi: State Variables rho: Auxiliary Variables D: Diagonal Component of L F: Flux Component of L S: Source Component of L I: Identity d: Diagonal Term Scaling f: Flux and Source Term Scaling
TODO: potentially template the op on the data-holder itself (e.g. BoxData) for additional flexibility.
- Template Parameters
-
T | Datatype of the data holder (e.g. int, double, etc.) |
MAP | Datatype of the MBMapOp (this is the same as the MBLevelMap's MAP parameter) |
C_STATE | Number of state variables |
C_AUX | Number of auxiliary (non-state) variables |
MEM | Proto::MemType of the data holder |