#include "AMReX_LO_BCTYPES.H"
Go to the source code of this file.
|
| Array< LinOpBCType, AMREX_SPACEDIM > | get_lo_projection_bc (Geometry const &lev_geom, Array< std::string, 2 *AMREX_SPACEDIM > l_domain_bc_type) |
| |
| Array< LinOpBCType, AMREX_SPACEDIM > | get_hi_projection_bc (Geometry const &lev_geom, Array< std::string, 2 *AMREX_SPACEDIM > l_domain_bc_type) |
| |
◆ get_hi_projection_bc()
| Array<LinOpBCType,AMREX_SPACEDIM> get_hi_projection_bc |
( |
Geometry const & |
lev_geom, |
|
|
Array< std::string, 2 *AMREX_SPACEDIM > |
l_domain_bc_type |
|
) |
| |
|
inline |
Define high-side domain boundary conditions for the projection solve.
- Parameters
-
| lev_geom | Geometry used to identify periodic high-side boundaries |
| l_domain_bc_type | Domain boundary-condition names |
- Returns
- High-side linear-operator boundary condition in each direction
51 amrex::Array<amrex::LinOpBCType,AMREX_SPACEDIM> r;
52 for (
int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
53 if ( lev_geom.isPeriodic(dir) )
55 r[dir] = LinOpBCType::Periodic;
57 auto bc_type = l_domain_bc_type[Orientation(dir,Orientation::high)];
58 if (bc_type ==
"Outflow" || bc_type ==
"Open") {
59 r[dir] = LinOpBCType::Dirichlet;
61 r[dir] = LinOpBCType::Neumann;
Referenced by ERF::project_velocity_tb(), solve_with_EB_mlmg(), and solve_with_mlmg().
◆ get_lo_projection_bc()
| Array<LinOpBCType,AMREX_SPACEDIM> get_lo_projection_bc |
( |
Geometry const & |
lev_geom, |
|
|
Array< std::string, 2 *AMREX_SPACEDIM > |
l_domain_bc_type |
|
) |
| |
|
inline |
Define the domain boundary conditions for the (optional) Poisson solve if we want to enforce that the initial conditions satisfy the constraint
- Parameters
-
| lev_geom | Geometry used to identify periodic low-side boundaries |
| l_domain_bc_type | Domain boundary-condition names |
- Returns
- Low-side linear-operator boundary condition in each direction
23 amrex::Array<amrex::LinOpBCType,AMREX_SPACEDIM> r;
24 for (
int dir = 0; dir < AMREX_SPACEDIM; ++dir) {
25 if ( lev_geom.isPeriodic(dir) )
27 r[dir] = LinOpBCType::Periodic;
29 auto bc_type = l_domain_bc_type[Orientation(dir,Orientation::low)];
30 if (bc_type ==
"Outflow" || bc_type ==
"Open") {
31 r[dir] = LinOpBCType::Dirichlet;
33 r[dir] = LinOpBCType::Neumann;
Referenced by ERF::project_velocity_tb(), solve_with_EB_mlmg(), and solve_with_mlmg().