SystemConfig Struct 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
|
Mesh and domain shared by all blocks (physical parameters are per block, in the ModelSpec). More...
#include <system.hpp>
Collaboration diagram for pops::SystemConfig:Public Attributes | |
| int | n = 64 |
| cells per direction (n x n domain) – for polar: n_r = n_theta = n | |
| double | L = 1.0 |
| size of the square domain [0,L]^2 (cartesian) | |
| bool | periodic = true |
| periodic domain, otherwise free outflow in transport (cartesian) | |
| std::string | geometry |
| geometry choice (carried by pops.CartesianMesh / pops.PolarMesh) | |
| int | nr = 0 |
| radial cells (polar; 0 => takes n) | |
| int | ntheta = 0 |
| azimuthal cells (polar; 0 => takes n) | |
| double | r_min = 0.0 |
| inner radius of the ring (polar) | |
| double | r_max = 1.0 |
| outer radius of the ring (polar) | |
| int | theta_boxes = 1 |
| boxes of the theta split of polar transport (1 = mono-box) | |
Detailed Description
Mesh and domain shared by all blocks (physical parameters are per block, in the ModelSpec).
GEOMETRY ("polar grid" work, Phase 1): the CHOICE of geometry lives HERE, in the mesh config, NOT in the scheme (FiniteVolume stays reconstruction + Riemann + variables). Default "cartesian": square domain [0,L]^2, behavior and numerics STRICTLY UNCHANGED (bit-identical). "polar" describes a global ring r in [r_min, r_max] x theta in [0, 2pi) (cf. PolarGeometry); it is carried by pops.PolarMesh on the Python side and is NOT yet wired into System::step (Phase 1 ships the geometry + the polar transport operator + its MMS validation; polar transport through System, which would also require the polar Poisson, is a later phase). Polar fields are ignored while geometry == "cartesian".
Member Data Documentation
◆ geometry
| std::string pops::SystemConfig::geometry |
geometry choice (carried by pops.CartesianMesh / pops.PolarMesh)
◆ L
| double pops::SystemConfig::L = 1.0 |
size of the square domain [0,L]^2 (cartesian)
◆ n
| int pops::SystemConfig::n = 64 |
cells per direction (n x n domain) – for polar: n_r = n_theta = n
◆ nr
| int pops::SystemConfig::nr = 0 |
radial cells (polar; 0 => takes n)
◆ ntheta
| int pops::SystemConfig::ntheta = 0 |
azimuthal cells (polar; 0 => takes n)
◆ periodic
| bool pops::SystemConfig::periodic = true |
periodic domain, otherwise free outflow in transport (cartesian)
◆ r_max
| double pops::SystemConfig::r_max = 1.0 |
outer radius of the ring (polar)
◆ r_min
| double pops::SystemConfig::r_min = 0.0 |
inner radius of the ring (polar)
◆ theta_boxes
| int pops::SystemConfig::theta_boxes = 1 |
boxes of the theta split of polar transport (1 = mono-box)
The documentation for this struct was generated from the following file:
- include/pops/runtime/system.hpp
Generated by