SystemAssembler< System, RhsAssembler, Elliptic > Class Template 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
|
pops::SystemAssembler< System, RhsAssembler, Elliptic > Class Template Reference
ASSEMBLES the fields (system Poisson + shared aux) and a block residual evaluator. More...
#include <system_coupler.hpp>
Inheritance diagram for pops::SystemAssembler< System, RhsAssembler, Elliptic >:
Collaboration diagram for pops::SystemAssembler< System, RhsAssembler, Elliptic >:Public Member Functions | |
| SystemAssembler (System system, const Geometry &geom, const BoxArray &ba, const BCRec &bcPhi, RhsAssembler rhs_assembler, std::function< bool(Real, Real)> active={}, std::function< Real(Real, Real)> bz={}) | |
| System & | system () |
| const System & | system () const |
| MultiFab & | phi () |
| MultiFab & | aux () |
| const MultiFab & | aux () const |
| const Geometry & | geom () const |
| const BoxArray & | ba () const |
| const DistributionMapping & | dm () const |
| void | solve_fields () |
| Solves the system RHS (Sum_s q_s n_s), the Poisson, then derives aux = (phi, grad phi). | |
| template<class Limiter , class NumericalFlux , class Block > | |
| void | block_residual (Block &block, MultiFab &state, MultiFab &R, bool recompute_aux) |
Residual R = -div F + S of a block at a stage (with field re-solve if recompute_aux). | |
Detailed Description
template<CoupledSystemLike System, class RhsAssembler, class Elliptic = GeometricMG>
class pops::SystemAssembler< System, RhsAssembler, Elliptic >
class pops::SystemAssembler< System, RhsAssembler, Elliptic >
ASSEMBLES the fields (system Poisson + shared aux) and a block residual evaluator.
No time stepping.
- Template Parameters
-
System CoupledSystem. RhsAssembler Poisson RHS assembler. Elliptic elliptic backend (EllipticSolver concept, default GeometricMG).
Constructor & Destructor Documentation
◆ SystemAssembler()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
Member Function Documentation
◆ aux() [1/2]
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ aux() [2/2]
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ ba()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ block_residual()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
template<class Limiter , class NumericalFlux , class Block >
|
inline |
Residual R = -div F + S of a block at a stage (with field re-solve if recompute_aux).
This is the method-of-lines arrow the Driver passes to the TimeStepper. Fills the ghosts of state per block.bc before assembly.
Here is the call graph for this function:◆ dm()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ geom()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ phi()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ solve_fields()
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
Solves the system RHS (Sum_s q_s n_s), the Poisson, then derives aux = (phi, grad phi).
aux() is up to date on return.
Here is the caller graph for this function:◆ system() [1/2]
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
◆ system() [2/2]
template<CoupledSystemLike System, class RhsAssembler , class Elliptic = GeometricMG>
|
inline |
The documentation for this class was generated from the following file:
- include/pops/coupling/system/system_coupler.hpp
Generated by