Level-Scope Operator.
More...
#include <Proto_LevelOp.H>
|
typedef OpType< T, MEM > | OP |
|
typedef BCType< T, OP::numState(), MEM, PR_CELL > | BC |
|
typedef BoxData< T, OP::numState(), MEM > | StateData |
|
typedef BoxData< T, OP::numAux(), MEM > | AuxData |
|
typedef LevelBoxData< T, OP::numState(), MEM, PR_CELL > | LevelStateData |
|
typedef LevelBoxData< T, OP::numAux(), MEM, PR_CELL > | LevelAuxData |
|
|
| LevelOp () |
| Default Constructor. More...
|
|
| LevelOp (DisjointBoxLayout &a_layout, T a_dx) |
| Non-Trivial Constructor. More...
|
|
| LevelOp (DisjointBoxLayout &a_layout, Array< T, DIM > a_dx) |
|
| LevelOp (LevelOp< OpType, T, BCType, MEM > &&a_op)=default |
|
LevelOp< OpType, T, BCType, MEM > & | operator= (LevelOp< OpType, T, BCType, MEM > &&a_op)=default |
|
void | define (DisjointBoxLayout &a_layout, T a_dx) |
| Lazy Constructor. More...
|
|
void | define (DisjointBoxLayout &a_layout, Array< T, DIM > a_dx) |
|
T | spectralRadius () const |
| Spectral Radius. More...
|
|
void | operator() (LevelStateData &a_output, const LevelStateData &a_state, const LevelAuxData &a_aux, T a_scale=1.0) const |
| Apply. More...
|
|
void | operator() (LevelStateData &a_output, const LevelStateData &a_state, T a_scale=1.0) const |
| Apply. More...
|
|
void | applyBC (LevelStateData &a_state) const |
|
void | setDiagScale (T a_value) |
|
void | setFluxScale (T a_value) |
|
void | setTime (T a_time) |
|
void | setRKStage (unsigned int a_stage) |
|
T | diagScale () const |
|
T | fluxScale () const |
|
T | time () const |
|
unsigned int | RKStage () const |
|
Array< T, DIM > | dx () const |
|
BC & | bc () |
|
const DisjointBoxLayout & | layout () const |
|
const OP & | operator[] (const LevelIndex &a_index) const |
|
OP & | operator[] (const LevelIndex &a_index) |
|
template<template< typename, MemType > class OpType, typename T, template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
class Proto::LevelOp< OpType, T, BCType, MEM >
Level-Scope Operator.
LevelOp contains the necessary tools to apply a user-defined descendent of BoxOp on a level.
- Template Parameters
-
OpType | A BoxOp class |
T | Datatype of the data holder (e.g. int, double, etc.) |
MEM | Proto::MemType of the data holder |
◆ OP
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ BC
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ StateData
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ AuxData
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ LevelStateData
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ LevelAuxData
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ LevelOp() [1/4]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
◆ LevelOp() [2/4]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
Non-Trivial Constructor.
- Parameters
-
◆ LevelOp() [3/4]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
◆ LevelOp() [4/4]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ numState()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
static constexpr unsigned int Proto::LevelOp< OpType, T, BCType, MEM >::numState |
( |
| ) |
|
|
inlinestatic |
◆ numAux()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
static constexpr unsigned int Proto::LevelOp< OpType, T, BCType, MEM >::numAux |
( |
| ) |
|
|
inlinestatic |
◆ ghost()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
Ghost Region Size (State)
Amount of data needed in ghost regions of state variables to apply the operator
◆ auxGhost()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ order()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ operator=()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ define() [1/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
Lazy Constructor.
- Parameters
-
◆ define() [2/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
◆ spectralRadius()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ operator()() [1/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
Apply.
Compute L(phi, rho)
- Parameters
-
output | Evaluated operator (output) |
state | State variables |
aux | Auxiliary variables |
◆ operator()() [2/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
Apply.
Compute L(phi)
- Parameters
-
output | Evaluated operator (output) |
state | State variables |
◆ applyBC()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
This is a stopgap implementation until I can finish the LevelBC implementation
◆ setDiagScale()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
void Proto::LevelOp< OpType, T, BCType, MEM >::setDiagScale |
( |
T |
a_value | ) |
|
|
inline |
◆ setFluxScale()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
void Proto::LevelOp< OpType, T, BCType, MEM >::setFluxScale |
( |
T |
a_value | ) |
|
|
inline |
◆ setTime()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
◆ setRKStage()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType, MemType MEM>
void Proto::LevelOp< OpType, T, BCType, MEM >::setRKStage |
( |
unsigned int |
a_stage | ) |
|
|
inline |
◆ diagScale()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ fluxScale()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ time()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ RKStage()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
unsigned int Proto::LevelOp< OpType, T, BCType, MEM >::RKStage |
( |
| ) |
const |
|
inline |
◆ dx()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ bc()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ layout()
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ operator[]() [1/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ operator[]() [2/2]
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_diagScale
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_fluxScale
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_time
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_rkStage
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_dx
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_layout
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
◆ m_ops
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
std::vector<std::shared_ptr<OP> > Proto::LevelOp< OpType, T, BCType, MEM >::m_ops |
|
private |
◆ m_bc
template<template< typename, MemType > class OpType, typename T , template< typename, unsigned int, MemType, Centering > class BCType = PeriodicBC, MemType MEM = MEMTYPE_DEFAULT>
The documentation for this class was generated from the following file: