12 #ifndef MFEM_HYBRIDIZATION 13 #define MFEM_HYBRIDIZATION 15 #include "../config/config.hpp" void GetBDofs(int el, int &num_idofs, Array< int > &b_dofs) const
FiniteElementSpace * c_fes
Array< int > Af_f_offsets
void SetConstraintIntegrator(BilinearFormIntegrator *c_integ)
HypreParMatrix & GetParallelMatrix()
Return the parallel hybridized matrix.
Pointer to an Operator of a specified type.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
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 ReduceRHS(const Vector &b, Vector &b_r) const
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.
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.
BilinearFormIntegrator * c_bfi
void GetParallelMatrix(OperatorHandle &H_h) const
Return the parallel hybridized matrix in the format specified by SetOperatorType().
Type
Enumeration defining IDs for some classes derived from Operator.
void GetIBDofs(int el, Array< int > &i_dofs, Array< int > &b_dofs) const
void AssembleMatrix(int el, const DenseMatrix &A)
Assemble the element matrix A into the hybridized system matrix.
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
~Hybridization()
Destructor.
void MultAfInv(const Vector &b, const Vector &lambda, Vector &bf, int mode) const
Array< int > hat_dofs_marker
void Init(const Array< int > &ess_tdof_list)
Prepare the Hybridization object for assembly.
Wrapper for hypre's ParCSR matrix class.
void ComputeSolution(const Vector &b, const Vector &sol_r, Vector &sol) const
Hybridization(FiniteElementSpace *fespace, FiniteElementSpace *c_fespace)
Constructor.
void SetType(Operator::Type tid)
Invoke Clear() and set a new type id.