OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <AmrOpenBoundary.h>
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_t & | getNumberOfPoints () 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 |
Definition at line 30 of file AmrOpenBoundary.h.
typedef amr::AmrIntVect_t AmrOpenBoundary< Level >::AmrIntVect_t |
Definition at line 37 of file AmrOpenBoundary.h.
typedef Level::go_t AmrOpenBoundary< Level >::go_t |
Definition at line 35 of file AmrOpenBoundary.h.
typedef Level::lo_t AmrOpenBoundary< Level >::lo_t |
Definition at line 34 of file AmrOpenBoundary.h.
typedef Level::scalar_t AmrOpenBoundary< Level >::scalar_t |
Definition at line 36 of file AmrOpenBoundary.h.
typedef Level::umap_t AmrOpenBoundary< Level >::umap_t |
Definition at line 33 of file AmrOpenBoundary.h.
enum AmrOpenBoundary::ABC |
Enumerator | |
---|---|
Zeroth | |
First | |
Second | |
Third | |
Robin |
Definition at line 54 of file AmrOpenBoundary.h.
|
inline |
Definition at line 41 of file AmrOpenBoundary.h.
|
private |
Asymptotic boundary condition 0th order (ABC0)
Definition at line 202 of file AmrOpenBoundary.h.
References nr.
|
private |
Asymptotic boundary condition 1st order (ABC1)
Definition at line 226 of file AmrOpenBoundary.h.
References nr, sign(), and sqrt().
|
private |
Asymptotic boundary condition 2nd order (ABC2)
Definition at line 273 of file AmrOpenBoundary.h.
References nr, sign(), and sqrt().
|
private |
Asymptotic boundary condition 3rd order (ABC3)
Definition at line 318 of file AmrOpenBoundary.h.
References nr, sign(), and sqrt().
|
virtual |
Apply boundary in a certain direction.
iv | is the cell where we want to have the boundary value |
dir | direction of physical / mesh boundary |
map | with indices global matrix indices and matrix values |
value | matrix entry (coefficients) |
value | of matrix entry that is supposed for index |
nr | is the number of grid points |
Implements AmrBoundary< Level >.
Definition at line 127 of file AmrOpenBoundary.h.
References nr.
|
private |
Definition at line 379 of file AmrOpenBoundary.h.
References nr.
|
private |
|
private |
Definition at line 64 of file AmrOpenBoundary.h.
|
private |
Definition at line 63 of file AmrOpenBoundary.h.