12 #ifndef MFEM_PFEM_EXTRAS
13 #define MFEM_PFEM_EXTRAS
15 #include "../../config/config.hpp"
36 const int p,
const int space_dim = 3,
const int type = 0,
92 double alpha = 1.0,
double beta = 0.0);
94 HYPRE_Int
Mult(HYPRE_ParVector x, HYPRE_ParVector y,
95 double alpha = 1.0,
double beta = 0.0);
99 double alpha = 1.0,
double beta = 0.0);
216 int x = 0,
int y = 0,
int w = 400,
int h = 400);
222 #endif // MFEM_USE_MPI
RT_ParFESpace(ParMesh *m, const int p, const int space_dim, int vdim=1, int order=Ordering::byNODES)
virtual ~ParDiscreteInterpolationOperator()
L2_ParFESpace(ParMesh *m, const int p, const int space_dim, int vdim=1, int order=Ordering::byNODES)
IrrotationalProjector(ParFiniteElementSpace &H1FESpace, ParFiniteElementSpace &HCurlFESpace, ParDiscreteInterpolationOperator &Grad)
DivergenceFreeProjector(ParFiniteElementSpace &H1FESpace, ParFiniteElementSpace &HCurlFESpace, ParDiscreteInterpolationOperator &Grad)
HYPRE_Int MultTranspose(HypreParVector &x, HypreParVector &y, double alpha=1.0, double beta=0.0)
Computes y = alpha * A^t * x + beta * y.
int vdim
Vector dimension (number of unknowns per degree of freedom).
Abstract parallel finite element space.
virtual ~DivergenceFreeProjector()
ND_ParFESpace(ParMesh *m, const int p, const int space_dim, int vdim=1, int order=Ordering::byNODES)
The BoomerAMG solver in hypre.
HYPRE_Int Mult(HypreParVector &x, HypreParVector &y, double alpha=1.0, double beta=0.0)
Computes y = alpha * A * x + beta * y.
ParDiscreteCurlOperator(ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes)
void VisualizeField(socketstream &sock, const char *vishost, int visport, ParGridFunction &gf, const char *title, int x, int y, int w, int h)
ParDiscreteInterpolationOperator()
HypreParMatrix * ParallelAssemble()
void createMatrix() const
virtual ~IrrotationalProjector()
ParDiscreteGradOperator(ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes)
Wrapper for hypre's parallel vector class.
ParDiscreteDivOperator(ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes)
const HypreParMatrix & GetMatrix() const
ParDiscreteLinearOperator * pdlo_
Class for parallel grid function.
Wrapper for hypre's ParCSR matrix class.
virtual void Mult(const Vector &x, Vector &y) const
Operator application.
Class for parallel meshes.
virtual void Mult(const Vector &x, Vector &y) const
Operator application.
H1_ParFESpace(ParMesh *m, const int p, const int space_dim=3, const int type=0, int vdim=1, int order=Ordering::byNODES)