12 #ifndef MFEM_COMPLEX_DPGWEAKFORM 13 #define MFEM_COMPLEX_DPGWEAKFORM 138 for (
int i = 0; i <
nblocks; i++)
142 dynamic_cast<const ND_Trace_FECollection*>(
trial_fes[i]->FEColl()) ||
143 dynamic_cast<const RT_Trace_FECollection*>(
trial_fes[i]->FEColl()));
160 MFEM_VERIFY(
mat_r,
"mat_r is NULL and can't be dereferenced");
166 MFEM_VERIFY(
mat_i,
"mat_i is NULL and can't be dereferenced");
173 MFEM_VERIFY(
mat_e_r,
"mat_e is NULL and can't be dereferenced");
180 MFEM_VERIFY(
mat_e_i,
"mat_e is NULL and can't be dereferenced");
207 int copy_interior = 0);
209 template <
typename OpType>
213 int copy_interior = 0)
217 OpType *A_ptr = Ah.
Is<OpType>();
218 MFEM_VERIFY(A_ptr,
"invalid OpType used");
225 template <
typename OpType>
230 OpType *A_ptr = Ah.
Is<OpType>();
231 MFEM_VERIFY(A_ptr,
"invalid OpType used");
260 if (
Bmat.Size() == 0)
Class that performs static condensation of interior dofs for multiple FE spaces for complex systems (...
A class to handle Vectors in a block fashion.
Mimic the action of a complex operator using two real operators.
Pointer to an Operator of a specified type.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
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.