OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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 29 of file AmrBoundary.h.

Member Typedef Documentation

◆ AmrIntVect_t

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

Definition at line 37 of file AmrBoundary.h.

◆ basefab_t

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

Definition at line 36 of file AmrBoundary.h.

◆ go_t

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

Definition at line 34 of file AmrBoundary.h.

◆ lo_t

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

Definition at line 33 of file AmrBoundary.h.

◆ scalar_t

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

Definition at line 35 of file AmrBoundary.h.

◆ umap_t

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

Definition at line 32 of file AmrBoundary.h.

Constructor & Destructor Documentation

◆ AmrBoundary()

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

Definition at line 44 of file AmrBoundary.h.

Member Function Documentation

◆ apply()

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 AmrPeriodicBoundary< Level >, AmrOpenBoundary< Level >, and AmrDirichletBoundary< Level >.

◆ getNumberOfPoints()

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

Definition at line 88 of file AmrBoundary.h.

References AmrBoundary< Level >::nPoints_m.

◆ isBoundary() [1/2]

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 52 of file AmrBoundary.h.

References nr.

◆ isBoundary() [2/2]

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 63 of file AmrBoundary.h.

References nr.

Member Data Documentation

◆ nPoints_m

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

Number of points used for boundary.

Definition at line 93 of file AmrBoundary.h.

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


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