Proto
3.2
|
Level Solver. More...
#include <Proto_LevelSolver.H>
Public Types | |
typedef OpType< T, MEM > | BOP |
typedef LevelOp< OpType, T, PeriodicBC, MEM > | LOP |
typedef LevelBoxData< T, BOP::numState(), MEM, PR_CELL > | LevelStateData |
typedef LevelBoxData< T, BOP::numAux(), MEM, PR_CELL > | LevelAuxData |
Public Member Functions | |
virtual double | solve (LevelStateData &a_state, LevelStateData &a_forcing, LevelAuxData &a_aux, int a_maxIter, double a_tolerance)=0 |
virtual double | solve (LevelStateData &a_state, LevelStateData &a_forcing, int a_maxIter, double a_tolerance)=0 |
Static Public Member Functions | |
static constexpr unsigned int | numState () |
static constexpr unsigned int | numAux () |
Level Solver.
Level Solver is an interface for building a solver to invert a LevelOp. In particular, we would like to solve the equation L(phi) = G where L is defined by a LevelOp, G is an external forcing defined on a level, and phi is the solution, also on a level.
TODO: specifically, this is an interface for iterative solvers.
typedef OpType<T, MEM> Proto::LevelSolver< OpType, T, MEM >::BOP |
typedef LevelOp<OpType, T, PeriodicBC, MEM> Proto::LevelSolver< OpType, T, MEM >::LOP |
typedef LevelBoxData<T, BOP::numState(), MEM, PR_CELL> Proto::LevelSolver< OpType, T, MEM >::LevelStateData |
typedef LevelBoxData<T, BOP::numAux(), MEM, PR_CELL> Proto::LevelSolver< OpType, T, MEM >::LevelAuxData |
|
inlinestatic |
|
inlinestatic |
References Proto::LevelSolver< OpType, T, MEM >::solve().
|
inlinepure virtual |
Referenced by Proto::LevelSolver< OpType, T, MEM >::numAux().
|
inlinepure virtual |