12 #ifndef MFEM_PBILINEARFORM
13 #define MFEM_PBILINEARFORM
15 #include "../config/config.hpp"
171 int copy_interior = 0);
178 template <
typename OpType>
181 int copy_interior = 0)
185 OpType *A_ptr = Ah.
Is<OpType>();
186 MFEM_VERIFY(A_ptr,
"invalid OpType used");
198 template <
typename OpType>
203 OpType *A_ptr = Ah.
Is<OpType>();
204 MFEM_VERIFY(A_ptr,
"invalid OpType used");
274 #endif // MFEM_USE_MPI
virtual const Operator * GetProlongationMatrix()
ParDiscreteLinearOperator(ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes)
void SetOperatorType(Operator::Type tid)
Set the operator type id for the parallel reduced matrix/operator.
void EliminateRowsCols(const Array< int > &rows_cols, const HypreParVector &X, HypreParVector &B)
Pointer to an Operator of a specified type.
ParFiniteElementSpace * GetParTraceFESpace()
Return a pointer to the parallel reduced/trace FE space.
Abstract parallel finite element space.
virtual const SparseMatrix * GetRestrictionMatrix()
Get the R matrix which restricts a local dof vector to true dof vector.
virtual ~ParDiscreteLinearOperator()
void SetOperatorType(Operator::Type tid)
Set the operator type id for the parallel hybridized matrix/operator.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
HypreParMatrix * ParallelAssemble() const
Returns the matrix "assembled" on the true dofs.
Wrapper for hypre's parallel vector class.
ParFiniteElementSpace * domain_fes
Type
Enumeration defining IDs for some classes derived from Operator.
ParFiniteElementSpace * range_fes
void GetParBlocks(Array2D< HypreParMatrix * > &blocks) const
Class for parallel grid function.
Wrapper for hypre's ParCSR matrix class.
void SetType(Operator::Type tid)
Invoke Clear() and set a new type id.