12 #ifndef MFEM_DPGWEAKFORM 13 #define MFEM_DPGWEAKFORM 136 for (
int i = 0; i <
nblocks; i++)
140 dynamic_cast<const ND_Trace_FECollection*>(
trial_fes[i]->FEColl()) ||
141 dynamic_cast<const RT_Trace_FECollection*>(
trial_fes[i]->FEColl()));
158 MFEM_VERIFY(
mat,
"mat is NULL and can't be dereferenced");
165 MFEM_VERIFY(
mat_e,
"mat_e is NULL and can't be dereferenced");
203 Vector &B,
int copy_interior = 0);
209 template <
typename OpType>
212 int copy_interior = 0)
216 OpType *A_ptr = Ah.
Is<OpType>();
217 MFEM_VERIFY(A_ptr,
"invalid OpType used");
229 template <
typename OpType>
234 OpType *A_ptr = Ah.
Is<OpType>();
235 MFEM_VERIFY(A_ptr,
"invalid OpType used");
276 if (
Bmat.Size() == 0)
A class to handle Vectors in a block fashion.
Pointer to an Operator of a specified type.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
Class that performs static condensation of interior dofs for multiple FE spaces. This class is used i...
Arbitrary order "H^{1/2}-conforming" trace finite elements defined on the interface between mesh elem...
Set the diagonal value to one.
Dynamic 2D array using row-major layout.
void SetSize(int nsize)
Change the logical size of the array, keep existing entries.
int GetNE() const
Returns number of elements.
DiagonalPolicy
Defines operator diagonal policy upon elimination of rows and/or columns.
int Size() const
Return the logical size of the array.