OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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
 
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 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 30 of file AmrOpenBoundary.h.

Member Typedef Documentation

◆ AmrIntVect_t

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

Definition at line 37 of file AmrOpenBoundary.h.

◆ go_t

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

Definition at line 35 of file AmrOpenBoundary.h.

◆ lo_t

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

Definition at line 34 of file AmrOpenBoundary.h.

◆ scalar_t

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

Definition at line 36 of file AmrOpenBoundary.h.

◆ umap_t

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

Definition at line 33 of file AmrOpenBoundary.h.

Member Enumeration Documentation

◆ ABC

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

Definition at line 54 of file AmrOpenBoundary.h.

Constructor & Destructor Documentation

◆ AmrOpenBoundary()

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

Definition at line 41 of file AmrOpenBoundary.h.

Member Function Documentation

◆ abc0_m()

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 202 of file AmrOpenBoundary.h.

References nr.

◆ abc1_m()

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 226 of file AmrOpenBoundary.h.

References nr, sign(), and sqrt().

Here is the call graph for this function:

◆ abc2_m()

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 273 of file AmrOpenBoundary.h.

References nr, sign(), and sqrt().

Here is the call graph for this function:

◆ abc3_m()

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 318 of file AmrOpenBoundary.h.

References nr, sign(), and sqrt().

Here is the call graph for this function:

◆ apply()

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 127 of file AmrOpenBoundary.h.

References nr.

◆ coordinate_m()

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 379 of file AmrOpenBoundary.h.

References nr.

◆ robin_m()

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 170 of file AmrOpenBoundary.h.

References nr.

Member Data Documentation

◆ dist_m

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

Definition at line 64 of file AmrOpenBoundary.h.

◆ order_m

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

Definition at line 63 of file AmrOpenBoundary.h.


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