include/pops/mesh/boundary/physical_bc.hpp File ReferenceΒΆ
|
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
|
PHYSICAL boundary conditions at the domain edge (BCType, BCRec, fill_physical_bc, fill_ghosts). More...
#include <pops/core/foundation/types.hpp>#include <pops/mesh/index/box2d.hpp>#include <pops/mesh/storage/fab2d.hpp>#include <pops/mesh/boundary/fill_boundary.hpp>#include <pops/mesh/storage/multifab.hpp>
Include dependency graph for physical_bc.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | pops::BCRec |
| Boundary conditions for the FOUR faces of the domain (type + associated Dirichlet value). More... | |
| struct | pops::detail::BCFaceXLoKernel |
| struct | pops::detail::BCFaceXHiKernel |
| struct | pops::detail::BCFaceYLoKernel |
| struct | pops::detail::BCFaceYHiKernel |
| struct | pops::AuxHaloPolicy |
| Per-field aux halo policy (ADC-369): a UNIFORM boundary policy for ONE model-named aux component, declared via pops.AuxHalo. More... | |
Namespaces | |
| namespace | pops |
| namespace | pops::detail |
Enumerations | |
| enum class | pops::BCType { pops::Periodic , pops::Foextrap , pops::Dirichlet } |
| Boundary condition type for a face: Periodic (handled by fill_boundary), Foextrap (zero gradient, outflow/order-0 wall), Dirichlet (value imposed at the face by reflection). More... | |
Functions | |
| void | pops::fill_physical_bc_range (MultiFab &mf, const Box2D &domain, const BCRec &bc, int c0, int c1) |
Fills the OUT-OF-domain ghosts of the NON-periodic faces of mf according to bc (Foextrap or Dirichlet), for the COMPONENT RANGE [c0, c1). | |
| void | pops::fill_physical_bc (MultiFab &mf, const Box2D &domain, const BCRec &bc) |
Fills the physical-face ghosts of ALL components per bc (historical entry point, bit-identical). | |
| void | pops::fill_physical_bc (MultiFab &mf, const Box2D &domain, const BCRec &bc, int comp) |
ADC-369: fills the physical-face ghosts of a SINGLE component comp per bc – the per-field aux halo override. | |
| BCRec | pops::aux_halo_override (const BCRec &shared, const AuxHaloPolicy &p) |
Builds the effective override BCRec for a per-field aux halo: starts from the SHARED aux BC shared (so periodic faces stay periodic) and replaces each NON-PERIODIC face with the policy p (type + Dirichlet value). | |
| void | pops::fill_ghosts (MultiFab &mf, const Box2D &domain, const BCRec &bc) |
COMPLETE ghost filling: fill_boundary (interior + periodic, periodicity deduced from bc) THEN fill_physical_bc (physical edges). | |
Detailed Description
PHYSICAL boundary conditions at the domain edge (BCType, BCRec, fill_physical_bc, fill_ghosts).
fill_boundary already fills the INTERIOR and periodic ghosts; here we fill the ghosts that fall OUTSIDE the domain on non-periodic faces. Foextrap: zero-order extrapolation (zero gradient), ghost = mirror interior cell (outflow / order-0 wall). Dirichlet: value imposed at the FACE, ghost = 2 v - mirror interior (the ghost/interior average equals v at the face). fill_ghosts composes both in the right order (interior/periodic THEN physical edge) and fills the corners via x-faces then y-faces over the full extension. The edge kernels are device-clean NAMED FUNCTORS (nvcc limitation).
Generated by