GENERIC builder of the condensed source stage for the electrostatic + Lorentz source (kind="electrostatic_lorentz" on the future Python facade side, PR5).
More...
|
| | ElectrostaticLorentzCondensation (const VariableSet &vars, Real alpha, Real theta, Real dt) |
| | vars: descriptor of the fluid block; MUST expose the roles Density / MomentumX / MomentumY.
|
| |
| Real | c_coeff () const |
| | c = theta^2 dt^2 alpha
|
| |
| int | density_comp () const |
| |
| int | momentum_x_comp () const |
| |
| int | momentum_y_comp () const |
| |
| void | assemble_operator (const MultiFab &state, const MultiFab &bz, const Geometry &geom, const BCRec &bc, MultiFab &eps_x, MultiFab &eps_y, MultiFab &a_xy, MultiFab &a_yx) const |
| | Assembles ONLY the coefficients of the tensor operator A_op = I + c rho B^{-1} into MultiFab eps_x/eps_y (1 ghost, for the operator face harmonic mean) and a_xy/a_yx (1 ghost, for the face arithmetic mean of the cross fluxes).
|
| |
| void | assemble_rhs (MultiFab &phi_n, const MultiFab &state, const MultiFab &bz, const Geometry &geom, const BCRec &bc, MultiFab &rhs) const |
| | Assembles ONLY the condensed right-hand side -Lap phi^n - theta dt alpha div(rho B^{-1} v^n).
|
| |
| SchurCondensationOperator | assemble (MultiFab &phi_n, const MultiFab &state, const MultiFab &bz, const Geometry &geom, const BCRec &bc) const |
| | COMPLETE assembly (operator + RHS) into one SchurCondensationOperator object allocated on the layout of state.
|
| |
GENERIC builder of the condensed source stage for the electrostatic + Lorentz source (kind="electrostatic_lorentz" on the future Python facade side, PR5).
Reads the roles of a fluid block, does NOT solve. This is the "level 1+4 partial" object of docs/SCHUR_CONDENSATION_DESIGN.md restricted to ASSEMBLY (operator + RHS), without the solve nor the velocity reconstruction.
Assembles ONLY the coefficients of the tensor operator A_op = I + c rho B^{-1} into MultiFab eps_x/eps_y (1 ghost, for the operator face harmonic mean) and a_xy/a_yx (1 ghost, for the face arithmetic mean of the cross fluxes).
The ghosts are filled by the BC bc (zero-gradient extrapolation on the physical boundaries, like the existing eps wiring). state: fluid state (reads rho at the center); bz: B_z field at the center (1 ghost minimum recommended; read at (i,j) only here). state/bz/eps_x/... share BoxArray + DistributionMapping (same decomposition). MPI-clean.