MFEM
v3.3.2
Finite element discretization library
|
#include <pfem_extras.hpp>
Public Member Functions | |
ND_ParFESpace (ParMesh *m, const int p, const int space_dim, int vdim=1, int order=Ordering::byNODES) | |
~ND_ParFESpace () | |
Public Member Functions inherited from mfem::ParFiniteElementSpace | |
ParFiniteElementSpace (ParMesh *pm, const FiniteElementCollection *f, int dim=1, int ordering=Ordering::byNODES) | |
MPI_Comm | GetComm () const |
int | GetNRanks () const |
int | GetMyRank () const |
ParMesh * | GetParMesh () |
int | GetDofSign (int i) |
HYPRE_Int * | GetDofOffsets () const |
HYPRE_Int * | GetTrueDofOffsets () const |
HYPRE_Int | GlobalVSize () const |
HYPRE_Int | GlobalTrueVSize () const |
virtual int | GetTrueVSize () const |
Return the number of local vector true dofs. More... | |
virtual void | GetElementDofs (int i, Array< int > &dofs) const |
Returns indexes of degrees of freedom in array dofs for i'th element. More... | |
virtual void | GetBdrElementDofs (int i, Array< int > &dofs) const |
Returns indexes of degrees of freedom for i'th boundary element. More... | |
virtual void | GetFaceDofs (int i, Array< int > &dofs) const |
void | GetSharedEdgeDofs (int group, int ei, Array< int > &dofs) const |
void | GetSharedFaceDofs (int group, int fi, Array< int > &dofs) const |
HypreParMatrix * | Dof_TrueDof_Matrix () const |
The true dof-to-dof interpolation matrix. More... | |
HypreParMatrix * | GetPartialConformingInterpolation () |
For a non-conforming mesh, construct and return the interpolation matrix from the partially conforming true dofs to the local dofs. The returned pointer must be deleted by the caller. More... | |
HypreParVector * | NewTrueDofVector () |
void | DivideByGroupSize (double *vec) |
Scale a vector of true dofs. More... | |
GroupCommunicator & | GroupComm () |
Return a reference to the internal GroupCommunicator (on VDofs) More... | |
GroupCommunicator * | ScalarGroupComm () |
Return a new GroupCommunicator on Dofs. More... | |
void | Synchronize (Array< int > &ldof_marker) const |
virtual void | GetEssentialVDofs (const Array< int > &bdr_attr_is_ess, Array< int > &ess_dofs, int component=-1) const |
Determine the boundary degrees of freedom. More... | |
virtual void | GetEssentialTrueDofs (const Array< int > &bdr_attr_is_ess, Array< int > &ess_tdof_list, int component=-1) |
int | GetLocalTDofNumber (int ldof) const |
HYPRE_Int | GetGlobalTDofNumber (int ldof) const |
Returns the global tdof number of the given local degree of freedom. More... | |
HYPRE_Int | GetGlobalScalarTDofNumber (int sldof) |
HYPRE_Int | GetMyDofOffset () const |
HYPRE_Int | GetMyTDofOffset () const |
virtual const Operator * | GetProlongationMatrix () |
virtual const SparseMatrix * | GetRestrictionMatrix () |
Get the R matrix which restricts a local dof vector to true dof vector. More... | |
void | ExchangeFaceNbrData () |
int | GetFaceNbrVSize () const |
void | GetFaceNbrElementVDofs (int i, Array< int > &vdofs) const |
void | GetFaceNbrFaceVDofs (int i, Array< int > &vdofs) const |
const FiniteElement * | GetFaceNbrFE (int i) const |
const FiniteElement * | GetFaceNbrFaceFE (int i) const |
const HYPRE_Int * | GetFaceNbrGlobalDofMap () |
void | Lose_Dof_TrueDof_Matrix () |
void | LoseDofOffsets () |
void | LoseTrueDofOffsets () |
bool | Conforming () const |
bool | Nonconforming () const |
virtual void | Update (bool want_transform=true) |
virtual void | UpdatesFinished () |
Free ParGridFunction transformation matrix (if any), to save memory. More... | |
virtual | ~ParFiniteElementSpace () |
int | TrueVSize () const |
Public Member Functions inherited from mfem::FiniteElementSpace | |
FiniteElementSpace (Mesh *mesh, const FiniteElementCollection *fec, int vdim=1, int ordering=Ordering::byNODES) | |
Mesh * | GetMesh () const |
Returns the mesh. More... | |
NURBSExtension * | GetNURBSext () |
NURBSExtension * | StealNURBSext () |
bool | Conforming () const |
bool | Nonconforming () const |
const SparseMatrix * | GetConformingProlongation () const |
const SparseMatrix * | GetConformingRestriction () const |
int | GetVDim () const |
Returns vector dimension. More... | |
int | GetOrder (int i) const |
Returns the order of the i'th finite element. More... | |
int | GetFaceOrder (int i) const |
Returns the order of the i'th face finite element. More... | |
int | GetNDofs () const |
Returns number of degrees of freedom. More... | |
int | GetVSize () const |
int | GetNConformingDofs () const |
int | GetConformingVSize () const |
Ordering::Type | GetOrdering () const |
Return the ordering method. More... | |
const FiniteElementCollection * | FEColl () const |
int | GetNVDofs () const |
int | GetNEDofs () const |
int | GetNFDofs () const |
int | GetNE () const |
Returns number of elements in the mesh. More... | |
int | GetNV () const |
Returns number of nodes in the mesh. More... | |
int | GetNBE () const |
Returns number of boundary elements in the mesh. More... | |
int | GetElementType (int i) const |
Returns the type of element i. More... | |
void | GetElementVertices (int i, Array< int > &vertices) const |
Returns the vertices of element i. More... | |
int | GetBdrElementType (int i) const |
Returns the type of boundary element i. More... | |
ElementTransformation * | GetElementTransformation (int i) const |
Returns ElementTransformation for the i'th element. More... | |
void | GetElementTransformation (int i, IsoparametricTransformation *ElTr) |
ElementTransformation * | GetBdrElementTransformation (int i) const |
Returns ElementTransformation for the i'th boundary element. More... | |
int | GetAttribute (int i) const |
int | GetBdrAttribute (int i) const |
void | GetEdgeDofs (int i, Array< int > &dofs) const |
void | GetVertexDofs (int i, Array< int > &dofs) const |
void | GetElementInteriorDofs (int i, Array< int > &dofs) const |
void | GetFaceInteriorDofs (int i, Array< int > &dofs) const |
int | GetNumElementInteriorDofs (int i) const |
void | GetEdgeInteriorDofs (int i, Array< int > &dofs) const |
void | DofsToVDofs (Array< int > &dofs, int ndofs=-1) const |
void | DofsToVDofs (int vd, Array< int > &dofs, int ndofs=-1) const |
int | DofToVDof (int dof, int vd, int ndofs=-1) const |
int | VDofToDof (int vdof) const |
void | GetElementVDofs (int i, Array< int > &vdofs) const |
Returns indexes of degrees of freedom in array dofs for i'th element. More... | |
void | GetBdrElementVDofs (int i, Array< int > &vdofs) const |
Returns indexes of degrees of freedom for i'th boundary element. More... | |
void | GetFaceVDofs (int i, Array< int > &vdofs) const |
Returns indexes of degrees of freedom for i'th face element (2D and 3D). More... | |
void | GetEdgeVDofs (int i, Array< int > &vdofs) const |
Returns indexes of degrees of freedom for i'th edge. More... | |
void | GetVertexVDofs (int i, Array< int > &vdofs) const |
void | GetElementInteriorVDofs (int i, Array< int > &vdofs) const |
void | GetEdgeInteriorVDofs (int i, Array< int > &vdofs) const |
void | RebuildElementToDofTable () |
void | ReorderElementToDofTable () |
Reorder the scalar DOFs based on the element ordering. More... | |
void | BuildDofToArrays () |
const Table & | GetElementToDofTable () const |
const Table & | GetBdrElementToDofTable () const |
int | GetElementForDof (int i) const |
int | GetLocalDofForDof (int i) const |
const FiniteElement * | GetFE (int i) const |
Returns pointer to the FiniteElement associated with i'th element. More... | |
const FiniteElement * | GetBE (int i) const |
Returns pointer to the FiniteElement for the i'th boundary element. More... | |
const FiniteElement * | GetFaceElement (int i) const |
const FiniteElement * | GetEdgeElement (int i) const |
const FiniteElement * | GetTraceElement (int i, int geom_type) const |
Return the trace element from element 'i' to the given 'geom_type'. More... | |
void | ConvertToConformingVDofs (const Array< int > &dofs, Array< int > &cdofs) |
void | ConvertFromConformingVDofs (const Array< int > &cdofs, Array< int > &dofs) |
SparseMatrix * | D2C_GlobalRestrictionMatrix (FiniteElementSpace *cfes) |
SparseMatrix * | D2Const_GlobalRestrictionMatrix (FiniteElementSpace *cfes) |
SparseMatrix * | H2L_GlobalRestrictionMatrix (FiniteElementSpace *lfes) |
const Operator * | GetUpdateOperator () |
Get the GridFunction update matrix. More... | |
void | SetUpdateOperatorOwner (bool own) |
Set the ownership of the update operator: if set to false, the Operator returned by GetUpdateOperator() must be deleted outside the FiniteElementSpace. More... | |
long | GetSequence () const |
Return update counter (see Mesh::sequence) More... | |
void | Save (std::ostream &out) const |
virtual | ~FiniteElementSpace () |
Additional Inherited Members | |
Static Public Member Functions inherited from mfem::FiniteElementSpace | |
static void | AdjustVDofs (Array< int > &vdofs) |
static void | MarkerToList (const Array< int > &marker, Array< int > &list) |
Convert a Boolean marker array to a list containing all marked indices. More... | |
static void | ListToMarker (const Array< int > &list, int marker_size, Array< int > &marker, int mark_val=-1) |
Public Attributes inherited from mfem::ParFiniteElementSpace | |
int | num_face_nbr_dofs |
Table | face_nbr_element_dof |
Table | face_nbr_ldof |
Array< HYPRE_Int > | face_nbr_glob_dof_map |
Table | send_face_nbr_ldof |
Protected Member Functions inherited from mfem::FiniteElementSpace | |
void | UpdateNURBS () |
void | Construct () |
void | Destroy () |
void | BuildElementToDofTable () const |
void | GetEdgeFaceDofs (int type, int index, Array< int > &dofs) const |
void | GetConformingInterpolation () const |
Calculate the cP and cR matrices for a nonconforming mesh. More... | |
void | MakeVDimMatrix (SparseMatrix &mat) const |
SparseMatrix * | RefinementMatrix (int old_ndofs, const Table *old_elem_dof) |
Calculate GridFunction interpolation matrix after mesh refinement. More... | |
void | GetLocalDerefinementMatrices (int geom, const CoarseFineTransformations &dt, DenseTensor &localR) |
SparseMatrix * | DerefinementMatrix (int old_ndofs, const Table *old_elem_dof) |
Calculate GridFunction restriction matrix after mesh derefinement. More... | |
Protected Attributes inherited from mfem::FiniteElementSpace | |
Mesh * | mesh |
The mesh that FE space lives on. More... | |
const FiniteElementCollection * | fec |
int | vdim |
Vector dimension (number of unknowns per degree of freedom). More... | |
Ordering::Type | ordering |
int | ndofs |
Number of degrees of freedom. Number of unknowns are ndofs*vdim. More... | |
int | nvdofs |
int | nedofs |
int | nfdofs |
int | nbdofs |
int * | fdofs |
int * | bdofs |
Table * | elem_dof |
Table * | bdrElem_dof |
Array< int > | dof_elem_array |
Array< int > | dof_ldof_array |
NURBSExtension * | NURBSext |
int | own_ext |
SparseMatrix * | cP |
SparseMatrix * | cR |
Conforming restriction matrix such that cR.cP=I. More... | |
bool | cP_is_set |
Operator * | T |
Transformation to apply to GridFunctions after space Update(). More... | |
bool | own_T |
long | sequence |
The ND_ParFESpace class is a ParFiniteElementSpace which automatically allocates and destroys its own FiniteElementCollection, in this case an ND_FECollection object.
Definition at line 47 of file pfem_extras.hpp.
mfem::miniapps::ND_ParFESpace::ND_ParFESpace | ( | ParMesh * | m, |
const int | p, | ||
const int | space_dim, | ||
int | vdim = 1 , |
||
int | order = Ordering::byNODES |
||
) |
Definition at line 37 of file pfem_extras.cpp.
mfem::miniapps::ND_ParFESpace::~ND_ParFESpace | ( | ) |
Definition at line 44 of file pfem_extras.cpp.