OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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 |
![]() | |
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) |
![]() | |
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_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 9 of file AmrOpenBoundary.h.
typedef amr::AmrIntVect_t AmrOpenBoundary< Level >::AmrIntVect_t |
Definition at line 16 of file AmrOpenBoundary.h.
typedef Level::go_t AmrOpenBoundary< Level >::go_t |
Definition at line 14 of file AmrOpenBoundary.h.
typedef Level::lo_t AmrOpenBoundary< Level >::lo_t |
Definition at line 13 of file AmrOpenBoundary.h.
typedef Level::scalar_t AmrOpenBoundary< Level >::scalar_t |
Definition at line 15 of file AmrOpenBoundary.h.
typedef Level::umap_t AmrOpenBoundary< Level >::umap_t |
Definition at line 12 of file AmrOpenBoundary.h.
enum AmrOpenBoundary::ABC |
Enumerator | |
---|---|
Zeroth | |
First | |
Second | |
Third | |
Robin |
Definition at line 33 of file AmrOpenBoundary.h.
|
inline |
Definition at line 20 of file AmrOpenBoundary.h.
|
private |
Asymptotic boundary condition 0th order (ABC0)
Definition at line 181 of file AmrOpenBoundary.h.
|
private |
Asymptotic boundary condition 1st order (ABC1)
Definition at line 205 of file AmrOpenBoundary.h.
References sign(), and sqrt().
|
private |
Asymptotic boundary condition 2nd order (ABC2)
Definition at line 252 of file AmrOpenBoundary.h.
References sign(), and sqrt().
|
private |
Asymptotic boundary condition 3rd order (ABC3)
Definition at line 297 of file AmrOpenBoundary.h.
References 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 106 of file AmrOpenBoundary.h.
|
private |
Definition at line 358 of file AmrOpenBoundary.h.
|
private |
Robin boundary condition
Definition at line 149 of file AmrOpenBoundary.h.
|
private |
Definition at line 43 of file AmrOpenBoundary.h.
|
private |
Definition at line 42 of file AmrOpenBoundary.h.