Class HierarchyΒΆ

adc_cpp: Class Hierarchy
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
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cpops::detail::AddScaledComponentKernelNAMED functor (not an POPS_HD lambda) of the accumulation: r(i,j,0) += a * u(i,j,c)
 Cpops::detail::AdvanceExplicit< Limiter, Flux, Model, Stepper >EXPLICIT advance: n substeps of the Stepper stepper (SSPRK2 by default, SSPRK3 optional) on the transport+source residual
 Cpops::detail::AdvanceExplicitEb< Limiter, Flux, Model, Stepper >CUT-CELL / EB EXPLICIT advance: n substeps of the Stepper stepper on the EB transport residual
 Cpops::detail::AdvanceExplicitMasked< Limiter, Flux, Model, Stepper >MASKED EXPLICIT advance: n substeps of the Stepper stepper on the MASKED transport residual
 Cpops::detail::AdvanceFab1cKernelExplicit Euler, 1 component: U -= dt div(F) on cell (i,j)
 Cpops::detail::AdvanceImex< Limiter, Flux, Model >IMEX advance: per substep, EXPLICIT half-step (source-free transport) + stiff IMPLICIT source
 Cpops::detail::AdvanceImexEb< Limiter, Flux, Model >CUT-CELL / EB IMEX advance: EB EXPLICIT half-step (source-free transport) + stiff IMPLICIT source
 Cpops::detail::AdvanceImexMasked< Limiter, Flux, Model >MASKED IMEX advance: MASKED EXPLICIT half-step (source-free transport) + stiff IMPLICIT source
 Cpops::detail::AdvanceImexRkArs222< Limiter, Flux, Model >IMEX-RK ARS(2,2,2) advance (Ascher, Ruuth, Spiteri 1997; "Implicit-explicit Runge-Kutta methods for time-dependent partial differential equations", Appl
 Cpops::validation::AdvectionDiffusionScalar advection-diffusion: d_t u + a
 Cpops::AmrAdvanceFacesKernelDevice-clean NAMED functor: U <- U - dt div(Fx,Fy) on a valid cell
 Cpops::AmrApplySourceKernel< Model >Device-clean NAMED functor (template Model, see AmrSspRhsKernel): U <- U + dt S(U, aux) on a valid cell
 Cpops::AmrAverageDownKernelDevice-clean NAMED functor: 2x2 average fine -> coarse on a coarse cell
 Cpops::detail::AmrBlockBuildArgsNon-model inputs of a MULTI-block AMR build (the fields the build_multi visitor read off the BlockSpec)
 Cpops::AmrBuildParamsFrozen parameters passed to the deferred build of the compiled path (add_compiled_model)
 Cpops::AmrCompiledHooksType-erased closures of a compiled AMR block, produced by amr_dsl_block::build_amr_compiled and installed via AmrSystem::set_compiled_block
 Cpops::AmrCondensedSchurSourceStepperSchur-condensed SOURCE stage over an AMR hierarchy
 Cpops::AmrCouplerMP< Model, Elliptic >Multi-patch E x B AMR coupler
 Cpops::AmrDiscLF< L, F >Bundle (limiter, Riemann flux) expected by AmrCouplerMP::step<Disc>
 Cpops::AmrHierarchyStack of refined levels (domain + BoxArray + MultiFab per level), level 0 the coarsest
 Cpops::AmrHierarchyLayoutSingle source of truth on the GRID shared by all blocks: per level the BoxArray (boxes AND order), the DistributionMapping (rank per box) and dx/dy
 Cpops::AmrImplicitSourceStepperDefault implicit callback for AmrSystemCoupler::step: backward-Euler (Newton) on the model source, applied to EACH level of the hierarchy, followed by a fine -> coarse cascade (coverage consistency, cf
 Cpops::detail::AmrLevelMF
 Cpops::AmrLevelMP
 Cpops::AmrLevelStack< Level >Owns the AMR level stack and the parallel aux stack
 Cpops::AmrLevelStack< pops::AmrLevelMP >
 Cpops::AmrRuntimeAMR multi-block engine at runtime
 Cpops::AmrRuntimeBlockType-erased closures of ONE AMR block, placed on the shared hierarchy
 Cpops::AmrSspRhsKernel< Model >
 Cpops::AmrSystemSingle block carried on an AMR hierarchy, composed at runtime
 Cpops::AmrSystemConfigAMR mesh and cadence (per-block physical parameters live in the ModelSpec)
 Cpops::AmrSystemCoupler< System, RhsAssembler, Elliptic >Multi-species system coupler on AMR
 Cpops::detail::ApplyLaplacianKernel
 Cpops::ArenaStatsManagedArena pool statistics: hits/misses/fences and retained bytes
 Cpops::Array4WRITE POD handle (raw pointer + strides) over a Fab2D buffer, indexed by (i, j, c) IN GLOBAL INDICES (ig0/jg0 = lower corner of the grown box)
 Cpops::detail::AssembleRhsHllCachedKernel< Limiter, Model >AssembleRhsHllCachedKernel: kernel of the residual R = -div Fhat + S for the HLL flux with wave speeds PRE-COMPUTED per cell (scratch ws, 4 components)
 Cpops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >AssembleRhsKernel<Limiter,NumericalFlux,Model>: device kernel of the central residual of assemble_rhs
 Cpops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >AssembleRhsMaskedKernel: variant of AssembleRhsKernel AWARE of a domain mask
 Cpops::AuxPOINTWISE auxiliary fields shared with the physics: single coupling channel
 Cpops::AuxHaloPolicyPer-field aux halo policy (ADC-369): a UNIFORM boundary policy for ONE model-named aux component, declared via pops.AuxHalo
 Cpops::detail::AverageDownKernelCONSERVATIVE average of an r x r block: C(I, J, c) = (sum of the r^2 fine cells) * inv
 Cpops::detail::AvgDownMultiKernel
 Cpops::BackgroundDensityNeutralizing background f = alpha (n - n0)
 Cpops::detail::BackwardEulerSourceKernel< Model >
 Cpops::detail::BackwardEulerSourceStatKernel< Model >
 Cpops::detail::BCFaceXHiKernel
 Cpops::detail::BCFaceXLoKernel
 Cpops::detail::BCFaceYHiKernel
 Cpops::detail::BCFaceYLoKernel
 Cpops::BCRecBoundary conditions for the FOUR faces of the domain (type + associated Dirichlet value)
 Cpops::detail::BlockBuildArgsThe non-model inputs of a Cartesian block build (a thin bundle so the seam signature stays fixed)
 Cpops::BlockClosuresCompiled block closures, frozen at add time
 Cpops::native_loader::BlockMetaOPTIONAL metadata read by dlsym on a generated .so (names / roles / gamma)
 Cpops::detail::BlockRhsEval< Limiter, Flux, Model >Residual functor -div F + S (fill_ghosts then assemble_rhs), passed TO THE TimeStepper as RhsEval
 Cpops::detail::BlockRhsEvalEb< Limiter, Flux, Model >CUT-CELL / EB transport residual (CutCell mode): fill_ghosts then assemble_rhs_eb on the level set of the System embedded boundary (read via eb_domain, pointer to Impl::eb_domain_, stable address)
 Cpops::detail::BlockRhsEvalMasked< Limiter, Flux, Model >MASKED transport residual (Staircase mode): fill_ghosts then assemble_rhs_masked on the cell-centered 0/1 mask of the System (read via mask, pointer to Impl::domain_mask_, stable address)
 Cpops::SystemBlockStore::BlockStateCompiled closures frozen at block add time (composite model + spatial scheme + time)
 Cpops::Box2D2D integer index space, cell-centered
 Cpops::BoxArrayOrdered list of boxes tiling a level
 Cpops::BoxHashSpatial index of a BoxArray's boxes via a bin grid
 Cpops::runtime::program::BrickManifestEntry
 Cpops::runtime::program::BrickRegistry
 Cpops::detail::BuiltBlockEverything System::add_block reads back from the (former) dispatch_model visitor
 Cpops::runtime::program::CacheManager
 Cpops::runtime::program::CacheSlot
 Cpops::ChargeDensityCharge density f = q n
 Cpops::ChargeDensityRhsN-species Poisson RHS: f = Sum_s q_s n_s over ALL blocks of the system
 Cpops::ClusterParamsBerger-Rigoutsos clustering parameters (configuration object)
 Cpops::CoarseFineInterface
 Cpops::CompositeFacPoisson2-level COMPOSITE FAC Poisson solver (scalar)
 Cpops::CompositeModel< Hyperbolic, Source, Elliptic >Composite physical model: one HYPERBOLIC brick + one source + one elliptic right-hand side
 Cpops::CompositeSource< A, B >SUM of two source bricks: S(U, aux) = A.apply(U, aux) + B.apply(U, aux)
 Cpops::CondensedSchurSourceStepperSchur-condensed SOURCE STAGE, STANDALONE (transport frozen), GENERIC over any fluid block that exposes the Density / MomentumX / MomentumY roles (+ optional Energy)
 Cpops::ConstArray4READ-only handle (const counterpart of Array4): same layout and same contract (POD device-copyable, global indices, no bounds checking)
 Cpops::detail::CopyBzKernelCopies the B_z field (aux channel) into an internal scalar MultiFab (0 ghost is enough, read at (i,j))
 Cpops::detail::CopyComp0Kernel
 Cpops::detail::CopyShiftedKernel
 Cpops::CoupledFreqKernel
 Cpops::CoupledSourceKernelDevice functor applying ONE coupled source over a box: captures the PODs by VALUE (input/output Array4, programs, constants) -> device-clean
 Cpops::CoupledSourceProgramBYTECODE description of a generic inter-species COUPLED SOURCE (cf
 Cpops::CoupledSystem< Blocks >Heterogeneous collection of equation blocks, parameterized by their exact types
 Cpops::Coupler< Model, Elliptic >Single-block hyperbolic-elliptic coupler
 Cpops::CoverageMask
 Cpops::CsProgramFixed-capacity postfix program (POD device-copyable): len opcodes, arg read only by PushReg (register index)
 Cpops::detail::CutFractionGeometric result of crossing a cut cell: 4 cut distances per face, the 4 apertures alpha_f normalized in [0, 1] (alpha_f = face_distance / h), and the volume fraction kappa of the cell (share of the cell in the active domain)
 Cpops::detail::DiscDomainCIRCLE / DISC level-set domain: the canonical instance of the contract and the SINGLE SOURCE of truth for the active circular domain (a disc of radius R; see docs/HOFFART_FIDELITY.md for the reference scenario it was validated against)
 Cpops::detail::DiscLevelSetDevice-safe adapter wrapping a DiscDomain as the Real(Real, Real) callable expected by cut_fraction and the EB operator
 Cpops::DistributedFFTSolverDIRECT periodic Poisson solver (spectral FFT) DISTRIBUTED, models EllipticSolver
 Cpops::DistributionMappingOwning MPI rank of each box, indexed by GLOBAL box index (parallel to a BoxArray)
 Cpops::detail::DivergenceKernel
 Cpops::detail::DotKernel
 Cpops::detail::EbAssembleRhsKernel< Model, LevelSet >Kernel assembling the EB residual at cell (i, j): INACTIVE cell -> residual 0 (not advanced, like T2); ACTIVE cell -> R = S - (1/kappa_eff) [ (fx_{i+1} - fx_i)/dx + (fy_{j+1} - fy_i)/dy ] - wall_term
 Cpops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >FACE FLUX kernel for x (dir 0) of the EB transport: numerical flux at the face between (i-1, j) and (i, j), WEIGHTED by the aperture alpha_x of that face
 Cpops::detail::EbFaceFluxYKernel< Limiter, NumericalFlux, Model, LevelSet >FACE FLUX kernel for y (dir 1) of the EB transport: analogue of EbFaceFluxXKernel in j
 Cpops::EigBoundsResult of real_eig_minmax: real-part extremes + diagnostic
 Cpops::ElectrostaticLorentzCondensationGENERIC builder of the condensed source stage for the electrostatic + Lorentz source (kind="electrostatic_lorentz" on the future Python facade side, PR5)
 Cpops::EllipticProblem
 Cpops::EllipticTagBuiltin ELLIPTIC right-hand-side brick tag
 Cpops::runtime::program::Profiler::Entry
 Cpops::EquationBlock< ModelT, SpatialT, TimeT >Association of a PhysicalModel with its field U (MultiFab), its spatial scheme, its time policy and its boundary conditions
 Cpops::Euler2D compressible Euler for an ideal gas: HYPERBOLIC brick (HyperbolicModel concept)
 Cpops::ExBVelocityScalar advection by the E x B drift: v = (-d_y phi, d_x phi)/B0 (divergence-free)
 Cpops::ExBVelocityPolarScalar advection by the E x B drift in POLAR coordinates (r, theta) – "annular polar grid" effort, Phase 1
 Cpops::runtime::program::ExternalBrickHandle
 Cpops::detail::ExtractVelocityKernelExtracts the velocity v = (mx, my) / rho from the state (Density / MomentumX / MomentumY roles) into two scalar fields vx, vy
 Cpops::Fab2DSingle-grid data on a Box2D: VALID box + ng ghost layers, ncomp components, component-slow layout
 Cpops::detail::FaceFluxXKernel< Limiter, NumericalFlux, Model >FaceFluxXKernel: device kernel for the flux at the radial x face (between i-1 and i)
 Cpops::detail::FaceFluxYKernel< Limiter, NumericalFlux, Model >FaceFluxYKernel: device kernel for the flux at the y face (between j-1 and j)
 Cstd::false_type
 Cpops::FieldPostProcess
 Cpops::detail::FieldPostprocessKernel
 Cpops::FluxRegister
 Cpops::detail::ForEachBlockProbeNAMED no-op probe for the CoupledSystemLike concept. A generic lambda in the
 Cpops::ForwardEuler
 Cpops::GeometricMG
 Cpops::GeometryCartesian geometry of a level: index domain + physical bounds [xlo, xhi] x [ylo, yhi]
 Cpops::GravityCouplingSelf-consistent coupling f = sign * 4piG * (rho - rho0)
 Cpops::GravityForceGravitational force rho g (+ work if 4 variables)
 Cpops::GridContextMesh + transport BC + aux shared by a block closures
 Cpops::detail::GsColorKernel
 Cpops::detail::HalfPlaneDomainHALF-PLANE level-set domain: ls(x, y) = a*x + b*y - c, ACTIVE on the side a*x + b*y < c
 Cpops::HaloExchangeOpaque state of an in-flight halo exchange, returned by fill_boundary_begin and consumed by fill_boundary_end
 Cpops::HaloJobOne halo copy/transfer: the ghost region of box dst is filled from the shifted valid region of box src (shift sx, sy in cells for the periodic wrap; 0 for an interior neighbor)
 Cpops::HaloScheduleMemoized schedule for ONE (Periodicity, domain) over a fixed layout
 Cpops::HaloScheduleCacheSmall per-MultiFab cache of halo schedules, one entry per distinct (Periodicity, domain)
 Cpops::HLLCFluxHLLCFlux (HLL + Contact wave, Toro): 3 waves, resolves the contact discontinuity
 Cpops::HLLFluxHLLFlux (Harten-Lax-van Leer): 2 signal speeds, less diffusive than Rusanov
 Cpops::detail::HotspotFn< Model >Frozen residual (fill_ghosts + assemble_rhs) installed as the block's rhs_into
 Cpops::IModel< NV >Hyperbolic model seen behind a virtual interface (runtime dispatch)
 Cpops::IModel< M::n_vars >
 Cpops::ImplicitMask< N >
 Cpops::ImplicitMask< Model::n_vars >
 Cpops::ImplicitSourceStepper
 Cpops::detail::InterpolateKernelPiecewise-CONSTANT injection: F(i, j, c) receives the value of its covering coarse cell
 Cpops::detail::InvStabilityDtKernel< Model >InvStabilityDtKernel: max over cells of 1/model.stability_dt
 Cstd::is_same
 Cpops::IsothermalFluxISOTHERMAL Euler flux (p = cs2 rho), 3 variables (rho, rho u, rho v)
 Cpops::KrylovResultOutcome of a Krylov solve: iterations performed, final relative residual, convergence flag
 Cpops::validation::LangmuirModeLinearized Langmuir mode: 0D kernel of the asymptotic-preserving two-fluid scheme
 Cpops::LevelHierarchy
 Cpops::LimiterTagTag of a reconstruction LIMITER: user-facing name + halo width (n_ghost) required by its stencil
 Cpops::detail::LincombKernel
 Cpops::compiled_block::LocalGridLocal single-grid mesh rebuilt inside the .so + aux filled from the System array
 Cpops::LorentzEliminatorLorentzEliminator: operator B = [[1,-w],[w,1]] and its analytic inverse
 Cpops::MagneticLorentzForceMAGNETIC Lorentz force q (v x B) on momentum, field B = B_z z_hat out of plane
 Cpops::detail::MaxKernel
 Cpops::detail::MaxSourceFreq< Model >Block max source frequency functor (HasSourceFrequency trait, bound dt <= cfl/mu without h)
 Cpops::detail::MaxSpeed< Model >Block max wave speed functor (max_wave_speed_mf, reduction over the seam)
 Cpops::detail::MaxStabilitySpeed< Model >Block max STABILITY speed functor (HasStabilitySpeed trait): replaces MaxSpeed in the CFL when the model declares stability_speed (the Riemann solvers keep max_wave_speed)
 Cpops::detail::MaxWaveSpeedKernel< Model >MaxWaveSpeedKernel<Model>: device reduction functor for max_wave_speed_mf
 Cpops::detail::MinKernel
 Cpops::MinmodMinmod limiter: TVD (Total Variation Diminishing), 2 ghosts, order 2 in smooth regions
 Cpops::detail::MinStabilityDt< Model >Block min admissible step functor (HasStabilityDt trait; 0 = no cell constrains it)
 Cpops::ModelSpecBrick composition of a block plus parameters
 Cpops::ModuleCapabilitiesThe STATIC transport capabilities the built _pops module provides (Spec 5 sec.13.12)
 Cpops::runtime::program::ModuleMetadataThe GeneratedModule descriptor read from a problem.so
 Cpops::MultiFabField distributed over a level: decomposition (BoxArray) + distribution (DistributionMapping) + ncomp components + ngrow ghosts
 Cpops::field_solver::SystemFieldSolver< Impl >::NamedField
 Cpops::detail::NegateKernelNeg(i,j) = -src(i,j) (negation of component 0). Device-clean NAMED functor
 Cpops::NewtonCellStatOUTPUT statistic of the Newton of ONE cell (device POD, written into the diagnostics scratch): res = ||F||_inf at exit; iters = iterations consumed; failed = 1 if the cell failed (non-finite residual, degenerate/non-finite pivot, or active tolerance not reached within budget), 0 otherwise; comp = index of the conserved COMPONENT carrying the max residual at exit (-1 if nothing implicit)
 Cpops::NewtonOptionsOptions of the local Newton of the implicit source (backward-Euler)
 Cpops::NewtonReportAGGREGATED report (whole block, all substeps of one advance) of the implicit-source Newton
 Cpops::detail::NewtonStatMaxKernelREDUCTION kernels of the diagnostics scratch (max / sum of one component)
 Cpops::detail::NewtonStatSumKernel
 Cpops::NoCoupledSourceNULL coupling source (default): apply() is a no-op
 Cpops::detail::NormInfKernel
 Cpops::NoSlopeFirst-order reconstruction (piecewise constant): zero slope, 1 ghost
 Cpops::NoSourceNo source: S(U, aux) = 0
 Cpops::OncePerStepCouplingTag: solves the elliptic problem ONCE per step (aux frozen during the stages, cheaper)
 Cpops::runtime::program::OperatorMetadataOne operator's metadata, as exported by the .so
 Cpops::detail::PackKernel
 Cpops::PatchBoxINDEX-SPACE footprint of an AMR fine patch, exposed to Python by AmrSystem::patch_boxes()
 Cpops::PatchRange
 Cpops::PeriodicityPer-direction periodicity: halo wrapping in x and/or y during the exchange (false = open edge, left to the physical BCs)
 Cpops::PerStageCouplingTag: solves the elliptic problem at EVERY RK stage (aux follows the intermediate state, more precise)
 Cpops::detail::PointwiseProject< Model >Foncteur HOTE de la projection ponctuelle : for_each_cell du kernel sur les cellules VALIDES de chaque fab local
 Cpops::PoissonFFT
 Cpops::PoissonFFTSolver
 Cpops::detail::PoissonResidualKernel
 Cpops::detail::PoissonRhs< Model >Poisson contribution functor: rhs += elliptic_rhs(U) (pure HOST loop, no device kernel)
 Cpops::detail::PolarAdvanceExplicit< Limiter, Flux, Model, Stepper >EXPLICIT polar advance: n substeps of the Stepper stepper (SSPRK2 by default, SSPRK3 optional) on the polar transport residual
 Cpops::detail::PolarApplyKernelL_int(phi) = div(A grad phi) in polar (apply)
 Cpops::detail::PolarAssembleRhsKernel< Model >PolarAssembleRhsKernel: device kernel of the polar residual in cell (i,j)
 Cpops::detail::PolarBlockRhsEval< Limiter, Flux, Model >Polar residual functor R = -div_polar F + S (fill_ghosts then assemble_rhs_polar)
 Cpops::PolarCondensedSchurSourceStepperSOURCE STAGE condensed by Schur in POLAR geometry, STANDALONE (transport frozen), GENERIC over any polar fluid block that exposes the roles Density / MomentumX (radial) / MomentumY (azimuthal) (+ optional Energy)
 Cpops::detail::PolarCopyKernelCopy component 0 (dst <- src)
 Cpops::detail::PolarFaceFluxRKernel< Limiter, NumericalFlux, Model >
 Cpops::detail::PolarFaceFluxThetaKernel< Limiter, NumericalFlux, Model >PolarFaceFluxThetaKernel: device kernel of the flux at the azimuthal face j
 Cpops::PolarGeometry
 Cpops::PolarGridContextPOLAR mesh + transport BC + aux shared by a block's closures (counterpart of GridContext)
 Cpops::detail::PolarInvDiagKernelComputes idiag = 1 / diag of the diagonal polar stencil (for Jacobi). diag = polar_diag (< 0)
 Cpops::detail::PolarJacobiApplyKernelOut = (f - L0 phi) / |diag| – one Jacobi iteration (point-by-point relaxation) on the DIAGONAL polar stencil (cross terms excluded from the Jacobi splitting: they stay on the right-hand side via the residual)
 Cpops::PolarKrylovResultResult of a polar BiCGStab solve: iterations, relative residual, convergence
 Cpops::detail::PolarMaxSpeed< Model >Max wave-speed functor of the POLAR block: reduction over the valid cells of max_wave_speed(model, U, aux) in both directions (r, theta)
 Cpops::detail::PolarPoissonRhs< Model >POLAR Poisson contribution functor: rhs += elliptic_rhs(U) (pure HOST loop)
 Cpops::PolarPoissonSolver
 Cpops::detail::PolarRhsInto< Limiter, Flux, Model >Frozen polar residual (fill_ghosts + assemble_rhs_polar) installed as the block's rhs_into (eval_rhs)
 Cpops::detail::PolarSchurCopyComp0KernelDst <- src (component 0)
 Cpops::detail::PolarSchurExplicitFluxKernelEXPLICIT flux F = rho B^{-1} v^n = B^{-1}(mr, mtheta) at the center (physical components (e_r, e_theta))
 Cpops::detail::PolarSchurOperatorCoeffKernelPOLAR condensed tensor coefficients A = I + c rho B^{-1} at cell centers
 Cpops::detail::PolarSchurReconstructKernelReconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad_polar phi^{n+theta}) and writes mom = rho^n v^{n+theta}
 Cpops::detail::PolarSchurRhsAssembleKernelRhs_polar(i,j) = lap_polar(i,j) (= Lap_polar phi^n) + g * div_polar F, second-order centered POLAR divergence of a vector field F = (F_r, F_theta) at the center (ghosts filled)
 Cpops::detail::PolarSourceFreq< Model >
 Cpops::detail::PolarStabilityDt< Model >
 Cpops::detail::PolarStabilitySpeed< Model >Optional STEP BOUND closures of the POLAR block (StabilityPolicy, audit wave 3): same device reductions as the cartesian ones (POINTWISE kernels with no geometry assumption – the geometry enters only through the physical step h of the stepper, min(dr, r_min*dtheta))
 Cpops::PolarTensorKrylovSolverMATRIX-FREE BiCGStab Krylov solver for the FULL-tensor POLAR elliptic operator L_int(phi) = div(A grad phi), A = [[a_rr, a_rt], [a_tr, a_tt]] possibly NON symmetric
 Cpops::PotentialForceElectrostatic potential force (q/m) rho E on momentum (+ work on energy if 4 variables)
 Cpops::runtime::program::Profiler
 Cpops::runtime::program::ProfileScope
 Cpops::runtime::program::ProgramContext
 Cpops::detail::ProjectCellKernel< Model >Kernel device de la PROJECTION PONCTUELLE post-pas (ADC-177) : U(i, j) <- m.project(U(i, j), aux(i, j))
 Cpops::RegMP
 Cpops::RegridParamsRegrid parameters (configuration object)
 Cpops::RemappedFFTSolverDIRECT periodic Poisson solver (spectral FFT) under MPI, presenting the SYSTEM LAYOUT, models EllipticSolver (ADC-287)
 Cpops::detail::RhsInto< Limiter, Flux, Model >
 Cpops::RiemannTagTag of a Riemann FLUX: name + model CAPABILITY needs (DOCUMENTARY: the real guard is an if constexpr per model at the call-site – these flags do NOT drive the dispatch, they document the contract and serve the tests)
 Cpops::RoeFluxRoeFlux: Roe linearization + Harten entropy fix (acoustic waves)
 Cpops::RuntimeParamsFLAT carrier (fixed size, by value) of the runtime parameter values of a block
 Cpops::detail::RusanovFaceXKernel< Model >Rusanov flux at the left face (x axis) of cell (i,j)
 Cpops::detail::RusanovFaceYKernel< Model >Rusanov flux at the bottom face (y axis) of cell (i,j)
 Cpops::RusanovFluxRusanovFlux (local Lax-Friedrichs): robust flux, compatible with any minimal PhysicalModel
 Cpops::detail::SaxpyKernel
 Cpops::SchurCondensationOperatorResult of the Schur assembly: the coefficient MultiFab of the tensor operator A_op and the condensed right-hand side
 Cpops::detail::SchurEnergyKernelEnergy update: E^{n+1} = E^n + (1/2) rho^n (|v^{n+1}|^2 - |v^n|^2)
 Cpops::runtime::program::detail::SchurEnergyKernelCCondensed-Schur kinetic-energy increment (ADC-427), mirroring the native detail::SchurEnergyKernel: E^{n+1} = E^n + (1/2) rho (|v^{n+1}|^2 - |v^n|^2), v = (mx, my)/rho
 Cpops::detail::SchurExplicitFluxKernelEXPLICIT flux F = rho B^{-1} v^n (v = (mx,my)/rho) ASSEMBLED per cell, WRITTEN at the center into fx/fy
 Cpops::runtime::program::detail::SchurExplicitFluxKernelCOut = B^{-1} (mx, my) at the center (Fx in comp 0, Fy in comp 1): the explicit flux F = rho*B^{-1}*v
 Cpops::detail::SchurExtrapolateScalarKernelLinear extrapolation of a SCALAR field from the theta-stage to the full step: f^{n+1} = f^n + (1/theta) (f^{n+theta} - f^n)
 Cpops::detail::SchurExtrapolateVelocityKernelLinear extrapolation of the VELOCITY (vx, vy) from the theta-stage to the full step, then recompose mom = rho^n v^{n+1} into the state
 Cpops::detail::SchurOperatorCoeffKernelCoefficients of the tensor operator A_op = I + c rho B^{-1} ASSEMBLED per cell from the fluid state and the B_z field
 Cpops::runtime::program::detail::SchurOperatorCoeffKernelCAux-component-aware variants of the native Schur kernels (coupling/schur/core/schur_condensation.hpp
 Cpops::detail::SchurReconstructKernelReconstructs v^{n+theta} = B^{-1}(v^n - theta dt grad phi^{n+theta}) and writes mom = rho^n v^{n+theta} into the state
 Cpops::runtime::program::detail::SchurReconstructKernelCReconstruct v^{n+theta} = B^{-1}(v^n - theta*dt*grad phi) and write mom = rho^n*v (rho frozen)
 Cpops::detail::SchurRhsAssembleKernelRhs(i,j) = lap(i,j) (= -Lap phi^n, already negated by the caller) - g * div F, second-order centered divergence of a flux F at the center (fx, fy, ghosts filled)
 Cpops::runtime::program::detail::SchurRhsAssembleKernelCRhs = -Lap phi^n - g*div(F), the centered FV divergence of the explicit flux F packed in ONE 2-component buffer (Fx in comp 0, Fy in comp 1 – the layout schur_explicit_flux writes), fused with the already-negated -Lap phi^n
 Cpops::detail::ScopedBlockState< Block >
 Cpops::ForwardEuler::Scratch
 Cpops::SSPRK2Step::Scratch
 Cpops::SSPRK3Step::Scratch
 Cpops::detail::SharedAmrLayoutSHARED layout of a multi-block AMR hierarchy (PR1 capstone), frozen at construction
 Cpops::detail::ShortleyWellerWeightsShortley-Weller weights (5-point cut-cell stencil) from the 4 cut distances
 Cpops::SingleModelEllipticRhs< Model >SINGLE-model RHS assembler: rhs(.,.,0) = model.elliptic_rhs(U) over the valid cells
 Cpops::detail::SingleModelEllipticRhsKernel< Model >NAMED functor (not an POPS_HD lambda) of the single-model RHS: f(i,j,0) = model.elliptic_rhs(U)
 Cpops::SourceFreeModel< M >SourceFreeModel<M>: adapter that cancels the source of M (explicit IMEX half-step)
 Cpops::detail::SourceFrequencyKernel< Model >SourceFrequencyKernel: max over cells of model.source_frequency (mu >= 0, 1/s)
 Cpops::detail::SourceInto< Model >SOURCE-ONLY residual R <- S(U, aux) installed as the block's source_only closure (ADC-430)
 Cpops::AmrSystem::SourceNewtonReportReport of the implicit (IMEX) source Newton of a block, AGGREGATED over the levels and substeps of the block's LAST advance
 Cpops::System::SourceNewtonReportReport of the implicit source Newton (IMEX) of a block, AGGREGATED over the substeps of the LAST advance of the block
 Cpops::detail::SourceOnlyKernel< Model >SOURCE-ONLY residual kernel R(i,j) <- m.source(U(i,j), aux(i,j)): the EXACT source term of AssembleRhsKernel (cf
 Cpops::SourceStageOptionsSettings of the Schur-condensed SOURCE STAGE (cf
 Cpops::SourceTagBuiltin SOURCE brick tag
 Cpops::SpatialDiscretisation< LimiterT, NumericalFluxT >SpatialDiscretisation<LimiterT, NumericalFluxT>: tag-type bundling the reconstruction policy and the numerical flux policy into a single template parameter
 Cpops::SpeciesChargeCharge (with sign) and density component of a species for the elliptic RHS assembly
 Cpops::SSPRK2
 Cpops::SSPRK2Step
 Cpops::SSPRK3
 Cpops::SSPRK3Step
 Cpops::detail::StabilitySpeedKernel< Model >StabilitySpeedKernel: max over cells/directions of model.stability_speed (replaces MaxWaveSpeedKernel when the trait is declared)
 Cpops::StateVec< N >Conserved state vector of fixed size, known at compile time
 Cpops::SubcyclingSchedule
 Cpops::detail::SumKernel
 Cpops::SystemCoupled multi-species system, composed at runtime from generic bricks
 Cpops::SystemAssembler< System, RhsAssembler, Elliptic >ASSEMBLES the fields (system Poisson + shared aux) and a block residual evaluator
 Cpops::SystemAssembler< System, RhsAssembler, GeometricMG >
 Cpops::SystemBlockStoreORDERED registry of the System blocks + state marshaling helpers
 Cpops::SystemConfigMesh and domain shared by all blocks (physical parameters are per block, in the ModelSpec)
 Cpops::SystemDriver< System, RhsAssembler, Elliptic >ADVANCES the system: carries the schedule (per-species subcycling, adaptive multirate, implicit/IMEX delegated) and calls a TimeStepper
 Cpops::field_solver::SystemFieldSolver< Impl >SystemFieldSolver<Impl>: see contract above
 Cpops::stepper::SystemStepper< Impl >SystemStepper<Impl>: see the contract above
 Cpops::TagBoxDense grid of 0/1 markers over a box, input to Berger-Rigoutsos clustering
 Cpops::TensorKrylovSolver
 Cpops::TimePolicy< MethodT, TreatmentT, SubstepsT, StrideT >
 Cpops::TimePolicyTraits< T >
 Cpops::TimePolicyTraits< TimePolicy< MethodT, TreatmentT, SubstepsT, StrideT > >
 Cpops::TransportTagBuiltin TRANSPORT brick tag
 Cpops::TwoBlockChargeDensityRhsTwo-block RHS: same computation as TwoFieldChargeDensityRhs but reads blocks 0 and 1 of a CoupledSystem (q0 n0 + q1 n1)
 Cpops::TwoFieldChargeDensityRhsTwo-field RHS: rhs = q0 * U0(.,.,comp0) + q1 * U1(.,.,comp1) (two-species charge density)
 Cpops::detail::TwoFieldChargeDensityRhsKernelNAMED functor (not an POPS_HD lambda) of the two-field RHS: r(i,j,0) = a0 u0 + a1 u1
 Cpops::validation::TwoFluidLinearIsothermal two-fluid electrostatic, linear mode (single Fourier k)
 Cpops::detail::UnpackKernel
 Cpops::UserTimeIntegrator
 Cpops::VanLeerVan Leer limiter: smooth, 2 ghosts, better order at extrema than Minmod
 Cpops::VariableA variable: name, physical role, component index in the state
 Cpops::VariableSetA model's variable set: kind (cons/prim), names, size, canonical roles (optional, parallel to names; absent -> Custom), and user_roles (optional string labels parallel to names, for components whose role is OUTSIDE the canonical enum)
 Cpops::detail::WaveSpeedCacheKernel< Model >WaveSpeedCacheKernel: evaluates model.wave_speeds per cell in both directions and stores (lo_x, hi_x, lo_y, hi_y) in a 4-component scratch
 Cpops::detail::WaveSpeedMatchKernel< Model >Locates the cell DOMINATING the CFL (dt_hotspot diagnostic, ADC-182): EQUALITY scan of the recomputed w – same functor and same data as MaxWaveSpeedKernel, hence bit-equal to the max returned by max_wave_speed_mf – which encodes the GLOBAL index j*nx + i as Real (exact as long as nx*ny < 2^53) and reduces to the MIN (first cell in lexicographic order: deterministic)
 Cpops::Weno5WENO5 tag policy: marks the stencil at 3 ghosts, delegates to weno5z
 Cpops::detail::ZeroConductorKernel