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

#include <AmrOpenBoundary.h>

Inheritance diagram for AmrOpenBoundary< Level >:
Inheritance graph
[legend]
Collaboration diagram for AmrOpenBoundary< Level >:
Collaboration graph
[legend]

Public Types

enum  ABC {
  Zeroth, First, Second, Third,
  Robin
}
 
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 amr::AmrIntVect_t AmrIntVect_t
 
- Public Types inherited from AmrBoundary< Level >
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

 AmrOpenBoundary ()
 
void apply (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 
- Public Member Functions inherited from AmrBoundary< Level >
 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
 
const go_tgetNumberOfPoints () const
 

Private Member Functions

scalar_t coordinate_m (const AmrIntVect_t &iv, const lo_t &dir, Level *mglevel, const go_t *nr)
 
void robin_m (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 
void abc0_m (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 
void abc1_m (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 
void abc2_m (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 
void abc3_m (const AmrIntVect_t &iv, const lo_t &dir, umap_t &map, const scalar_t &value, Level *mglevel, const go_t *nr)
 

Private Attributes

int order_m
 
double dist_m
 

Detailed Description

template<class Level>
class AmrOpenBoundary< Level >

Definition at line 9 of file AmrOpenBoundary.h.

Member Typedef Documentation

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

Definition at line 16 of file AmrOpenBoundary.h.

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

Definition at line 14 of file AmrOpenBoundary.h.

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

Definition at line 13 of file AmrOpenBoundary.h.

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

Definition at line 15 of file AmrOpenBoundary.h.

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

Definition at line 12 of file AmrOpenBoundary.h.

Member Enumeration Documentation

template<class Level>
enum AmrOpenBoundary::ABC
Enumerator
Zeroth 
First 
Second 
Third 
Robin 

Definition at line 33 of file AmrOpenBoundary.h.

Constructor & Destructor Documentation

template<class Level>
AmrOpenBoundary< Level >::AmrOpenBoundary ( )
inline

Definition at line 20 of file AmrOpenBoundary.h.

Member Function Documentation

template<class Level >
void AmrOpenBoundary< Level >::abc0_m ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
private

Asymptotic boundary condition 0th order (ABC0)

Definition at line 181 of file AmrOpenBoundary.h.

template<class Level >
void AmrOpenBoundary< Level >::abc1_m ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
private

Asymptotic boundary condition 1st order (ABC1)

Definition at line 205 of file AmrOpenBoundary.h.

References sign(), and sqrt().

Here is the call graph for this function:

template<class Level >
void AmrOpenBoundary< Level >::abc2_m ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
private

Asymptotic boundary condition 2nd order (ABC2)

Definition at line 252 of file AmrOpenBoundary.h.

References sign(), and sqrt().

Here is the call graph for this function:

template<class Level >
void AmrOpenBoundary< Level >::abc3_m ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
private

Asymptotic boundary condition 3rd order (ABC3)

Definition at line 297 of file AmrOpenBoundary.h.

References sign(), and sqrt().

Here is the call graph for this function:

template<class Level >
void AmrOpenBoundary< Level >::apply ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
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

Implements AmrBoundary< Level >.

Definition at line 106 of file AmrOpenBoundary.h.

template<class Level >
AmrOpenBoundary< Level >::scalar_t AmrOpenBoundary< Level >::coordinate_m ( const AmrIntVect_t iv,
const lo_t dir,
Level *  mglevel,
const go_t nr 
)
private

Definition at line 358 of file AmrOpenBoundary.h.

template<class Level >
void AmrOpenBoundary< Level >::robin_m ( const AmrIntVect_t iv,
const lo_t dir,
umap_t map,
const scalar_t value,
Level *  mglevel,
const go_t nr 
)
private

Robin boundary condition

Definition at line 149 of file AmrOpenBoundary.h.

Member Data Documentation

template<class Level>
double AmrOpenBoundary< Level >::dist_m
private

Definition at line 43 of file AmrOpenBoundary.h.

template<class Level>
int AmrOpenBoundary< Level >::order_m
private

Definition at line 42 of file AmrOpenBoundary.h.


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