MFEM v4.7.0
Finite element discretization library
|
Perform elimination of a single constraint. More...
#include <constraints.hpp>
Public Member Functions | |
Eliminator (const SparseMatrix &B, const Array< int > &lagrange_dofs, const Array< int > &primary_tdofs, const Array< int > &secondary_tdofs) | |
const Array< int > & | LagrangeDofs () const |
const Array< int > & | PrimaryDofs () const |
const Array< int > & | SecondaryDofs () const |
void | Eliminate (const Vector &in, Vector &out) const |
void | EliminateTranspose (const Vector &in, Vector &out) const |
Transpose of Eliminate(), applies \( -B_p^T B_s^{-T} \). | |
void | LagrangeSecondary (const Vector &in, Vector &out) const |
Maps Lagrange multipliers to secondary dofs, applies \( B_s^{-1} \). | |
void | LagrangeSecondaryTranspose (const Vector &in, Vector &out) const |
Transpose of LagrangeSecondary() | |
void | ExplicitAssembly (DenseMatrix &mat) const |
Return \( -B_s^{-1} B_p \) explicitly assembled in mat. | |
Perform elimination of a single constraint.
See EliminationProjection, EliminationCGSolver
This keeps track of primary / secondary tdofs and does small dense block solves to eliminate constraints from a global system.
\( B_s^{-1} \) maps the lagrange space into secondary dofs, while \( -B_s^{-1} B_p \) maps primary dofs to secondary dofs.
Definition at line 119 of file constraints.hpp.
mfem::Eliminator::Eliminator | ( | const SparseMatrix & | B, |
const Array< int > & | lagrange_dofs, | ||
const Array< int > & | primary_tdofs, | ||
const Array< int > & | secondary_tdofs ) |
Definition at line 22 of file constraints.cpp.
Given primary dofs in in, return secondary dofs in out This applies \( -B_s^{-1} B_p \).
Definition at line 51 of file constraints.cpp.
Transpose of Eliminate(), applies \( -B_p^T B_s^{-T} \).
Definition at line 58 of file constraints.cpp.
void mfem::Eliminator::ExplicitAssembly | ( | DenseMatrix & | mat | ) | const |
Return \( -B_s^{-1} B_p \) explicitly assembled in mat.
Definition at line 79 of file constraints.cpp.
|
inline |
Definition at line 126 of file constraints.hpp.
Maps Lagrange multipliers to secondary dofs, applies \( B_s^{-1} \).
Definition at line 66 of file constraints.cpp.
Transpose of LagrangeSecondary()
Definition at line 72 of file constraints.cpp.
|
inline |
Definition at line 127 of file constraints.hpp.
|
inline |
Definition at line 128 of file constraints.hpp.