15 #include "../config/config.hpp"
20 #include "../fem/fespace.hpp"
21 #include "../fem/gridfunc.hpp"
22 #include "../fem/pgridfunc.hpp"
23 #include "../fem/coefficient.hpp"
24 #include "../fem/bilininteg.hpp"
37 #include <apfNumbering.h>
38 #include <apfDynamicVector.h>
48 const int Attr, apf::Numbering* vert_num);
52 void ReadSCORECMesh(apf::Mesh2* apf_mesh, apf::Numbering* v_num_loc,
57 PumiMesh(apf::Mesh2* apf_mesh,
int generate_edges = 0,
int refine = 1,
58 bool fix_orientation =
true);
63 void Load(apf::Mesh2* apf_mesh,
int generate_edges = 0,
int refine = 1,
64 bool fix_orientation =
true);
75 apf::Numbering* v_num_loc;
79 const int Attr, apf::Numbering* vert_num);
91 apf::Field* VelMagField);
97 apf::Field* PrMagField);
102 apf::Field* VelField,
103 apf::Field* VelMagField);
110 apf::Field* ScalarField,
123 const int mesh_order);
131 #endif // MFEM_USE_MPI
132 #endif // MFEM_USE_PUMI
void FieldPUMItoMFEM(apf::Mesh2 *apf_mesh, apf::Field *ScalarField, ParGridFunction *Pr)
Transfer a field from PUMI to MFEM after mesh adapt [Scalar].
void UpdateMesh(const ParMesh *AdaptedpMesh)
Update the mesh after adaptation.
Class for grid function - Vector with associated FE space.
PumiMesh(apf::Mesh2 *apf_mesh, int generate_edges=0, int refine=1, bool fix_orientation=true)
Generate an MFEM mesh from a PUMI mesh.
Class for PUMI grid functions.
Base class for PUMI meshes.
Element * ReadElement(apf::MeshEntity *Ent, const int geom, apf::Downward Verts, const int Attr, apf::Numbering *vert_num)
void VectorFieldMFEMtoPUMI(apf::Mesh2 *apf_mesh, ParGridFunction *Vel, apf::Field *VelField, apf::Field *VelMagField)
Transfer field from MFEM mesh to PUMI mesh [Vector].
Class for PUMI parallel meshes.
virtual void Load(std::istream &input, int generate_edges=0, int refine=1, bool fix_orientation=true)
void FieldMFEMtoPUMI(apf::Mesh2 *apf_mesh, ParGridFunction *Vel, ParGridFunction *Pr, apf::Field *VelField, apf::Field *PrField, apf::Field *VelMagField)
Transfer field from MFEM mesh to PUMI mesh [Mixed].
void CountBoundaryEntity(apf::Mesh2 *apf_mesh, const int BcDim, int &NumBC)
Element * ReadElement(apf::MeshEntity *Ent, const int geom, apf::Downward Verts, const int Attr, apf::Numbering *vert_num)
virtual ~PumiMesh()
Destroys Mesh.
ParPumiMesh(MPI_Comm comm, apf::Mesh2 *apf_mesh)
Build a parallel MFEM mesh from a parallel PUMI mesh.
void Load(apf::Mesh2 *apf_mesh, int generate_edges=0, int refine=1, bool fix_orientation=true)
Load a PUMI mesh (following the steps in the MFEM Load function).
void ReadSCORECMesh(apf::Mesh2 *apf_mesh, apf::Numbering *v_num_loc, const int curved)
Class for parallel grid function.
GridFunctionPumi(Mesh *m, apf::Mesh2 *PumiM, apf::Numbering *v_num_loc, const int mesh_order)
Construct a GridFunction from a PUMI mesh.
Class for parallel meshes.
Abstract data type element.
virtual ~GridFunctionPumi()
Destroy the grid function.