Proto  3.2
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Proto::AMRSolver< OpType, T, MEM > Class Template Referenceabstract

AMR Solver. More...

#include <Proto_AMRSolver.H>

Public Types

typedef OpType< T, MEM > BOP
 
typedef LevelOp< OpType, T, PeriodicBC, MEM > LOP
 
typedef AMROp< OpType, T, MEM > AMROP
 
typedef AMRData< T, BOP::numState(), MEM > AMRStateData
 
typedef AMRData< T, BOP::numAux(), MEM > AMRAuxData
 

Public Member Functions

virtual double solve (AMRStateData &a_state, AMRStateData &a_forcing, AMRAuxData &a_aux, int a_maxIter, double a_tolerance)=0
 
virtual double solve (AMRStateData &a_state, AMRStateData &a_forcing, int a_maxIter, double a_tolerance)=0
 

Static Public Member Functions

static constexpr unsigned int numState ()
 
static constexpr unsigned int numAux ()
 

Detailed Description

template<template< typename, MemType > class OpType, typename T, MemType MEM = MEMTYPE_DEFAULT>
class Proto::AMRSolver< OpType, T, MEM >

AMR Solver.

AMR Solver is an interface for building a solver to invert an AMROp. In particular, we would like to solve the equation L(phi) = G where L is defined by an AMROp, G is an external forcing defined on an AMR hierarchy, and phi is the solution, also on a hierarchy.

TODO: specifically, this is an interface for iterative solvers.

Member Typedef Documentation

◆ BOP

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
typedef OpType<T, MEM> Proto::AMRSolver< OpType, T, MEM >::BOP

◆ LOP

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
typedef LevelOp<OpType, T, PeriodicBC, MEM> Proto::AMRSolver< OpType, T, MEM >::LOP

◆ AMROP

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
typedef AMROp<OpType, T, MEM> Proto::AMRSolver< OpType, T, MEM >::AMROP

◆ AMRStateData

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
typedef AMRData<T, BOP::numState(), MEM> Proto::AMRSolver< OpType, T, MEM >::AMRStateData

◆ AMRAuxData

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
typedef AMRData<T, BOP::numAux(), MEM> Proto::AMRSolver< OpType, T, MEM >::AMRAuxData

Member Function Documentation

◆ numState()

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
static constexpr unsigned int Proto::AMRSolver< OpType, T, MEM >::numState ( )
inlinestatic

◆ numAux()

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
static constexpr unsigned int Proto::AMRSolver< OpType, T, MEM >::numAux ( )
inlinestatic

◆ solve() [1/2]

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
virtual double Proto::AMRSolver< OpType, T, MEM >::solve ( AMRStateData a_state,
AMRStateData a_forcing,
AMRAuxData a_aux,
int  a_maxIter,
double  a_tolerance 
)
inlinepure virtual

◆ solve() [2/2]

template<template< typename, MemType > class OpType, typename T , MemType MEM = MEMTYPE_DEFAULT>
virtual double Proto::AMRSolver< OpType, T, MEM >::solve ( AMRStateData a_state,
AMRStateData a_forcing,
int  a_maxIter,
double  a_tolerance 
)
inlinepure virtual

The documentation for this class was generated from the following file: