|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
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::basefab_t | basefab_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) |
| 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 |
| const go_t | nPoints_m |
| Number of points used for boundary. | |
Definition at line 30 of file AmrOpenBoundary.h.
| typedef amr::AmrIntVect_t AmrOpenBoundary< Level >::AmrIntVect_t |
Definition at line 37 of file AmrOpenBoundary.h.
|
inherited |
Definition at line 36 of file AmrBoundary.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.
References AmrBoundary< Level >::AmrBoundary(), dist_m, order_m, and Robin.
|
private |
Asymptotic boundary condition 0th order (ABC0)
Definition at line 202 of file AmrOpenBoundary.h.
References nr.
Referenced by apply().
|
private |
Asymptotic boundary condition 1st order (ABC1)
Definition at line 226 of file AmrOpenBoundary.h.
References coordinate_m(), dist_m, nr, and sign().
Referenced by apply().
|
private |
Asymptotic boundary condition 2nd order (ABC2)
Definition at line 273 of file AmrOpenBoundary.h.
References coordinate_m(), dist_m, nr, and sign().
Referenced by apply().
|
private |
Asymptotic boundary condition 3rd order (ABC3)
Definition at line 318 of file AmrOpenBoundary.h.
References coordinate_m(), nr, and sign().
Referenced by apply().
|
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 abc0_m(), abc1_m(), abc2_m(), abc3_m(), First, nr, order_m, Robin, robin_m(), Second, Third, and Zeroth.
|
private |
|
inlineinherited |
Definition at line 88 of file AmrBoundary.h.
References nPoints_m.
|
inlineinherited |
Check if we are on the physical boundary (all directions)
| iv | cell to check |
| nr | is the number of grid points |
Definition at line 52 of file AmrBoundary.h.
References isBoundary(), and nr.
Referenced by isBoundary().
|
inlineinherited |
Check if we are on the physical boundary (certain direction)
| iv | cell to check |
| nr | is the number of grid points |
Definition at line 63 of file AmrBoundary.h.
References nr.
|
private |
|
private |
Definition at line 64 of file AmrOpenBoundary.h.
Referenced by abc1_m(), abc2_m(), AmrOpenBoundary(), and robin_m().
|
privateinherited |
Number of points used for boundary.
Definition at line 93 of file AmrBoundary.h.
Referenced by AmrBoundary(), and getNumberOfPoints().
|
private |
Definition at line 63 of file AmrOpenBoundary.h.
Referenced by AmrOpenBoundary(), and apply().