SchurCondensationOperator 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
|
Result of the Schur assembly: the coefficient MultiFab of the tensor operator A_op and the condensed right-hand side. More...
#include <schur_condensation.hpp>
Collaboration diagram for pops::SchurCondensationOperator:Public Attributes | |
| MultiFab | eps_x |
| diagonal A_xx = 1 + c rho binv_11 | |
| MultiFab | eps_y |
| diagonal A_yy = 1 + c rho binv_22 | |
| MultiFab | a_xy |
| cross A_xy = c rho binv_12 | |
| MultiFab | a_yx |
| cross A_yx = c rho binv_21 | |
| MultiFab | rhs |
| condensed right-hand side -Lap phi^n - theta dt alpha div(rho B^{-1} v^n) | |
Detailed Description
Result of the Schur assembly: the coefficient MultiFab of the tensor operator A_op and the condensed right-hand side.
Owns its own fields (move-only via the MultiFab internal std::vector): the caller (PR4) then passes them to GeometricMG::set_epsilon_anisotropic(eps_x, eps_y) + set_cross_terms-per-field / to the TensorKrylovSolver, and solves L_schur(phi) = rhs.
kappa stays ABSENT (the condensation produces no mass term): the operator is -div(A grad phi), not Helmholtz. eps_x == eps_y == (1 + c rho) and a_xy == a_yx == 0 when B_z == 0.
Member Data Documentation
◆ a_xy
| MultiFab pops::SchurCondensationOperator::a_xy |
cross A_xy = c rho binv_12
◆ a_yx
| MultiFab pops::SchurCondensationOperator::a_yx |
cross A_yx = c rho binv_21
◆ eps_x
| MultiFab pops::SchurCondensationOperator::eps_x |
diagonal A_xx = 1 + c rho binv_11
◆ eps_y
| MultiFab pops::SchurCondensationOperator::eps_y |
diagonal A_yy = 1 + c rho binv_22
◆ rhs
| MultiFab pops::SchurCondensationOperator::rhs |
condensed right-hand side -Lap phi^n - theta dt alpha div(rho B^{-1} v^n)
The documentation for this struct was generated from the following file:
- include/pops/coupling/schur/core/schur_condensation.hpp
Generated by