12 #ifndef MFEM_HYBRIDIZATION
13 #define MFEM_HYBRIDIZATION
15 #include "../config/config.hpp"
void GetParallelMatrix(OperatorHandle &H_h) const
Return the parallel hybridized matrix in the format specified by SetOperatorType().
FiniteElementSpace * c_fes
Array< int > Af_f_offsets
void SetConstraintIntegrator(BilinearFormIntegrator *c_integ)
void GetBDofs(int el, int &num_idofs, Array< int > &b_dofs) const
HypreParMatrix & GetParallelMatrix()
Return the parallel hybridized matrix.
Pointer to an Operator of a specified type.
Data type dense matrix using column-major storage.
void Reset()
Destroy the current hybridization matrix while preserving the computed constraint matrix and the set ...
void SetOperatorType(Operator::Type tid)
Set the operator type id for the parallel hybridized matrix/operator.
void Finalize()
Finalize the construction of the hybridized matrix.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
void AssembleBdrMatrix(int bdr_el, const DenseMatrix &A)
Assemble the boundary element matrix A into the hybridized system matrix.
SparseMatrix & GetMatrix()
Return the serial hybridized matrix.
void ComputeSolution(const Vector &b, const Vector &sol_r, Vector &sol) const
void MultAfInv(const Vector &b, const Vector &lambda, Vector &bf, int mode) const
BilinearFormIntegrator * c_bfi
Type
Enumeration defining IDs for some classes derived from Operator.
void AssembleMatrix(int el, const DenseMatrix &A)
Assemble the element matrix A into the hybridized system matrix.
void GetIBDofs(int el, Array< int > &i_dofs, Array< int > &b_dofs) const
~Hybridization()
Destructor.
Array< int > hat_dofs_marker
void ReduceRHS(const Vector &b, Vector &b_r) const
void Init(const Array< int > &ess_tdof_list)
Prepare the Hybridization object for assembly.
Wrapper for hypre's ParCSR matrix class.
Hybridization(FiniteElementSpace *fespace, FiniteElementSpace *c_fespace)
Constructor.
void SetType(Operator::Type tid)
Invoke Clear() and set a new type id.