OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Private Attributes | List of all members
AmrBoundary< Level > Class Template Referenceabstract

#include <AmrBoundary.h>

Inheritance diagram for AmrBoundary< Level >:
Inheritance graph
[legend]

Public Types

typedef Level::umap_t umap_t
 
typedef Level::lo_t lo_t
 
typedef Level::go_t go_t
 
typedef Level::scalar_t scalar_t
 
typedef Level::basefab_t basefab_t
 
typedef amr::AmrIntVect_t AmrIntVect_t
 

Public Member Functions

 AmrBoundary (go_t nPoints)
 
bool isBoundary (const AmrIntVect_t &iv, const go_t *nr) const
 
bool isBoundary (const AmrIntVect_t &iv, const lo_t &dir, const go_t *nr) const
 
virtual void apply (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)=0
 
const go_tgetNumberOfPoints () const
 

Private Attributes

const go_t nPoints_m
 Number of points used for boundary. More...
 

Detailed Description

template<class Level>
class AmrBoundary< Level >

Definition at line 9 of file AmrBoundary.h.

Member Typedef Documentation

template<class Level>
typedef amr::AmrIntVect_t AmrBoundary< Level >::AmrIntVect_t

Definition at line 17 of file AmrBoundary.h.

template<class Level>
typedef Level::basefab_t AmrBoundary< Level >::basefab_t

Definition at line 16 of file AmrBoundary.h.

template<class Level>
typedef Level::go_t AmrBoundary< Level >::go_t

Definition at line 14 of file AmrBoundary.h.

template<class Level>
typedef Level::lo_t AmrBoundary< Level >::lo_t

Definition at line 13 of file AmrBoundary.h.

template<class Level>
typedef Level::scalar_t AmrBoundary< Level >::scalar_t

Definition at line 15 of file AmrBoundary.h.

template<class Level>
typedef Level::umap_t AmrBoundary< Level >::umap_t

Definition at line 12 of file AmrBoundary.h.

Constructor & Destructor Documentation

template<class Level>
AmrBoundary< Level >::AmrBoundary ( go_t  nPoints)
inline
Parameters
nPointsused in stencil for applying the boundary

Definition at line 24 of file AmrBoundary.h.

Member Function Documentation

template<class Level>
virtual void AmrBoundary< Level >::apply ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
pure virtual

Apply boundary in a certain direction.

Parameters
ivis the cell where we want to have the boundary value
dirdirection of physical / mesh boundary
mapwith indices global matrix indices and matrix values
valuematrix entry (coefficients)
valueof matrix entry that is supposed for index
nris the number of grid points

Implemented in AmrOpenBoundary< Level >, AmrDirichletBoundary< Level >, and AmrPeriodicBoundary< Level >.

template<class Level>
const go_t& AmrBoundary< Level >::getNumberOfPoints ( ) const
inline
Returns
the number of stencil points required

Definition at line 68 of file AmrBoundary.h.

References AmrBoundary< Level >::nPoints_m.

template<class Level>
bool AmrBoundary< Level >::isBoundary ( const AmrIntVect_t iv,
const go_t nr 
) const
inline

Check if we are on the physical boundary (all directions)

Parameters
ivcell to check
nris the number of grid points

Definition at line 32 of file AmrBoundary.h.

template<class Level>
bool AmrBoundary< Level >::isBoundary ( const AmrIntVect_t iv,
const lo_t dir,
const go_t nr 
) const
inline

Check if we are on the physical boundary (certain direction)

Parameters
ivcell to check
nris the number of grid points

Definition at line 43 of file AmrBoundary.h.

Member Data Documentation

template<class Level>
const go_t AmrBoundary< Level >::nPoints_m
private

Number of points used for boundary.

Definition at line 73 of file AmrBoundary.h.

Referenced by AmrBoundary< Level >::getNumberOfPoints().


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