12 #ifndef MFEM_BILINEARFORM_EXT 13 #define MFEM_BILINEARFORM_EXT 15 #include "../config/config.hpp" 17 #include "../general/device.hpp" 23 class MixedBilinearForm;
24 class DiscreteLinearOperator;
54 MFEM_ABORT(
"AssembleDiagonal not implemented for this assembly level!");
62 int copy_interior = 0) = 0;
87 int copy_interior = 0);
122 mutable Vector dg_x, dg_y;
136 int copy_interior = 0);
167 int copy_interior = 0);
213 virtual void Update() = 0;
static MemoryClass GetMemoryClass()
(DEPRECATED) Equivalent to GetDeviceMemoryClass().
Pointer to an Operator of a specified type.
PADiscreteLinearOperatorExtension(DiscreteLinearOperator *linop)
static MemoryClass GetDeviceMemoryClass()
Get the current Device MemoryClass. This is the MemoryClass used by most MFEM device kernels to acces...
void FormRectangularSystemOperator(const Array< int > &, const Array< int > &, OperatorHandle &A)
Setup OperatorHandle A to contain constrained linear operator.
void Assemble()
Partial assembly of all internal integrators.
const Operator * GetOutputRestrictionTranspose() const
Transpose of GetOutputRestriction, directly available in this form to facilitate matrix-free RAP-type...
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
void AddMult(const Vector &x, Vector &y, const double c=1.0) const
y += c*A*x
Base class for operators that extracts Face degrees of freedom.
MemoryClass
Memory classes identify sets of memory types.
void AddMultTranspose(const Vector &x, Vector &y, const double c=1.0) const
y += c*A^T*x
Partial assembly extension for DiscreteLinearOperator.