12#ifndef MFEM_COMPLEX_DPGWEAKFORM
13#define MFEM_COMPLEX_DPGWEAKFORM
138 for (
int i = 0; i <
nblocks; i++)
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)
Dynamic 2D array using row-major layout.
void SetSize(int nsize)
Change the logical size of the array, keep existing entries.
int Size() const
Return the logical size of the array.
A class to handle Vectors in a block fashion.
Class that performs static condensation of interior dofs for multiple FE spaces for complex systems (...
Mimic the action of a complex operator using two real operators.
Arbitrary order "H^{1/2}-conforming" trace finite elements defined on the interface between mesh elem...
int GetNE() const
Returns number of elements.
Arbitrary order H(curl)-trace finite elements defined on the interface between mesh elements (faces,...
Pointer to an Operator of a specified type.
OpType * Is() const
Return the Operator pointer dynamically cast to a specified OpType.
DiagonalPolicy
Defines operator diagonal policy upon elimination of rows and/or columns.
@ DIAG_ONE
Set the diagonal value to one.
Arbitrary order "H^{-1/2}-conforming" face finite elements defined on the interface between mesh elem...