MFEM v2.0
|
#include <mesh.hpp>
Classes | |
class | FaceInfo |
Public Types | |
enum | { NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE } |
Public Member Functions | |
Mesh () | |
Mesh (int _Dim, int NVert, int NElem, int NBdrElem=0) | |
void | AddVertex (double *) |
void | AddElement (Element *elem) |
void | AddTri (int *vi, int attr=1) |
void | AddTriangle (int *vi, int attr=1) |
void | AddQuad (int *vi, int attr=1) |
void | AddTet (int *vi, int attr=1) |
void | AddHex (int *vi, int attr=1) |
void | AddBdrSegment (int *vi, int attr=1) |
void | AddBdrTriangle (int *vi, int attr=1) |
void | AddBdrQuad (int *vi, int attr=1) |
void | GenerateBoundaryElements () |
void | FinalizeTriMesh (int generate_edges=0, int refine=0) |
void | FinalizeQuadMesh (int generate_edges=0, int refine=0) |
void | FinalizeTetMesh (int generate_edges=0, int refine=0) |
void | FinalizeHexMesh (int generate_edges=0, int refine=0) |
void | SetAttributes () |
Mesh (int nx, int ny, Element::Type type, int generate_edges=0, double sx=1.0, double sy=1.0) | |
Mesh (int n) | |
Mesh (istream &input, int generate_edges=0, int refine=1) | |
Mesh (Mesh *mesh_array[], int num_pieces) | |
Create a disjoint mesh from the given mesh array. | |
void | Load (istream &input, int generate_edges=0, int refine=1) |
void | SetNodalFESpace (FiniteElementSpace *nfes) |
void | SetNodalGridFunction (GridFunction *nodes) |
const FiniteElementSpace * | GetNodalFESpace () |
int | MeshGenerator () |
Truegrid or NetGen? | |
int | GetNV () const |
Returns number of vertices. | |
int | GetNE () const |
Returns number of elements. | |
int | GetNBE () const |
Returns number of boundary elements. | |
int | GetNEdges () const |
Return the number of edges. | |
int | GetNFaces () const |
int | EulerNumber () const |
Equals 1 + num_holes - num_loops. | |
int | EulerNumber2D () const |
Equals 1 - num_holes. | |
int | Dimension () const |
const double * | GetVertex (int i) const |
Return pointer to vertex i's coordinates. | |
double * | GetVertex (int i) |
const Element * | GetElement (int i) const |
Element * | GetElement (int i) |
const Element * | GetBdrElement (int i) const |
Element * | GetBdrElement (int i) |
const Element * | GetFace (int i) const |
int | GetFaceBaseGeometry (int i) const |
int | GetElementBaseGeometry (int i) const |
int | GetBdrElementBaseGeometry (int i) const |
void | GetElementVertices (int i, Array< int > &dofs) const |
Returns the indices of the dofs of element i. | |
void | GetBdrElementVertices (int i, Array< int > &dofs) const |
Returns the indices of the dofs of boundary element i. | |
void | GetElementEdges (int i, Array< int > &, Array< int > &) const |
Return the indices and the orientations of all edges of element i. | |
void | GetBdrElementEdges (int i, Array< int > &, Array< int > &) const |
Return the indices and the orientations of all edges of bdr element i. | |
void | GetFaceEdges (int i, Array< int > &, Array< int > &) const |
Return the indices and the orientations of all edges of face i. | |
void | GetFaceVertices (int i, Array< int > &vert) const |
Returns the indices of the vertices of face i. | |
void | GetEdgeVertices (int i, Array< int > &vert) const |
Returns the indices of the vertices of edge i. | |
Table * | GetFaceEdgeTable () const |
Returns the face-to-edge Table (3D) | |
Table * | GetEdgeVertexTable () const |
Returns the edge-to-vertex Table (3D) | |
void | GetElementFaces (int i, Array< int > &, Array< int > &) const |
Return the indices and the orientations of all faces of element i. | |
void | GetBdrElementFace (int i, int *, int *) const |
Return the index and the orientation of the face of bdr element i. (3D) | |
int | GetBdrElementEdgeIndex (int i) const |
int | GetElementType (int i) const |
Returns the type of element i. | |
int | GetBdrElementType (int i) const |
Returns the type of boundary element i. | |
void | GetPointMatrix (int i, DenseMatrix &pointmat) const |
void | GetBdrPointMatrix (int i, DenseMatrix &pointmat) const |
void | GetElementTransformation (int i, IsoparametricTransformation *ElTr) |
ElementTransformation * | GetElementTransformation (int i) |
Returns the transformation defining the i-th element. | |
void | GetElementTransformation (int i, const Vector &nodes, IsoparametricTransformation *ElTr) |
ElementTransformation * | GetBdrElementTransformation (int i) |
Returns the transformation defining the i-th boundary element. | |
void | GetFaceTransformation (int i, IsoparametricTransformation *FTr) |
ElementTransformation * | GetFaceTransformation (int FaceNo) |
Returns the transformation defining the given face element. | |
FaceElementTransformations * | GetFaceElementTransformations (int FaceNo, int mask=31) |
FaceElementTransformations * | GetInteriorFaceTransformations (int FaceNo) |
FaceElementTransformations * | GetBdrFaceTransformations (int BdrElemNo) |
void | GetFaceElements (int Face, int *Elem1, int *Elem2) |
void | GetFaceInfos (int Face, int *Inf1, int *Inf2) |
void | CheckElementOrientation () |
Check the orientation of the elements. | |
void | CheckBdrElementOrientation () |
Check the orientation of the boundary elements. | |
int | GetAttribute (int i) const |
Return the attribute of element i. | |
int | GetBdrAttribute (int i) const |
Return the attribute of boundary element i. | |
const Table & | ElementToElementTable () |
const Table & | ElementToFaceTable () const |
const Table & | ElementToEdgeTable () const |
Table * | GetVertexToElementTable () |
The returned Table must be destroyed by the caller. | |
virtual void | ReorientTetMesh () |
int * | CartesianPartitioning (int nxyz[]) |
int * | GeneratePartitioning (int nparts, int part_method=1) |
void | CheckPartitioning (int *partitioning) |
void | CheckDisplacements (const Vector &displacements, double &tmax) |
void | MoveVertices (const Vector &displacements) |
void | GetVertices (Vector &vert_coord) const |
void | SetVertices (const Vector &vert_coord) |
void | MoveNodes (const Vector &displacements) |
void | GetNodes (Vector &node_coord) const |
void | SetNodes (const Vector &node_coord) |
GridFunction * | GetNodes () |
Return a pointer to the internal node grid function. | |
void | NewNodes (GridFunction &nodes) |
virtual void | LocalRefinement (const Array< int > &marked_el, int type=3) |
Refine the marked elements. | |
void | UniformRefinement () |
void | KnotInsert (Array< KnotVector * > &kv) |
void | DegreeElevate (int t) |
void | UseTwoLevelState (int use) |
void | SetState (int s) |
Change the mesh state to NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE. | |
int | GetNumFineElems (int i) |
int | GetRefinementType (int i) |
For a given coarse element i returns its refinement type. | |
int | GetFineElem (int i, int j) |
ElementTransformation * | GetFineElemTrans (int i, int j) |
virtual void | PrintXG (ostream &out=cout) const |
Print the mesh to the given stream using Netgen/Truegrid format. | |
virtual void | Print (ostream &out=cout) const |
Print the mesh to the given stream using the default MFEM mesh format. | |
void | PrintVTK (ostream &out) |
Print the mesh in VTK format (linear and quadratic meshes only). | |
void | PrintVTK (ostream &out, int ref, int field_data=0) |
void | GetElementColoring (Array< int > &colors, int el0=0) |
void | PrintWithPartitioning (int *partitioning, ostream &out, int elem_attr=0) const |
void | PrintElementsWithPartitioning (int *partitioning, ostream &out, int interior_faces=0) |
void | ScaleSubdomains (double sf) |
void | ScaleElements (double sf) |
void | Transform (void(*f)(const Vector &, Vector &)) |
double | GetElementSize (int i, int type=0) |
double | GetElementSize (int i, const Vector &dir) |
double | GetElementVolume (int i) |
void | PrintCharacteristics (Vector *Vh=NULL, Vector *Vk=NULL) |
virtual | ~Mesh () |
Destroys mesh. | |
Public Attributes | |
Array< int > | attributes |
Array< int > | bdr_attributes |
NURBSExtension * | NURBSext |
Protected Member Functions | |
Element * | NewElement (int geom) |
void | Init () |
void | InitTables () |
void | DeleteTables () |
void | DeleteCoarseTables () |
Element * | ReadElement (istream &) |
double | GetLength (int i, int j) const |
Return the length of the segment from node i to node j. | |
void | GetElementJacobian (int i, DenseMatrix &J) |
void | MarkForRefinement () |
void | MarkTriMeshForRefinement () |
void | MarkTetMeshForRefinement () |
STable3D * | GetFacesTable () |
STable3D * | GetElementToFaceTable (int ret_ftbl=0) |
void | RedRefinement (int i, const DSTable &v_to_v, int *edge1, int *edge2, int *middle) |
void | GreenRefinement (int i, const DSTable &v_to_v, int *edge1, int *edge2, int *middle) |
void | Bisection (int i, const DSTable &, int *, int *, int *) |
void | Bisection (int i, const DSTable &, int *) |
void | UniformRefinement (int i, const DSTable &, int *, int *, int *) |
void | AverageVertices (int *indexes, int n, int result) |
void | UpdateNodes () |
Update the nodes of a curved mesh after refinement. | |
virtual void | QuadUniformRefinement () |
Refine quadrilateral mesh. | |
virtual void | HexUniformRefinement () |
Refine hexahedral mesh. | |
virtual void | NURBSUniformRefinement () |
Refine NURBS mesh. | |
void | LoadPatchTopo (istream &input, Array< int > &edge_to_knot) |
Read NURBS patch/macro-element mesh. | |
void | UpdateNURBS () |
void | PrintTopo (ostream &out, const Array< int > &e_to_k) const |
void | BisectTriTrans (DenseMatrix &pointmat, Triangle *tri, int child) |
void | BisectTetTrans (DenseMatrix &pointmat, Tetrahedron *tet, int child) |
int | GetFineElemPath (int i, int j) |
int | GetBisectionHierarchy (Element *E) |
FiniteElement * | GetTransformationFEforElementType (int) |
void | GetLocalSegToTriTransformation (IsoparametricTransformation &loc, int i) |
Used in GetFaceElementTransformations (...) | |
void | GetLocalSegToQuadTransformation (IsoparametricTransformation &loc, int i) |
void | GetLocalTriToTetTransformation (IsoparametricTransformation &loc, int i) |
Used in GetFaceElementTransformations (...) | |
void | GetLocalQuadToHexTransformation (IsoparametricTransformation &loc, int i) |
Used in GetFaceElementTransformations (...) | |
void | GetVertexToVertexTable (DSTable &) const |
int | GetElementToEdgeTable (Table &, Array< int > &) |
void | AddSegmentFaceElement (int lf, int gf, int el, int v0, int v1) |
Used in GenerateFaces() | |
void | AddTriangleFaceElement (int lf, int gf, int el, int v0, int v1, int v2) |
void | AddQuadFaceElement (int lf, int gf, int el, int v0, int v1, int v2, int v3) |
void | FreeElement (Element *E) |
void | GenerateFaces () |
Static Protected Member Functions | |
static void | PrintElement (Element *, ostream &) |
static int | GetTriOrientation (const int *base, const int *test) |
Returns the orientation of "test" relative to "base". | |
static int | GetQuadOrientation (const int *base, const int *test) |
Returns the orientation of "test" relative to "base". | |
static void | GetElementArrayEdgeTable (const Array< Element * > &elem_array, const DSTable &v_to_v, Table &el_to_edge) |
static void | ShiftL2R (int &, int &, int &) |
static void | Rotate3 (int &, int &, int &) |
Protected Attributes | |
int | Dim |
int | NumOfVertices |
int | NumOfElements |
int | NumOfBdrElements |
int | NumOfEdges |
int | NumOfFaces |
int | State |
int | WantTwoLevelState |
int | meshgen |
int | c_NumOfVertices |
int | c_NumOfElements |
int | c_NumOfBdrElements |
int | f_NumOfVertices |
int | f_NumOfElements |
int | f_NumOfBdrElements |
int | c_NumOfEdges |
int | c_NumOfFaces |
int | f_NumOfEdges |
int | f_NumOfFaces |
Array< Element * > | elements |
Array< Vertex > | vertices |
Array< Element * > | boundary |
Array< Element * > | faces |
Array< FaceInfo > | faces_info |
Table * | el_to_edge |
Table * | el_to_face |
Table * | el_to_el |
Array< int > | be_to_edge |
Table * | bel_to_edge |
Array< int > | be_to_face |
Table * | face_edge |
Table * | edge_vertex |
Table * | c_el_to_edge |
Table * | f_el_to_edge |
Table * | c_bel_to_edge |
Table * | f_bel_to_edge |
Array< int > | fc_be_to_edge |
Table * | c_el_to_face |
Table * | f_el_to_face |
Array< FaceInfo > | fc_faces_info |
IsoparametricTransformation | Transformation |
IsoparametricTransformation | Transformation2 |
IsoparametricTransformation | FaceTransformation |
FaceElementTransformations | FaceElemTr |
GridFunction * | Nodes |
int | own_nodes |
Friends | |
class | NURBSExtension |
anonymous enum |
Mesh::Mesh | ( | ) | [inline] |
Mesh::Mesh | ( | int | _Dim, |
int | NVert, | ||
int | NElem, | ||
int | NBdrElem = 0 |
||
) |
Definition at line 574 of file mesh.cpp.
References boundary, Dim, elements, Init(), InitTables(), NumOfBdrElements, NumOfElements, NumOfVertices, Array< T >::SetSize(), and vertices.
Mesh::Mesh | ( | int | nx, |
int | ny, | ||
Element::Type | type, | ||
int | generate_edges = 0 , |
||
double | sx = 1.0 , |
||
double | sy = 1.0 |
||
) |
Creates mesh for the unit square, divided into nx * ny quadrilaterals if type = QUADRILATERAL or into 2*nx*ny triangles if type = TRIANGLE. If generate_edges = 0 (default) edges are not generated, if 1 edges are generated.
Definition at line 864 of file mesh.cpp.
References Array< T >::Append(), attributes, bdr_attributes, be_to_edge, boundary, CheckBdrElementOrientation(), CheckElementOrientation(), Dim, el_to_edge, elements, GenerateFaces(), GetElementToEdgeTable(), Init(), InitTables(), MarkTriMeshForRefinement(), meshgen, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, Element::QUADRILATERAL, Array< T >::SetSize(), Element::TRIANGLE, and vertices.
Mesh::Mesh | ( | int | n | ) | [explicit] |
Creates 1D mesh , divided into n equal intervals.
Definition at line 1012 of file mesh.cpp.
References boundary, Dim, elements, Init(), InitTables(), meshgen, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, Array< T >::SetSize(), and vertices.
Mesh::Mesh | ( | istream & | input, |
int | generate_edges = 0 , |
||
int | refine = 1 |
||
) |
Creates mesh by reading data stream in netgen format. If generate_edges = 0 (default) edges are not generated, if 1 edges are generated.
Definition at line 1048 of file mesh.cpp.
References Init(), InitTables(), and Load().
Mesh::Mesh | ( | Mesh * | mesh_array[], |
int | num_pieces | ||
) |
Create a disjoint mesh from the given mesh array.
Definition at line 2038 of file mesh.cpp.
References be_to_edge, boundary, Dim, Dimension(), Element::Duplicate(), el_to_edge, elements, GenerateFaces(), GetAttribute(), GetBdrElement(), GetElement(), NURBSExtension::GetElementLocalToGlobal(), GetElementToEdgeTable(), GetElementToFaceTable(), NURBSExtension::GetElementTopo(), GetNBE(), GetNE(), NURBSExtension::GetNE(), GetNodes(), GetNV(), NURBSExtension::GetNV(), Element::GetNVertices(), GetVertex(), NURBSExtension::GetVertexLocalToGlobal(), Element::GetVertices(), Init(), InitTables(), meshgen, MeshGenerator(), Nodes, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, NURBSext, NURBSExtension, own_nodes, SetAttributes(), Array< T >::SetSize(), and vertices.
Mesh::~Mesh | ( | ) | [virtual] |
Destroys mesh.
Definition at line 7014 of file mesh.cpp.
References boundary, DeleteTables(), elements, faces, FreeElement(), Nodes, NumOfBdrElements, NumOfElements, NURBSext, own_nodes, and Array< T >::Size().
void Mesh::AddBdrQuad | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 643 of file mesh.cpp.
References boundary, and NumOfBdrElements.
void Mesh::AddBdrSegment | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 633 of file mesh.cpp.
References boundary, and NumOfBdrElements.
void Mesh::AddBdrTriangle | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 638 of file mesh.cpp.
References boundary, and NumOfBdrElements.
void Mesh::AddElement | ( | Element * | elem | ) | [inline] |
Definition at line 233 of file mesh.hpp.
References elements, and NumOfElements.
void Mesh::AddHex | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 628 of file mesh.cpp.
References elements, and NumOfElements.
void Mesh::AddQuad | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 610 of file mesh.cpp.
References elements, and NumOfElements.
void Mesh::AddQuadFaceElement | ( | int | lf, |
int | gf, | ||
int | el, | ||
int | v0, | ||
int | v1, | ||
int | v2, | ||
int | v3 | ||
) | [protected] |
Definition at line 3129 of file mesh.cpp.
References faces, faces_info, GetQuadOrientation(), GetVertices(), and mfem_error().
Referenced by GenerateFaces().
void Mesh::AddSegmentFaceElement | ( | int | lf, |
int | gf, | ||
int | el, | ||
int | v0, | ||
int | v1 | ||
) | [protected] |
Used in GenerateFaces()
Definition at line 3085 of file mesh.cpp.
References faces, faces_info, and mfem_error().
Referenced by GenerateFaces().
void Mesh::AddTet | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 615 of file mesh.cpp.
References elements, NumOfElements, Element::SetAttribute(), and Tetrahedron::SetVertices().
void Mesh::AddTri | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 600 of file mesh.cpp.
References elements, and NumOfElements.
void Mesh::AddTriangle | ( | int * | vi, |
int | attr = 1 |
||
) |
Definition at line 605 of file mesh.cpp.
References elements, and NumOfElements.
void Mesh::AddTriangleFaceElement | ( | int | lf, |
int | gf, | ||
int | el, | ||
int | v0, | ||
int | v1, | ||
int | v2 | ||
) | [protected] |
Definition at line 3106 of file mesh.cpp.
References faces, faces_info, GetTriOrientation(), GetVertices(), and mfem_error().
Referenced by GenerateFaces().
void Mesh::AddVertex | ( | double * | x | ) |
Definition at line 591 of file mesh.cpp.
References Dim, NumOfVertices, and vertices.
void Mesh::AverageVertices | ( | int * | indexes, |
int | n, | ||
int | result | ||
) | [protected] |
Averages the vertices with given indexes and save the result in vertices[result].
Definition at line 4100 of file mesh.cpp.
Referenced by HexUniformRefinement(), and QuadUniformRefinement().
void Mesh::Bisection | ( | int | i, |
const DSTable & | v_to_v, | ||
int * | edge1, | ||
int * | edge2, | ||
int * | middle | ||
) | [protected] |
Bisection. Element with index i is bisected.
Definition at line 4855 of file mesh.cpp.
References Array< T >::Append(), Element::BISECTED, Tetrahedron::CreateRefinementFlag(), elements, RefinedElement::FirstChild, Element::GetAttribute(), Tetrahedron::GetRefinementFlag(), Element::GetType(), Tetrahedron::GetVertices(), Triangle::GetVertices(), mfem_error(), DSTable::NumberOfRows(), NumOfElements, NumOfVertices, Tetrahedron::ParseRefinementFlag(), Element::QUADRISECTED, BisectedElement::SecondChild, Element::SetAttribute(), RefinedElement::SetCoarseElem(), Tetrahedron::SetVertices(), Triangle::SetVertices(), Element::TETRAHEDRON, Element::TRIANGLE, Tetrahedron::TYPE_A, Tetrahedron::TYPE_PF, Tetrahedron::TYPE_PU, vertices, and WantTwoLevelState.
Referenced by GreenRefinement(), and LocalRefinement().
void Mesh::Bisection | ( | int | i, |
const DSTable & | v_to_v, | ||
int * | middle | ||
) | [protected] |
Bisection. Element with index i is bisected.
Definition at line 5085 of file mesh.cpp.
References Array< T >::Append(), Element::BISECTED, boundary, RefinedElement::FirstChild, Element::GetAttribute(), Element::GetType(), Triangle::GetVertices(), mfem_error(), NumOfBdrElements, Element::QUADRISECTED, BisectedElement::SecondChild, RefinedElement::SetCoarseElem(), Element::TRIANGLE, and WantTwoLevelState.
void Mesh::BisectTetTrans | ( | DenseMatrix & | pointmat, |
Tetrahedron * | tet, | ||
int | child | ||
) | [protected] |
Definition at line 5611 of file mesh.cpp.
References Tetrahedron::ParseRefinementFlag().
Referenced by GetFineElemTrans().
void Mesh::BisectTriTrans | ( | DenseMatrix & | pointmat, |
Triangle * | tri, | ||
int | child | ||
) | [protected] |
Definition at line 5587 of file mesh.cpp.
Referenced by GetFineElemTrans().
int * Mesh::CartesianPartitioning | ( | int | nxyz[] | ) |
Definition at line 3367 of file mesh.cpp.
References Dim, Geometries, Geometry::GetCenter(), GetElementBaseGeometry(), GetElementTransformation(), NumOfElements, NumOfVertices, and vertices.
void Mesh::CheckBdrElementOrientation | ( | ) |
Check the orientation of the boundary elements.
Definition at line 2530 of file mesh.cpp.
References be_to_edge, be_to_face, boundary, Dim, elements, faces, faces_info, GetElementType(), GetQuadOrientation(), GetTriOrientation(), Element::HEXAHEDRON, NumOfBdrElements, and Element::TETRAHEDRON.
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), HexUniformRefinement(), Load(), LoadPatchTopo(), Mesh(), and QuadUniformRefinement().
void Mesh::CheckDisplacements | ( | const Vector & | displacements, |
double & | tmax | ||
) |
Definition at line 3979 of file mesh.cpp.
References FiniteElement::CalcDShape(), DetOfLinComb(), Dim, elements, FindTMax(), Geometries, Geometry::GetCenter(), FiniteElement::GetGeomType(), FiniteElement::GetNodes(), Element::GetNVertices(), GetTransformationFEforElementType(), Element::GetType(), Element::GetVertices(), IntegrationRule::IntPoint(), mfem_error(), Mult(), NumOfElements, Element::QUADRILATERAL, DenseMatrix::SetSize(), Array< T >::Size(), Element::TETRAHEDRON, Element::TRIANGLE, and vertices.
void Mesh::CheckElementOrientation | ( | ) |
Check the orientation of the elements.
Definition at line 2396 of file mesh.cpp.
References DenseMatrix::Det(), Dim, elements, GetElementType(), Element::HEXAHEDRON, NumOfElements, Element::QUADRILATERAL, Element::TETRAHEDRON, Element::TRIANGLE, and vertices.
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), Load(), LocalRefinement(), Mesh(), and QuadUniformRefinement().
void Mesh::CheckPartitioning | ( | int * | partitioning | ) |
Definition at line 3691 of file mesh.cpp.
References el_to_el, ElementToElementTable(), FindPartitioningComponents(), GetNE(), and Array< T >::Size().
void Mesh::DegreeElevate | ( | int | t | ) |
Definition at line 2203 of file mesh.cpp.
References NURBSExtension::ConvertToPatches(), NURBSExtension::DegreeElevate(), NURBSFECollection::GetOrder(), mfem_error(), Nodes, NURBSext, GridFunction::OwnFEC(), UpdateNURBS(), and NURBSFECollection::UpdateOrder().
Referenced by main().
void Mesh::DeleteCoarseTables | ( | ) | [protected] |
Delete the 'el_to_el', 'face_edge' and 'edge_vertex' tables. Usefull in refinement methods to destroy the coarse tables.
Definition at line 506 of file mesh.cpp.
References edge_vertex, el_to_el, and face_edge.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and ReorientTetMesh().
void Mesh::DeleteTables | ( | ) | [protected] |
Definition at line 483 of file mesh.cpp.
References bel_to_edge, Dim, edge_vertex, el_to_edge, el_to_el, el_to_face, face_edge, and InitTables().
int Mesh::Dimension | ( | ) | const [inline] |
Definition at line 302 of file mesh.hpp.
References Dim.
Referenced by GridFunction::ComputeH1Error(), GridFunction::ComputeW11Error(), FiniteElementSpace::Constructor(), NURBSExtension::Dimension(), FiniteElementSpace::GetBdrElementDofs(), FiniteElementSpace::GetBE(), FiniteElementSpace::GetElementDofs(), main(), Mesh(), PrintCharacteristics(), GridFunction::ProjectCoefficient(), and GridFunction::SaveSTL().
const Table & Mesh::ElementToEdgeTable | ( | ) | const |
Definition at line 3078 of file mesh.cpp.
References el_to_edge, and mfem_error().
Referenced by ElementToElementTable(), and PrintElementsWithPartitioning().
const Table & Mesh::ElementToElementTable | ( | ) |
Definition at line 3025 of file mesh.cpp.
References Dim, el_to_el, ElementToEdgeTable(), faces_info, Table::Finalize(), Table::GetRow(), mfem_error(), NumOfElements, NumOfFaces, Table::Push(), Table::RowSize(), Array< T >::Size(), Table::Size(), and Transpose().
Referenced by CheckPartitioning(), GeneratePartitioning(), and GetElementColoring().
const Table & Mesh::ElementToFaceTable | ( | ) | const |
Definition at line 3071 of file mesh.cpp.
References el_to_face, and mfem_error().
int Mesh::EulerNumber | ( | ) | const [inline] |
Equals 1 + num_holes - num_loops.
Definition at line 296 of file mesh.hpp.
References NumOfEdges, NumOfElements, NumOfFaces, and NumOfVertices.
Referenced by PrintCharacteristics().
int Mesh::EulerNumber2D | ( | ) | const [inline] |
Equals 1 - num_holes.
Definition at line 299 of file mesh.hpp.
References NumOfEdges, NumOfElements, and NumOfVertices.
Referenced by PrintCharacteristics().
void Mesh::FinalizeHexMesh | ( | int | generate_edges = 0 , |
int | refine = 0 |
||
) |
Definition at line 839 of file mesh.cpp.
References be_to_edge, CheckBdrElementOrientation(), CheckElementOrientation(), el_to_edge, GenerateBoundaryElements(), GenerateFaces(), GetElementToEdgeTable(), GetElementToFaceTable(), meshgen, NumOfBdrElements, NumOfEdges, and SetAttributes().
void Mesh::FinalizeQuadMesh | ( | int | generate_edges = 0 , |
int | refine = 0 |
||
) |
Definition at line 719 of file mesh.cpp.
References be_to_edge, CheckBdrElementOrientation(), CheckElementOrientation(), el_to_edge, GenerateFaces(), GetElementToEdgeTable(), meshgen, NumOfEdges, NumOfFaces, and SetAttributes().
void Mesh::FinalizeTetMesh | ( | int | generate_edges = 0 , |
int | refine = 0 |
||
) |
Definition at line 801 of file mesh.cpp.
References be_to_edge, bel_to_edge, CheckBdrElementOrientation(), CheckElementOrientation(), el_to_edge, GenerateBoundaryElements(), GenerateFaces(), GetElementToEdgeTable(), GetElementToFaceTable(), MarkTetMeshForRefinement(), meshgen, NumOfBdrElements, NumOfEdges, and SetAttributes().
void Mesh::FinalizeTriMesh | ( | int | generate_edges = 0 , |
int | refine = 0 |
||
) |
Definition at line 695 of file mesh.cpp.
References be_to_edge, CheckBdrElementOrientation(), CheckElementOrientation(), el_to_edge, GenerateFaces(), GetElementToEdgeTable(), MarkTriMeshForRefinement(), meshgen, NumOfEdges, NumOfFaces, and SetAttributes().
void Mesh::FreeElement | ( | Element * | E | ) | [protected] |
Definition at line 6999 of file mesh.cpp.
References Element::BISECTED, Element::GetType(), and Element::TETRAHEDRON.
Referenced by GenerateBoundaryElements(), GenerateFaces(), Load(), SetState(), UpdateNURBS(), and ~Mesh().
void Mesh::GenerateBoundaryElements | ( | ) |
Definition at line 648 of file mesh.cpp.
References be_to_edge, be_to_face, bel_to_edge, boundary, Dim, faces, faces_info, FreeElement(), NumOfBdrElements, Array< T >::SetSize(), and Array< T >::Size().
Referenced by FinalizeHexMesh(), FinalizeTetMesh(), Load(), and LoadPatchTopo().
void Mesh::GenerateFaces | ( | ) | [protected] |
Definition at line 3152 of file mesh.cpp.
References AddQuadFaceElement(), AddSegmentFaceElement(), AddTriangleFaceElement(), Dim, el_to_edge, el_to_face, elements, faces, faces_info, FreeElement(), GetElementType(), Table::GetRow(), Element::HEXAHEDRON, NumOfEdges, NumOfElements, NumOfFaces, Array< T >::SetSize(), Array< T >::Size(), and Element::TETRAHEDRON.
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), QuadUniformRefinement(), ReorientTetMesh(), and UpdateNURBS().
int * Mesh::GeneratePartitioning | ( | int | nparts, |
int | part_method = 1 |
||
) |
Definition at line 3410 of file mesh.cpp.
References el_to_el, ElementToElementTable(), Table::GetI(), Table::GetJ(), mfem_error(), NumOfElements, and SortPairs< int, int >().
int Mesh::GetAttribute | ( | int | i | ) | const [inline] |
Return the attribute of element i.
Definition at line 440 of file mesh.hpp.
References elements.
Referenced by NURBSExtension::Get2DElementTopo(), NURBSExtension::Get3DElementTopo(), GetElementTransformation(), LocalRefinement(), Mesh(), PrintVTK(), PrintWithPartitioning(), ScaleSubdomains(), SetAttributes(), and UniformRefinement().
int Mesh::GetBdrAttribute | ( | int | i | ) | const [inline] |
Return the attribute of boundary element i.
Definition at line 443 of file mesh.hpp.
References boundary.
Referenced by NURBSExtension::Get2DBdrElementTopo(), NURBSExtension::Get3DBdrElementTopo(), GetBdrElementTransformation(), and SetAttributes().
const Element* Mesh::GetBdrElement | ( | int | i | ) | const [inline] |
Element* Mesh::GetBdrElement | ( | int | i | ) | [inline] |
int Mesh::GetBdrElementBaseGeometry | ( | int | i | ) | const [inline] |
Definition at line 323 of file mesh.hpp.
References boundary.
Referenced by FiniteElementSpace::GetBdrElementDofs(), and FiniteElementSpace::GetBE().
int Mesh::GetBdrElementEdgeIndex | ( | int | i | ) | const |
Return the edge index of boundary element i. (2D) return the face index of boundary element i. (3D)
Definition at line 2867 of file mesh.cpp.
References be_to_edge, be_to_face, and Dim.
Return the indices and the orientations of all edges of bdr element i.
Definition at line 2640 of file mesh.cpp.
References be_to_edge, bel_to_edge, boundary, Dim, Table::GetRow(), mfem_error(), and Array< T >::SetSize().
Referenced by NURBSExtension::CheckBdrPatches(), FiniteElementSpace::GetBdrElementDofs(), NURBSPatchMap::GetBdrPatchKnotVectors(), and NURBSExtension::GetBdrPatchKnotVectors().
void Mesh::GetBdrElementFace | ( | int | i, |
int * | f, | ||
int * | o | ||
) | const |
Return the index and the orientation of the face of bdr element i. (3D)
Definition at line 2805 of file mesh.cpp.
References be_to_face, boundary, faces, GetBdrElementType(), GetQuadOrientation(), GetTriOrientation(), mfem_error(), Element::QUADRILATERAL, State, Element::TRIANGLE, and TWO_LEVEL_COARSE.
Referenced by FiniteElementSpace::GetBdrElementDofs(), and NURBSPatchMap::GetBdrPatchKnotVectors().
ElementTransformation * Mesh::GetBdrElementTransformation | ( | int | i | ) |
Returns the transformation defining the i-th boundary element.
Definition at line 208 of file mesh.cpp.
References ElementTransformation::Attribute, Dim, ElementTransformation::ElementNo, FaceTransformation, GridFunction::FESpace(), GetBdrAttribute(), GetBdrElementType(), FiniteElementSpace::GetBdrElementVDofs(), GetBdrPointMatrix(), FiniteElementSpace::GetBE(), IsoparametricTransformation::GetPointMat(), GetTransformationFEforElementType(), Nodes, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), and Array< T >::Size().
int Mesh::GetBdrElementType | ( | int | i | ) | const |
Returns the type of boundary element i.
Definition at line 2889 of file mesh.cpp.
References Element::BISECTED, boundary, Element::GetType(), and Element::QUADRISECTED.
Referenced by GetBdrElementFace(), GetBdrElementTransformation(), GetElementToFaceTable(), and ReorientTetMesh().
void Mesh::GetBdrElementVertices | ( | int | i, |
Array< int > & | dofs | ||
) | const [inline] |
Returns the indices of the dofs of boundary element i.
Definition at line 331 of file mesh.hpp.
References boundary.
Referenced by FiniteElementSpace::GetBdrElementDofs(), and NURBSPatchMap::GetBdrPatchKnotVectors().
FaceElementTransformations * Mesh::GetBdrFaceTransformations | ( | int | BdrElemNo | ) |
Definition at line 440 of file mesh.cpp.
References ElementTransformation::Attribute, be_to_edge, be_to_face, boundary, Dim, FaceElementTransformations::Face, faces_info, and GetFaceElementTransformations().
void Mesh::GetBdrPointMatrix | ( | int | i, |
DenseMatrix & | pointmat | ||
) | const |
Definition at line 2916 of file mesh.cpp.
References boundary, Dim, DenseMatrix::SetSize(), and vertices.
Referenced by GetBdrElementTransformation().
int Mesh::GetBisectionHierarchy | ( | Element * | E | ) | [protected] |
Definition at line 5405 of file mesh.cpp.
References Element::BISECTED, elements, and Element::GetType().
Referenced by GetRefinementType().
Table * Mesh::GetEdgeVertexTable | ( | ) | const |
Returns the edge-to-vertex Table (3D)
Definition at line 2724 of file mesh.cpp.
References edge_vertex, Table::Finalize(), GetVertexToVertexTable(), DSTable::NumberOfEntries(), NumOfVertices, and Table::Push().
Referenced by GetEdgeVertices().
void Mesh::GetEdgeVertices | ( | int | i, |
Array< int > & | vert | ||
) | const |
Returns the indices of the vertices of edge i.
Definition at line 2688 of file mesh.cpp.
References Dim, edge_vertex, faces, GetEdgeVertexTable(), Table::GetRow(), NumOfEdges, and Array< T >::Size().
Referenced by FiniteElementSpace::GetEdgeDofs(), and PrintElementsWithPartitioning().
Element* Mesh::GetElement | ( | int | i | ) | [inline] |
const Element* Mesh::GetElement | ( | int | i | ) | const [inline] |
void Mesh::GetElementArrayEdgeTable | ( | const Array< Element * > & | elem_array, |
const DSTable & | v_to_v, | ||
Table & | el_to_edge | ||
) | [static, protected] |
Definition at line 2943 of file mesh.cpp.
References Table::AddColumnsInRow(), Table::AddConnection(), GetNEdges(), Table::MakeI(), Table::MakeJ(), Table::ShiftUpI(), and Array< T >::Size().
Referenced by GetElementToEdgeTable(), and GetFaceEdgeTable().
int Mesh::GetElementBaseGeometry | ( | int | i | ) | const [inline] |
Definition at line 320 of file mesh.hpp.
References elements.
Referenced by CartesianPartitioning(), FiniteElementSpace::Constructor(), FiniteElementSpace::ConstructRefinementData(), FiniteElementSpace::GetElementDofs(), GetElementJacobian(), GetElementVolume(), FiniteElementSpace::GetFE(), FiniteElementSpace::GetOrder(), Load(), PrintVTK(), and GridFunction::SaveVTK().
void Mesh::GetElementColoring | ( | Array< int > & | colors, |
int | el0 = 0 |
||
) |
Definition at line 6369 of file mesh.cpp.
References el_to_el, ElementToElementTable(), Table::GetI(), Table::GetJ(), GetNE(), and Array< T >::SetSize().
Referenced by PrintVTK().
Return the indices and the orientations of all edges of element i.
Definition at line 2621 of file mesh.cpp.
References el_to_edge, elements, Table::GetRow(), mfem_error(), and Array< T >::SetSize().
Referenced by NURBSExtension::CheckPatches(), NURBSExtension::GenerateOffsets(), FiniteElementSpace::GetElementDofs(), NURBSPatchMap::GetPatchKnotVectors(), NURBSExtension::GetPatchKnotVectors(), NURBSExtension::KnotInsert(), and NURBSExtension::NURBSExtension().
Return the indices and the orientations of all faces of element i.
Definition at line 2779 of file mesh.cpp.
References el_to_face, faces_info, Table::GetRow(), mfem_error(), Array< T >::SetSize(), and Array< T >::Size().
Referenced by FiniteElementSpace::GetElementDofs(), and NURBSPatchMap::GetPatchKnotVectors().
void Mesh::GetElementJacobian | ( | int | i, |
DenseMatrix & | J | ||
) | [protected] |
Compute the Jacobian of the transformation from the perfect reference element at the center of the element.
Definition at line 25 of file mesh.cpp.
References Geometries, Geometry::GetCenter(), GetElementBaseGeometry(), GetElementTransformation(), ElementTransformation::Jacobian(), Geometry::JacToPerfJac(), and ElementTransformation::SetIntPoint().
Referenced by GetElementSize(), and PrintCharacteristics().
double Mesh::GetElementSize | ( | int | i, |
int | type = 0 |
||
) |
Get the size of the i-th element relative to the perfect reference element.
Definition at line 33 of file mesh.cpp.
References DenseMatrix::CalcSingularvalue(), DenseMatrix::Det(), Dim, and GetElementJacobian().
double Mesh::GetElementSize | ( | int | i, |
const Vector & | dir | ||
) |
Definition at line 45 of file mesh.cpp.
References Dim, GetElementJacobian(), and DenseMatrix::MultTranspose().
Return element to edge table and the indeces for the boundary edges. The entries in the table are ordered according to the order of the nodes in the elements. For example, if T is the element to edge table T(i, 0) gives the index of edge in element i that connects vertex 0 to vertex 1, etc. Returns the number of the edges.
Definition at line 2990 of file mesh.cpp.
References bel_to_edge, boundary, Dim, elements, GetElementArrayEdgeTable(), GetVertexToVertexTable(), mfem_error(), DSTable::NumberOfEntries(), NumOfBdrElements, NumOfVertices, and Array< T >::SetSize().
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), QuadUniformRefinement(), ReorientTetMesh(), and UpdateNURBS().
STable3D * Mesh::GetElementToFaceTable | ( | int | ret_ftbl = 0 | ) | [protected] |
Definition at line 3236 of file mesh.cpp.
References be_to_face, boundary, el_to_face, elements, Table::Finalize(), GetBdrElementType(), GetElementType(), Element::HEXAHEDRON, STable3D::NumberOfElements(), NumOfBdrElements, NumOfElements, NumOfFaces, NumOfVertices, STable3D::Push(), Table::Push(), STable3D::Push4(), Element::QUADRILATERAL, Array< T >::SetSize(), Element::TETRAHEDRON, and Element::TRIANGLE.
Referenced by FinalizeHexMesh(), FinalizeTetMesh(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), ReorientTetMesh(), and UpdateNURBS().
void Mesh::GetElementTransformation | ( | int | i, |
IsoparametricTransformation * | ElTr | ||
) |
Builds the transformation defining the i-th element in the user-defined variable.
Definition at line 148 of file mesh.cpp.
References ElementTransformation::Attribute, Dim, ElementTransformation::ElementNo, GridFunction::FESpace(), GetAttribute(), GetElementType(), FiniteElementSpace::GetElementVDofs(), FiniteElementSpace::GetFE(), IsoparametricTransformation::GetPointMat(), GetPointMatrix(), GetTransformationFEforElementType(), Nodes, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), and Array< T >::Size().
Referenced by CartesianPartitioning(), GridFunction::ComputeH1Error(), ComputeLpNorm(), GridFunction::ComputeW11Error(), GetElementJacobian(), GetElementTransformation(), FiniteElementSpace::GetElementTransformation(), GetElementVolume(), GetFaceElementTransformations(), and PrintVTK().
ElementTransformation * Mesh::GetElementTransformation | ( | int | i | ) |
Returns the transformation defining the i-th element.
Definition at line 201 of file mesh.cpp.
References GetElementTransformation(), and Transformation.
void Mesh::GetElementTransformation | ( | int | i, |
const Vector & | nodes, | ||
IsoparametricTransformation * | ElTr | ||
) |
Return the transformation defining the i-th element assuming the position of the vertices/nodes are given by 'nodes'.
Definition at line 171 of file mesh.cpp.
References ElementTransformation::Attribute, Dim, ElementTransformation::ElementNo, elements, GridFunction::FESpace(), GetAttribute(), GetElementType(), FiniteElementSpace::GetElementVDofs(), FiniteElementSpace::GetFE(), IsoparametricTransformation::GetPointMat(), GetTransformationFEforElementType(), Nodes, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), Array< T >::Size(), and vertices.
int Mesh::GetElementType | ( | int | i | ) | const |
Returns the type of element i.
Definition at line 2874 of file mesh.cpp.
References Element::BISECTED, elements, Element::GetType(), Element::OCTASECTED, and Element::QUADRISECTED.
Referenced by CheckBdrElementOrientation(), CheckElementOrientation(), ComputeLpNorm(), GenerateFaces(), GetElementToFaceTable(), GetElementTransformation(), GetFaceBaseGeometry(), GetFaceElementTransformations(), GetFacesTable(), and ReorientTetMesh().
void Mesh::GetElementVertices | ( | int | i, |
Array< int > & | dofs | ||
) | const [inline] |
Returns the indices of the dofs of element i.
Definition at line 327 of file mesh.hpp.
References elements.
Referenced by FiniteElementSpace::GetElementDofs(), NURBSPatchMap::GetPatchKnotVectors(), GridFunction::ProjectCoefficient(), ScaleElements(), and ScaleSubdomains().
double Mesh::GetElementVolume | ( | int | i | ) |
Definition at line 54 of file mesh.cpp.
References IntegrationRules::Get(), GetElementBaseGeometry(), GetElementTransformation(), IntegrationRule::GetNPoints(), IntegrationRule::IntPoint(), IntRules, ElementTransformation::OrderJ(), ElementTransformation::SetIntPoint(), ElementTransformation::Weight(), and IntegrationPoint::weight.
const Element* Mesh::GetFace | ( | int | i | ) | const [inline] |
int Mesh::GetFaceBaseGeometry | ( | int | i | ) | const |
Definition at line 2834 of file mesh.cpp.
References faces, faces_info, GetElementType(), Element::HEXAHEDRON, mfem_error(), Element::QUADRILATERAL, Geometry::SEGMENT, Geometry::SQUARE, Element::TETRAHEDRON, Geometry::TRIANGLE, and Element::TRIANGLE.
Referenced by FiniteElementSpace::Constructor(), FiniteElementSpace::GetElementDofs(), and Load().
Return the indices and the orientations of all edges of face i.
Definition at line 2669 of file mesh.cpp.
References Dim, face_edge, faces, GetFaceEdgeTable(), Table::GetRow(), and Array< T >::SetSize().
Referenced by NURBSExtension::GenerateOffsets(), and FiniteElementSpace::GetFaceDofs().
Table * Mesh::GetFaceEdgeTable | ( | ) | const |
Returns the face-to-edge Table (3D)
Definition at line 2702 of file mesh.cpp.
References Dim, face_edge, faces, GetElementArrayEdgeTable(), GetVertexToVertexTable(), mfem_error(), NumOfFaces, NumOfVertices, and Array< T >::Size().
Referenced by GetFaceEdges().
void Mesh::GetFaceElements | ( | int | Face, |
int * | Elem1, | ||
int * | Elem2 | ||
) |
Definition at line 455 of file mesh.cpp.
References faces_info.
FaceElementTransformations * Mesh::GetFaceElementTransformations | ( | int | FaceNo, |
int | mask = 31 |
||
) |
Returns (a poiter to a structure containing) the following data: 1) Elem1No - the index of the first element that contains this face this is the element that has the same outward unit normal vector as the face; 2) Elem2No - the index of the second element that contains this face this element has outward unit normal vector as the face multiplied with -1; 3) Elem1, Elem2 - pointers to the ElementTransformation's of the first and the second element respectively; 4) Face - pointer to the ElementTransformation of the face; 5) Loc1, Loc2 - IntegrationPointTransformation's mapping the face coordinate system to the element coordinate system (both in their reference elements). Used to transform IntegrationPoints from face to element. 6) FaceGeom - the base geometry for the face. The mask specifies which fields in the structure to return: mask & 1 - Elem1, mask & 2 - Elem2, mask & 4 - Loc1, mask & 8 - Loc2, mask & 16 - Face.
Definition at line 355 of file mesh.cpp.
References FaceElementTransformations::Elem1, FaceElementTransformations::Elem1No, FaceElementTransformations::Elem2, FaceElementTransformations::Elem2No, FaceElementTransformations::Face, FaceElemTr, FaceElementTransformations::FaceGeom, faces, faces_info, GetElementTransformation(), GetElementType(), GetFaceTransformation(), GetLocalQuadToHexTransformation(), GetLocalSegToQuadTransformation(), GetLocalSegToTriTransformation(), GetLocalTriToTetTransformation(), FaceElementTransformations::Loc1, FaceElementTransformations::Loc2, mfem_error(), NURBSext, Element::QUADRILATERAL, Element::SEGMENT, IntegrationPointTransformation::Transf, Transformation, Transformation2, and Element::TRIANGLE.
Referenced by GridFunction::ComputeH1Error(), GetBdrFaceTransformations(), GridFunction::GetFaceValues(), GridFunction::GetFaceVectorValues(), and GetInteriorFaceTransformations().
void Mesh::GetFaceInfos | ( | int | Face, |
int * | Inf1, | ||
int * | Inf2 | ||
) |
Definition at line 461 of file mesh.cpp.
References faces_info.
STable3D * Mesh::GetFacesTable | ( | ) | [protected] |
Definition at line 3207 of file mesh.cpp.
References elements, GetElementType(), Element::HEXAHEDRON, NumOfElements, NumOfVertices, STable3D::Push(), STable3D::Push4(), and Element::TETRAHEDRON.
ElementTransformation * Mesh::GetFaceTransformation | ( | int | FaceNo | ) |
Returns the transformation defining the given face element.
Definition at line 248 of file mesh.cpp.
References FaceTransformation, and GetFaceTransformation().
void Mesh::GetFaceTransformation | ( | int | i, |
IsoparametricTransformation * | FTr | ||
) |
Returns the transformation defining the given face element. The transformation is stored in a user-defined variable.
Definition at line 234 of file mesh.cpp.
References ElementTransformation::Attribute, Dim, ElementTransformation::ElementNo, faces, IsoparametricTransformation::GetPointMat(), GetTransformationFEforElementType(), IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), and vertices.
Referenced by GetFaceElementTransformations(), and GetFaceTransformation().
void Mesh::GetFaceVertices | ( | int | i, |
Array< int > & | vert | ||
) | const [inline] |
Returns the indices of the vertices of face i.
Definition at line 344 of file mesh.hpp.
References faces, and GetVertices().
Referenced by FiniteElementSpace::GetFaceDofs().
int Mesh::GetFineElem | ( | int | i, |
int | j | ||
) |
For a given coarse element i and index j of one of its subelements return the global index of the fine element in the fine mesh.
Definition at line 5499 of file mesh.cpp.
References Element::BISECTED, QuadrisectedElement::Child2, QuadrisectedElement::Child3, QuadrisectedElement::Child4, RefinedElement::CoarseElem, Dim, elements, RefinedElement::FirstChild, Element::GetType(), Element::OCTASECTED, Element::QUADRILATERAL, Element::QUADRISECTED, and BisectedElement::SecondChild.
int Mesh::GetFineElemPath | ( | int | i, |
int | j | ||
) | [protected] |
Definition at line 5656 of file mesh.cpp.
References Element::BISECTED, elements, RefinedElement::FirstChild, Element::GetType(), and BisectedElement::SecondChild.
Referenced by GetFineElemTrans().
ElementTransformation * Mesh::GetFineElemTrans | ( | int | i, |
int | j | ||
) |
For a given coarse element i and index j of one of its subelements return the transformation that transforms the fine element into the coordinate system of the coarse element. Clear, isn't it? :-)
Definition at line 5689 of file mesh.cpp.
References ElementTransformation::Attribute, Element::BISECTED, BisectTetTrans(), BisectTriTrans(), RefinedElement::CoarseElem, Dim, ElementTransformation::ElementNo, elements, RefinedElement::FirstChild, GetFineElemPath(), IsoparametricTransformation::GetPointMat(), Element::GetType(), HexahedronFE, mfem_error(), Element::OCTASECTED, Element::QUADRILATERAL, QuadrilateralFE, Element::QUADRISECTED, BisectedElement::SecondChild, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), TetrahedronFE, Transformation, and TriangleFE.
FaceElementTransformations* Mesh::GetInteriorFaceTransformations | ( | int | FaceNo | ) | [inline] |
Definition at line 425 of file mesh.hpp.
References faces_info, and GetFaceElementTransformations().
double Mesh::GetLength | ( | int | i, |
int | j | ||
) | const [protected] |
Return the length of the segment from node i to node j.
Definition at line 2930 of file mesh.cpp.
Referenced by MarkTetMeshForRefinement().
void Mesh::GetLocalQuadToHexTransformation | ( | IsoparametricTransformation & | loc, |
int | i | ||
) | [protected] |
Used in GetFaceElementTransformations (...)
Definition at line 326 of file mesh.cpp.
References Geometry::CUBE, Geometries, IsoparametricTransformation::GetPointMat(), Geometry::GetVertices(), IntegrationRule::IntPoint(), QuadrilateralFE, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
Referenced by GetFaceElementTransformations().
void Mesh::GetLocalSegToQuadTransformation | ( | IsoparametricTransformation & | loc, |
int | i | ||
) | [protected] |
Definition at line 276 of file mesh.cpp.
References Geometries, IsoparametricTransformation::GetPointMat(), Geometry::GetVertices(), IntegrationRule::IntPoint(), SegmentFE, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), Geometry::SQUARE, IntegrationPoint::x, and IntegrationPoint::y.
Referenced by GetFaceElementTransformations().
void Mesh::GetLocalSegToTriTransformation | ( | IsoparametricTransformation & | loc, |
int | i | ||
) | [protected] |
Used in GetFaceElementTransformations (...)
Definition at line 254 of file mesh.cpp.
References Geometries, IsoparametricTransformation::GetPointMat(), Geometry::GetVertices(), IntegrationRule::IntPoint(), SegmentFE, IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), Geometry::TRIANGLE, IntegrationPoint::x, and IntegrationPoint::y.
Referenced by GetFaceElementTransformations().
void Mesh::GetLocalTriToTetTransformation | ( | IsoparametricTransformation & | loc, |
int | i | ||
) | [protected] |
Used in GetFaceElementTransformations (...)
Definition at line 298 of file mesh.cpp.
References Geometries, IsoparametricTransformation::GetPointMat(), Geometry::GetVertices(), IntegrationRule::IntPoint(), IsoparametricTransformation::SetFE(), DenseMatrix::SetSize(), Geometry::TETRAHEDRON, TriangleFE, IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
Referenced by GetFaceElementTransformations().
int Mesh::GetNBE | ( | ) | const [inline] |
Returns number of boundary elements.
Definition at line 288 of file mesh.hpp.
References NumOfBdrElements.
Referenced by NURBSExtension::GetNBP(), Mesh(), PrintCharacteristics(), and SetAttributes().
int Mesh::GetNE | ( | ) | const [inline] |
Returns number of elements.
Definition at line 285 of file mesh.hpp.
References NumOfElements.
Referenced by CheckPartitioning(), GridFunction::ComputeH1Error(), ComputeLpNorm(), GridFunction::ComputeW11Error(), FiniteElementSpace::Constructor(), NURBSExtension::GenerateOffsets(), GetElementColoring(), NURBSExtension::GetNP(), main(), Mesh(), PrintCharacteristics(), PrintVTK(), GridFunction::ProjectCoefficient(), GridFunction::SaveSTL(), GridFunction::SaveVTK(), SetAttributes(), and UniformRefinement().
int Mesh::GetNEdges | ( | ) | const [inline] |
Return the number of edges.
Definition at line 291 of file mesh.hpp.
References NumOfEdges.
Referenced by FiniteElementSpace::Constructor(), NURBSExtension::GenerateOffsets(), GetElementArrayEdgeTable(), NURBSExtension::NURBSExtension(), and PrintCharacteristics().
int Mesh::GetNFaces | ( | ) | const [inline] |
Definition at line 293 of file mesh.hpp.
References NumOfFaces.
Referenced by GridFunction::ComputeH1Error(), FiniteElementSpace::Constructor(), NURBSExtension::GenerateOffsets(), and PrintCharacteristics().
const FiniteElementSpace * Mesh::GetNodalFESpace | ( | ) |
Definition at line 2391 of file mesh.cpp.
References GridFunction::FESpace(), and Nodes.
void Mesh::GetNodes | ( | Vector & | node_coord | ) | const |
GridFunction* Mesh::GetNodes | ( | ) | [inline] |
int Mesh::GetNumFineElems | ( | int | i | ) |
For a given coarse element i returns the number of subelements it is divided into.
Definition at line 5351 of file mesh.cpp.
References Element::BISECTED, Dim, elements, RefinedElement::FirstChild, Element::GetType(), Element::OCTASECTED, Element::QUADRISECTED, and BisectedElement::SecondChild.
int Mesh::GetNV | ( | ) | const [inline] |
Returns number of vertices.
Definition at line 282 of file mesh.hpp.
References NumOfVertices.
Referenced by FiniteElementSpace::Constructor(), NURBSExtension::GenerateOffsets(), Mesh(), PrintCharacteristics(), and GridFunction::ProjectCoefficient().
void Mesh::GetPointMatrix | ( | int | i, |
DenseMatrix & | pointmat | ||
) | const |
Definition at line 2902 of file mesh.cpp.
References Dim, elements, DenseMatrix::SetSize(), and vertices.
Referenced by GetElementTransformation(), MarkTriMeshForRefinement(), ScaleElements(), and ScaleSubdomains().
int Mesh::GetQuadOrientation | ( | const int * | base, |
const int * | test | ||
) | [static, protected] |
Returns the orientation of "test" relative to "base".
Definition at line 2490 of file mesh.cpp.
References mfem_error().
Referenced by AddQuadFaceElement(), CheckBdrElementOrientation(), GetBdrElementFace(), and Load().
int Mesh::GetRefinementType | ( | int | i | ) |
For a given coarse element i returns its refinement type.
Definition at line 5444 of file mesh.cpp.
References Element::BISECTED, Dim, elements, GetBisectionHierarchy(), Element::GetType(), mfem_error(), Element::OCTASECTED, Tetrahedron::ParseRefinementFlag(), Element::QUADRILATERAL, Element::QUADRISECTED, Tetrahedron::TYPE_A, and Tetrahedron::TYPE_M.
FiniteElement * Mesh::GetTransformationFEforElementType | ( | int | ElemType | ) | [protected] |
Definition at line 132 of file mesh.cpp.
References Element::HEXAHEDRON, HexahedronFE, mfem_error(), Element::POINT, PointFE, Element::QUADRILATERAL, QuadrilateralFE, Element::SEGMENT, SegmentFE, Element::TETRAHEDRON, TetrahedronFE, Element::TRIANGLE, and TriangleFE.
Referenced by CheckDisplacements(), GetBdrElementTransformation(), GetElementTransformation(), and GetFaceTransformation().
int Mesh::GetTriOrientation | ( | const int * | base, |
const int * | test | ||
) | [static, protected] |
Returns the orientation of "test" relative to "base".
Definition at line 2457 of file mesh.cpp.
References mfem_error().
Referenced by AddTriangleFaceElement(), CheckBdrElementOrientation(), GetBdrElementFace(), and Load().
const double* Mesh::GetVertex | ( | int | i | ) | const [inline] |
Return pointer to vertex i's coordinates.
Definition at line 305 of file mesh.hpp.
References vertices.
Referenced by Mesh(), and GridFunction::ProjectCoefficient().
double* Mesh::GetVertex | ( | int | i | ) | [inline] |
Table * Mesh::GetVertexToElementTable | ( | ) |
The returned Table must be destroyed by the caller.
Definition at line 2748 of file mesh.cpp.
References Table::AddAColumnInRow(), Table::AddConnection(), elements, Table::MakeI(), Table::MakeJ(), NumOfElements, NumOfVertices, and Table::ShiftUpI().
void Mesh::GetVertexToVertexTable | ( | DSTable & | v_to_v | ) | const [protected] |
Return vertex to vertex table. The connections stored in the table are from smaller to bigger vertex index, i.e. if i<j and (i, j) is in the table, then (j, i) is not stored.
Definition at line 2965 of file mesh.cpp.
References edge_vertex, elements, Table::GetRow(), NumOfElements, DSTable::Push(), and Table::Size().
Referenced by GetEdgeVertexTable(), GetElementToEdgeTable(), GetFaceEdgeTable(), Load(), LocalRefinement(), and MarkTetMeshForRefinement().
void Mesh::GetVertices | ( | Vector & | vert_coord | ) | const |
Definition at line 4053 of file mesh.cpp.
References Dim, Vector::SetSize(), Array< T >::Size(), and vertices.
Referenced by AddQuadFaceElement(), AddTriangleFaceElement(), GetFaceVertices(), and GetNodes().
void Mesh::GreenRefinement | ( | int | i, |
const DSTable & | v_to_v, | ||
int * | edge1, | ||
int * | edge2, | ||
int * | middle | ||
) | [inline, protected] |
Green refinement. Element with index i is refined. The default refinement for now is Bisection.
Definition at line 121 of file mesh.hpp.
References Bisection().
Referenced by LocalRefinement().
void Mesh::HexUniformRefinement | ( | ) | [protected, virtual] |
Refine hexahedral mesh.
Reimplemented in ParMesh.
Definition at line 4280 of file mesh.cpp.
References AverageVertices(), be_to_edge, be_to_face, bel_to_edge, boundary, c_bel_to_edge, c_el_to_edge, c_el_to_face, c_NumOfBdrElements, c_NumOfEdges, c_NumOfElements, c_NumOfFaces, c_NumOfVertices, CheckBdrElementOrientation(), OctasectedElement::Child, QuadrisectedElement::Child2, QuadrisectedElement::Child3, QuadrisectedElement::Child4, DeleteCoarseTables(), el_to_edge, el_to_face, elements, f_bel_to_edge, f_el_to_edge, f_el_to_face, f_NumOfBdrElements, f_NumOfEdges, f_NumOfElements, f_NumOfFaces, f_NumOfVertices, faces_info, fc_faces_info, RefinedElement::FINE, RefinedElement::FirstChild, GenerateFaces(), GetElementToEdgeTable(), GetElementToFaceTable(), Table::GetRow(), Nodes, NORMAL, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, Array< T >::SetSize(), SetState(), State, RefinedElement::State, Swap(), TWO_LEVEL_FINE, UpdateNodes(), UseTwoLevelState(), vertices, and WantTwoLevelState.
Referenced by UniformRefinement().
void Mesh::Init | ( | ) | [protected] |
Definition at line 467 of file mesh.cpp.
References Nodes, NORMAL, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfVertices, NURBSext, own_nodes, State, and WantTwoLevelState.
Referenced by LoadPatchTopo(), and Mesh().
void Mesh::InitTables | ( | ) | [protected] |
Definition at line 477 of file mesh.cpp.
References bel_to_edge, edge_vertex, el_to_edge, el_to_el, el_to_face, and face_edge.
Referenced by DeleteTables(), Load(), LoadPatchTopo(), and Mesh().
void Mesh::KnotInsert | ( | Array< KnotVector * > & | kv | ) |
Definition at line 2178 of file mesh.cpp.
References NURBSExtension::ConvertToPatches(), NURBSExtension::GetNKV(), NURBSExtension::KnotInsert(), mfem_error(), Nodes, NURBSext, Array< T >::Size(), and UpdateNURBS().
void Mesh::Load | ( | istream & | input, |
int | generate_edges = 0 , |
||
int | refine = 1 |
||
) |
Definition at line 1120 of file mesh.cpp.
References Table::AddColumnsInRow(), Table::AddConnections(), be_to_edge, be_to_face, boundary, Ordering::byVDIM, c_el_to_edge, CheckBdrElementOrientation(), CheckElementOrientation(), Geometry::CUBE, Array< T >::DeleteAll(), DeleteTables(), Vector::Destroy(), Dim, NURBSExtension::Dimension(), FiniteElementCollection::DofForGeometry(), FiniteElementCollection::DofOrderForOrientation(), FiniteElementSpace::DofsToVDofs(), el_to_edge, elements, faces, faces_info, FiniteElementSpace::FEColl(), GridFunction::FESpace(), FreeElement(), GenerateBoundaryElements(), GenerateFaces(), NURBSExtension::GetBdrElementTopo(), GetElementBaseGeometry(), FiniteElementSpace::GetElementDofs(), GetElementToEdgeTable(), GetElementToFaceTable(), NURBSExtension::GetElementTopo(), GetFaceBaseGeometry(), NURBSExtension::GetNBE(), NURBSExtension::GetNE(), GridFunction::GetNodalValues(), NURBSExtension::GetNV(), NURBSExtension::GetOrder(), GetQuadOrientation(), Table::GetRow(), GetTriOrientation(), GetVertexToVertexTable(), NURBSExtension::HavePatches(), Element::HEXAHEDRON, InitTables(), Table::MakeI(), Table::MakeJ(), GridFunction::MakeOwner(), MarkForRefinement(), meshgen, mfem_error(), Nodes, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, NURBSext, NURBSExtension, own_nodes, Geometry::POINT, Element::QUADRILATERAL, ReadElement(), Table::RowSize(), Geometry::SEGMENT, Element::SEGMENT, Element::SetAttribute(), SetAttributes(), NURBSExtension::SetCoordsFromPatches(), Vector::SetSize(), Array< T >::SetSize(), Tetrahedron::SetVertices(), Table::ShiftUpI(), Vector::Size(), Array< T >::Size(), skip_comment_lines(), Geometry::SQUARE, Element::TETRAHEDRON, Geometry::TETRAHEDRON, Element::TRIANGLE, Geometry::TRIANGLE, GridFunction::VectorDim(), and vertices.
Referenced by Mesh().
void Mesh::LoadPatchTopo | ( | istream & | input, |
Array< int > & | edge_to_knot | ||
) | [protected] |
Read NURBS patch/macro-element mesh.
Definition at line 2275 of file mesh.cpp.
References be_to_edge, boundary, CheckBdrElementOrientation(), Dim, edge_vertex, el_to_edge, elements, GenerateBoundaryElements(), GenerateFaces(), GetElementToEdgeTable(), GetElementToFaceTable(), Table::GetRow(), Init(), InitTables(), meshgen, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, ReadElement(), SetAttributes(), Array< T >::SetSize(), skip_comment_lines(), and vertices.
Referenced by NURBSExtension::NURBSExtension().
void Mesh::LocalRefinement | ( | const Array< int > & | marked_el, |
int | type = 3 |
||
) | [virtual] |
Refine the marked elements.
Reimplemented in ParMesh.
Definition at line 4502 of file mesh.cpp.
References Array< T >::Append(), be_to_edge, bel_to_edge, Element::BISECTED, Bisection(), boundary, c_bel_to_edge, c_el_to_edge, c_el_to_face, c_NumOfBdrElements, c_NumOfEdges, c_NumOfElements, c_NumOfFaces, c_NumOfVertices, CheckElementOrientation(), DeleteCoarseTables(), Dim, el_to_edge, el_to_face, elements, f_bel_to_edge, f_el_to_edge, f_el_to_face, f_NumOfBdrElements, f_NumOfEdges, f_NumOfElements, f_NumOfFaces, f_NumOfVertices, faces_info, fc_be_to_edge, fc_faces_info, RefinedElement::FINE, RefinedElement::FirstChild, GenerateFaces(), GetAttribute(), GetElementToEdgeTable(), GetElementToFaceTable(), Element::GetType(), GetVertexToVertexTable(), GreenRefinement(), mfem_error(), Nodes, NORMAL, DSTable::NumberOfEntries(), NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, RedRefinement(), BisectedElement::SecondChild, Element::SEGMENT, RefinedElement::SetCoarseElem(), Array< T >::SetSize(), SetState(), Array< T >::Size(), State, RefinedElement::State, Swap(), TWO_LEVEL_FINE, Tetrahedron::TYPE_PF, Tetrahedron::TYPE_PU, UpdateNodes(), UseTwoLevelState(), vertices, and WantTwoLevelState.
Referenced by UniformRefinement().
void Mesh::MarkForRefinement | ( | ) | [protected] |
Definition at line 740 of file mesh.cpp.
References Dim, MarkTetMeshForRefinement(), MarkTriMeshForRefinement(), and meshgen.
Referenced by Load().
void Mesh::MarkTetMeshForRefinement | ( | ) | [protected] |
Definition at line 764 of file mesh.cpp.
References boundary, edge_length::edge, elements, GetLength(), GetVertexToVertexTable(), edge_length::length, DSTable::NumberOfEntries(), NumOfBdrElements, NumOfEdges, NumOfElements, NumOfVertices, Element::TETRAHEDRON, and Element::TRIANGLE.
Referenced by FinalizeTetMesh(), and MarkForRefinement().
void Mesh::MarkTriMeshForRefinement | ( | ) | [protected] |
Definition at line 751 of file mesh.cpp.
References elements, GetPointMatrix(), NumOfElements, and Element::TRIANGLE.
Referenced by FinalizeTriMesh(), MarkForRefinement(), and Mesh().
int Mesh::MeshGenerator | ( | ) | [inline] |
void Mesh::MoveNodes | ( | const Vector & | displacements | ) |
Definition at line 4069 of file mesh.cpp.
References MoveVertices(), and Nodes.
void Mesh::MoveVertices | ( | const Vector & | displacements | ) |
Definition at line 4046 of file mesh.cpp.
References Dim, Array< T >::Size(), and vertices.
Referenced by MoveNodes().
Element * Mesh::NewElement | ( | int | geom | ) | [protected] |
Definition at line 1055 of file mesh.cpp.
References Geometry::CUBE, Geometry::SEGMENT, Geometry::SQUARE, Geometry::TETRAHEDRON, and Geometry::TRIANGLE.
Referenced by ReadElement().
void Mesh::NewNodes | ( | GridFunction & | nodes | ) |
void Mesh::NURBSUniformRefinement | ( | ) | [protected, virtual] |
Refine NURBS mesh.
Reimplemented in ParMesh.
Definition at line 2193 of file mesh.cpp.
References NURBSExtension::ConvertToPatches(), Nodes, NURBSext, NURBSExtension::UniformRefinement(), and UpdateNURBS().
Referenced by UniformRefinement().
void Mesh::Print | ( | ostream & | out = cout | ) | const [virtual] |
Print the mesh to the given stream using the default MFEM mesh format.
Reimplemented in ParMesh.
Definition at line 6002 of file mesh.cpp.
References boundary, Dim, elements, Nodes, NumOfBdrElements, NumOfElements, NumOfVertices, NURBSext, NURBSExtension::Print(), PrintElement(), GridFunction::Save(), and vertices.
Referenced by main().
Definition at line 70 of file mesh.cpp.
References DenseMatrix::CalcSingularvalue(), DenseMatrix::Det(), Dimension(), EulerNumber(), EulerNumber2D(), GetElementJacobian(), GetNBE(), GetNE(), GetNEdges(), GetNFaces(), GetNV(), kappa, NumOfElements, Vector::SetSize(), and DenseMatrix::SetSize().
void Mesh::PrintElement | ( | Element * | el, |
ostream & | out | ||
) | [static, protected] |
Definition at line 1090 of file mesh.cpp.
References Element::GetAttribute(), Element::GetGeometryType(), Element::GetNVertices(), and Element::GetVertices().
Referenced by Print(), and PrintTopo().
void Mesh::PrintElementsWithPartitioning | ( | int * | partitioning, |
ostream & | out, | ||
int | interior_faces = 0 |
||
) |
Definition at line 6532 of file mesh.cpp.
References Dim, elements, ElementToEdgeTable(), faces, faces_info, GetEdgeVertices(), Table::GetRow(), meshgen, NumOfElements, NumOfFaces, NumOfVertices, Table::RowSize(), Table::Size(), Transpose(), and vertices.
void Mesh::PrintTopo | ( | ostream & | out, |
const Array< int > & | e_to_k | ||
) | const [protected] |
Definition at line 6055 of file mesh.cpp.
References boundary, Dim, edge_vertex, elements, Table::GetRow(), NumOfBdrElements, NumOfEdges, NumOfElements, NumOfVertices, and PrintElement().
Referenced by NURBSExtension::Print().
void Mesh::PrintVTK | ( | ostream & | out, |
int | ref, | ||
int | field_data = 0 |
||
) |
Print the mesh in VTK format. The parameter ref specifies an element subdivision number (useful for high order fields and curved meshes). If the optional field_data is set, we also add a FIELD section in the beginning of the file with additional dataset information.
Definition at line 6238 of file mesh.cpp.
References attributes, Geometry::CUBE, Geometries, GetAttribute(), GetElementBaseGeometry(), GetElementColoring(), GetElementTransformation(), GetNE(), IntegrationRule::GetNPoints(), Geometry::GetVertices(), GlobGeometryRefiner, DenseMatrix::Height(), RefinedGeometry::RefGeoms, GeometryRefiner::Refine(), RefinedGeometry::RefPts, Array< T >::Size(), Geometry::SQUARE, Geometry::TETRAHEDRON, Geometry::TRIANGLE, and DenseMatrix::Width().
void Mesh::PrintVTK | ( | ostream & | out | ) |
Print the mesh in VTK format (linear and quadratic meshes only).
Definition at line 6091 of file mesh.cpp.
References Geometry::CUBE, Dim, FiniteElementSpace::DofsToVDofs(), elements, FiniteElementSpace::FEColl(), GridFunction::FESpace(), FiniteElementSpace::GetElementDofs(), FiniteElementSpace::GetNDofs(), mfem_error(), FiniteElementCollection::Name(), Nodes, NumOfElements, NumOfVertices, Array< T >::SetSize(), Array< T >::Size(), Geometry::SQUARE, Geometry::TETRAHEDRON, Geometry::TRIANGLE, and vertices.
void Mesh::PrintWithPartitioning | ( | int * | partitioning, |
ostream & | out, | ||
int | elem_attr = 0 |
||
) | const |
Prints the mesh with bdr elements given by the boundary of the subdomains, so that the boundary of subdomain i has bdr attribute i.
Definition at line 6436 of file mesh.cpp.
References Dim, elements, faces, faces_info, GetAttribute(), Nodes, NumOfElements, NumOfFaces, NumOfVertices, GridFunction::Save(), and vertices.
void Mesh::PrintXG | ( | ostream & | out = cout | ) | const [virtual] |
Print the mesh to the given stream using Netgen/Truegrid format.
Reimplemented in ParMesh.
Definition at line 5859 of file mesh.cpp.
References boundary, Dim, elements, meshgen, mfem_error(), Nodes, NumOfBdrElements, NumOfElements, NumOfVertices, GridFunction::Save(), Array< T >::Size(), and vertices.
void Mesh::QuadUniformRefinement | ( | ) | [protected, virtual] |
Refine quadrilateral mesh.
Reimplemented in ParMesh.
Definition at line 4133 of file mesh.cpp.
References AverageVertices(), be_to_edge, boundary, c_el_to_edge, c_NumOfBdrElements, c_NumOfEdges, c_NumOfElements, c_NumOfVertices, CheckBdrElementOrientation(), CheckElementOrientation(), QuadrisectedElement::Child2, QuadrisectedElement::Child3, QuadrisectedElement::Child4, DeleteCoarseTables(), el_to_edge, elements, f_el_to_edge, f_NumOfBdrElements, f_NumOfEdges, f_NumOfElements, f_NumOfVertices, fc_be_to_edge, RefinedElement::FINE, RefinedElement::FirstChild, GenerateFaces(), GetElementToEdgeTable(), Table::GetRow(), Nodes, NORMAL, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, BisectedElement::SecondChild, RefinedElement::SetCoarseElem(), Array< T >::SetSize(), SetState(), State, RefinedElement::State, Swap(), TWO_LEVEL_FINE, UpdateNodes(), UseTwoLevelState(), vertices, and WantTwoLevelState.
Referenced by UniformRefinement().
Element * Mesh::ReadElement | ( | istream & | input | ) | [protected] |
Definition at line 1074 of file mesh.cpp.
References Element::GetNVertices(), Element::GetVertices(), NewElement(), and Element::SetAttribute().
Referenced by Load(), and LoadPatchTopo().
void Mesh::RedRefinement | ( | int | i, |
const DSTable & | v_to_v, | ||
int * | edge1, | ||
int * | edge2, | ||
int * | middle | ||
) | [inline, protected] |
Red refinement. Element with index i is refined. The default red refinement for now is Uniform.
Definition at line 115 of file mesh.hpp.
References UniformRefinement().
Referenced by LocalRefinement().
void Mesh::ReorientTetMesh | ( | ) | [virtual] |
This method modifies a tetrahedral mesh so that Nedelec spaces of order greater than 1 can be defined on the mesh. Specifically, we 1) rotate all tets in the mesh so that the vertices {v0, v1, v2, v3} satisfy: v0 < v1 < min(v2, v3). 2) rotate all boundary triangles so that the vertices {v0, v1, v2} satisfy: v0 < min(v1, v2).
Note: refinement does not work after a call to this method!
Reimplemented in ParMesh.
Definition at line 3291 of file mesh.cpp.
References be_to_edge, boundary, DeleteCoarseTables(), Dim, el_to_edge, elements, GenerateFaces(), GetBdrElementType(), GetElementToEdgeTable(), GetElementToFaceTable(), GetElementType(), meshgen, NumOfBdrElements, NumOfEdges, NumOfElements, Rotate3(), ShiftL2R(), Element::TETRAHEDRON, and Element::TRIANGLE.
void Mesh::Rotate3 | ( | int & | a, |
int & | b, | ||
int & | c | ||
) | [inline, static, protected] |
void Mesh::ScaleElements | ( | double | sf | ) |
Definition at line 6915 of file mesh.cpp.
References Dim, GetElementVertices(), GetPointMatrix(), NumOfElements, NumOfVertices, Array< T >::Size(), and vertices.
void Mesh::ScaleSubdomains | ( | double | sf | ) |
Definition at line 6853 of file mesh.cpp.
References attributes, Dim, GetAttribute(), GetElementVertices(), GetPointMatrix(), NumOfElements, NumOfVertices, Array< T >::Size(), and vertices.
void Mesh::SetAttributes | ( | ) |
Definition at line 515 of file mesh.cpp.
References attributes, bdr_attributes, GetAttribute(), GetBdrAttribute(), GetNBE(), GetNE(), Array< T >::SetSize(), Array< T >::Size(), and Array< T >::Sort().
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), Load(), LoadPatchTopo(), and Mesh().
void Mesh::SetNodalFESpace | ( | FiniteElementSpace * | nfes | ) |
Definition at line 2365 of file mesh.cpp.
References Dim, Nodes, own_nodes, GridFunction::ProjectCoefficient(), and XYZ_VectorFunction().
Referenced by main().
void Mesh::SetNodalGridFunction | ( | GridFunction * | nodes | ) |
Definition at line 2376 of file mesh.cpp.
References Dim, GridFunction::FESpace(), Nodes, own_nodes, GridFunction::ProjectCoefficient(), and XYZ_VectorFunction().
void Mesh::SetNodes | ( | const Vector & | node_coord | ) |
Definition at line 4085 of file mesh.cpp.
References Nodes, and SetVertices().
void Mesh::SetState | ( | int | s | ) |
Change the mesh state to NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE.
Definition at line 5226 of file mesh.cpp.
References be_to_edge, bel_to_edge, Element::BISECTED, boundary, c_bel_to_edge, c_el_to_edge, c_el_to_face, c_NumOfBdrElements, c_NumOfEdges, c_NumOfElements, c_NumOfFaces, c_NumOfVertices, RefinedElement::COARSE, RefinedElement::CoarseElem, Array< T >::DeleteAll(), Dim, el_to_edge, el_to_face, elements, f_bel_to_edge, f_el_to_edge, f_el_to_face, f_NumOfBdrElements, f_NumOfEdges, f_NumOfElements, f_NumOfFaces, f_NumOfVertices, faces_info, fc_be_to_edge, fc_faces_info, RefinedElement::FINE, RefinedElement::FirstChild, FreeElement(), mfem_error(), NORMAL, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfFaces, NumOfVertices, Element::OCTASECTED, Element::QUADRISECTED, RefinedElement::State, State, Swap(), TWO_LEVEL_COARSE, and TWO_LEVEL_FINE.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), UpdateNodes(), and UseTwoLevelState().
void Mesh::SetVertices | ( | const Vector & | vert_coord | ) |
Definition at line 4062 of file mesh.cpp.
References Dim, Array< T >::Size(), and vertices.
Referenced by SetNodes().
void Mesh::ShiftL2R | ( | int & | a, |
int & | b, | ||
int & | c | ||
) | [inline, static, protected] |
Definition at line 570 of file mesh.hpp.
Referenced by ReorientTetMesh(), and Rotate3().
Definition at line 6977 of file mesh.cpp.
References Dim, GridFunction::FESpace(), Nodes, Vector::SetData(), Array< T >::Size(), and vertices.
void Mesh::UniformRefinement | ( | int | i, |
const DSTable & | v_to_v, | ||
int * | edge1, | ||
int * | edge2, | ||
int * | middle | ||
) | [protected] |
Uniform Refinement. Element with index i is refined uniformly.
Definition at line 5152 of file mesh.cpp.
References Array< T >::Append(), QuadrisectedElement::Child2, QuadrisectedElement::Child3, QuadrisectedElement::Child4, elements, RefinedElement::FirstChild, GetAttribute(), mfem_error(), NumOfElements, NumOfVertices, Element::TRIANGLE, vertices, and WantTwoLevelState.
Referenced by main().
void Mesh::UniformRefinement | ( | ) |
Definition at line 4835 of file mesh.cpp.
References Dim, GetNE(), HexUniformRefinement(), LocalRefinement(), meshgen, mfem_error(), NURBSext, NURBSUniformRefinement(), QuadUniformRefinement(), and Array< T >::Size().
Referenced by RedRefinement().
void Mesh::UpdateNodes | ( | ) | [protected] |
Update the nodes of a curved mesh after refinement.
Definition at line 4115 of file mesh.cpp.
References GridFunction::FESpace(), FiniteElementSpace::GlobalRestrictionMatrix(), SparseMatrix::MultTranspose(), Nodes, FiniteElementSpace::SaveUpdate(), SetState(), TWO_LEVEL_FINE, and GridFunction::Update().
Referenced by HexUniformRefinement(), LocalRefinement(), and QuadUniformRefinement().
void Mesh::UpdateNURBS | ( | ) | [protected] |
Definition at line 2221 of file mesh.cpp.
References be_to_edge, boundary, Dim, NURBSExtension::Dimension(), el_to_edge, el_to_face, elements, GridFunction::FESpace(), FreeElement(), GenerateFaces(), NURBSExtension::GetBdrElementTopo(), GetElementToEdgeTable(), GetElementToFaceTable(), NURBSExtension::GetElementTopo(), NURBSExtension::GetNBE(), NURBSExtension::GetNE(), GridFunction::GetNodalValues(), NURBSExtension::GetNV(), Nodes, NumOfBdrElements, NumOfEdges, NumOfElements, NumOfVertices, NURBSext, NURBSExtension::SetCoordsFromPatches(), NURBSExtension::SetKnotsFromPatches(), Array< T >::SetSize(), Array< T >::Size(), GridFunction::Update(), FiniteElementSpace::Update(), GridFunction::VectorDim(), and vertices.
Referenced by DegreeElevate(), KnotInsert(), and NURBSUniformRefinement().
void Mesh::UseTwoLevelState | ( | int | use | ) | [inline] |
Sets or clears the flag that indicates that mesh refinement methods should put the mesh in two-level state.
Definition at line 496 of file mesh.hpp.
References NORMAL, SetState(), State, and WantTwoLevelState.
Referenced by HexUniformRefinement(), LocalRefinement(), and QuadUniformRefinement().
friend class NURBSExtension [friend] |
Array<int> Mesh::attributes |
Definition at line 224 of file mesh.hpp.
Referenced by main(), Mesh(), PrintVTK(), ScaleSubdomains(), and SetAttributes().
Definition at line 225 of file mesh.hpp.
Referenced by main(), Mesh(), and SetAttributes().
Array<int> Mesh::be_to_edge [protected] |
Definition at line 59 of file mesh.hpp.
Referenced by CheckBdrElementOrientation(), FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), GenerateBoundaryElements(), GetBdrElementEdgeIndex(), GetBdrElementEdges(), GetBdrFaceTransformations(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), and UpdateNURBS().
Array<int> Mesh::be_to_face [protected] |
Definition at line 61 of file mesh.hpp.
Referenced by CheckBdrElementOrientation(), GenerateBoundaryElements(), GetBdrElementEdgeIndex(), GetBdrElementFace(), GetBdrFaceTransformations(), GetElementToFaceTable(), HexUniformRefinement(), and Load().
Table* Mesh::bel_to_edge [protected] |
Definition at line 60 of file mesh.hpp.
Referenced by DeleteTables(), FinalizeTetMesh(), GenerateBoundaryElements(), GetBdrElementEdges(), GetElementToEdgeTable(), HexUniformRefinement(), InitTables(), LocalRefinement(), and SetState().
Array<Element *> Mesh::boundary [protected] |
Definition at line 50 of file mesh.hpp.
Referenced by AddBdrQuad(), AddBdrSegment(), AddBdrTriangle(), Bisection(), CheckBdrElementOrientation(), GenerateBoundaryElements(), GetBdrAttribute(), GetBdrElement(), GetBdrElementBaseGeometry(), GetBdrElementEdges(), GetBdrElementFace(), GetBdrElementType(), GetBdrElementVertices(), GetBdrFaceTransformations(), GetBdrPointMatrix(), GetElementToEdgeTable(), GetElementToFaceTable(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), Mesh(), Print(), PrintTopo(), PrintXG(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), UpdateNURBS(), and ~Mesh().
Table * Mesh::c_bel_to_edge [protected] |
Definition at line 65 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
Table* Mesh::c_el_to_edge [protected] |
Definition at line 65 of file mesh.hpp.
Referenced by HexUniformRefinement(), Load(), LocalRefinement(), QuadUniformRefinement(), and SetState().
Table* Mesh::c_el_to_face [protected] |
Definition at line 67 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
int Mesh::c_NumOfBdrElements [protected] |
Definition at line 43 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::c_NumOfEdges [protected] |
Definition at line 45 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::c_NumOfElements [protected] |
Definition at line 43 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::c_NumOfFaces [protected] |
Definition at line 45 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
int Mesh::c_NumOfVertices [protected] |
Definition at line 43 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::Dim [protected] |
Definition at line 33 of file mesh.hpp.
Referenced by AddVertex(), AverageVertices(), CartesianPartitioning(), CheckBdrElementOrientation(), CheckDisplacements(), CheckElementOrientation(), DeleteTables(), Dimension(), ElementToElementTable(), GenerateBoundaryElements(), GenerateFaces(), GetBdrElementEdgeIndex(), GetBdrElementEdges(), GetBdrElementTransformation(), GetBdrFaceTransformations(), GetBdrPointMatrix(), GetEdgeVertices(), GetElementSize(), GetElementToEdgeTable(), GetElementTransformation(), GetFaceEdges(), GetFaceEdgeTable(), GetFaceTransformation(), GetFineElem(), GetFineElemTrans(), GetLength(), GetNumFineElems(), GetPointMatrix(), GetRefinementType(), GetVertices(), Load(), LoadPatchTopo(), LocalRefinement(), MarkForRefinement(), Mesh(), MoveVertices(), Print(), PrintElementsWithPartitioning(), PrintTopo(), PrintVTK(), PrintWithPartitioning(), PrintXG(), ReorientTetMesh(), ScaleElements(), ScaleSubdomains(), SetNodalFESpace(), SetNodalGridFunction(), SetState(), SetVertices(), Transform(), UniformRefinement(), and UpdateNURBS().
Table* Mesh::edge_vertex [mutable, protected] |
Definition at line 63 of file mesh.hpp.
Referenced by DeleteCoarseTables(), DeleteTables(), GetEdgeVertexTable(), GetEdgeVertices(), GetVertexToVertexTable(), InitTables(), LoadPatchTopo(), and PrintTopo().
Table* Mesh::el_to_edge [protected] |
Definition at line 56 of file mesh.hpp.
Referenced by DeleteTables(), ElementToEdgeTable(), FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), GenerateFaces(), GetElementEdges(), HexUniformRefinement(), InitTables(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), and UpdateNURBS().
Table* Mesh::el_to_el [protected] |
Definition at line 58 of file mesh.hpp.
Referenced by CheckPartitioning(), DeleteCoarseTables(), DeleteTables(), ElementToElementTable(), GeneratePartitioning(), GetElementColoring(), and InitTables().
Table* Mesh::el_to_face [protected] |
Definition at line 57 of file mesh.hpp.
Referenced by DeleteTables(), ElementToFaceTable(), GenerateFaces(), GetElementFaces(), GetElementToFaceTable(), HexUniformRefinement(), InitTables(), LocalRefinement(), SetState(), and UpdateNURBS().
Array<Element *> Mesh::elements [protected] |
Definition at line 48 of file mesh.hpp.
Referenced by AddElement(), AddHex(), AddQuad(), AddTet(), AddTri(), AddTriangle(), Bisection(), CheckBdrElementOrientation(), CheckDisplacements(), CheckElementOrientation(), GenerateFaces(), GetAttribute(), GetBisectionHierarchy(), GetElement(), GetElementBaseGeometry(), GetElementEdges(), GetElementToEdgeTable(), GetElementToFaceTable(), GetElementTransformation(), GetElementType(), GetElementVertices(), GetFacesTable(), GetFineElem(), GetFineElemPath(), GetFineElemTrans(), GetNumFineElems(), GetPointMatrix(), GetRefinementType(), GetVertexToElementTable(), GetVertexToVertexTable(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), MarkTriMeshForRefinement(), Mesh(), Print(), PrintElementsWithPartitioning(), PrintTopo(), PrintVTK(), PrintWithPartitioning(), PrintXG(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), UniformRefinement(), UpdateNURBS(), and ~Mesh().
Table * Mesh::f_bel_to_edge [protected] |
Definition at line 65 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
Table * Mesh::f_el_to_edge [protected] |
Definition at line 65 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
Table * Mesh::f_el_to_face [protected] |
Definition at line 67 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
int Mesh::f_NumOfBdrElements [protected] |
Definition at line 44 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::f_NumOfEdges [protected] |
Definition at line 46 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::f_NumOfElements [protected] |
Definition at line 44 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
int Mesh::f_NumOfFaces [protected] |
Definition at line 46 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
int Mesh::f_NumOfVertices [protected] |
Definition at line 44 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), QuadUniformRefinement(), and SetState().
Table* Mesh::face_edge [mutable, protected] |
Definition at line 62 of file mesh.hpp.
Referenced by DeleteCoarseTables(), DeleteTables(), GetFaceEdges(), GetFaceEdgeTable(), and InitTables().
FaceElementTransformations Mesh::FaceElemTr [protected] |
Definition at line 72 of file mesh.hpp.
Referenced by GetFaceElementTransformations().
Array<Element *> Mesh::faces [protected] |
Definition at line 51 of file mesh.hpp.
Referenced by AddQuadFaceElement(), AddSegmentFaceElement(), AddTriangleFaceElement(), CheckBdrElementOrientation(), GenerateBoundaryElements(), GenerateFaces(), GetBdrElementFace(), GetEdgeVertices(), GetFace(), GetFaceBaseGeometry(), GetFaceEdges(), GetFaceEdgeTable(), GetFaceElementTransformations(), GetFaceTransformation(), GetFaceVertices(), Load(), PrintElementsWithPartitioning(), PrintWithPartitioning(), and ~Mesh().
Array<FaceInfo> Mesh::faces_info [protected] |
Definition at line 54 of file mesh.hpp.
Referenced by AddQuadFaceElement(), AddSegmentFaceElement(), AddTriangleFaceElement(), CheckBdrElementOrientation(), ElementToElementTable(), GenerateBoundaryElements(), GenerateFaces(), GetBdrFaceTransformations(), GetElementFaces(), GetFaceBaseGeometry(), GetFaceElements(), GetFaceElementTransformations(), GetFaceInfos(), GetInteriorFaceTransformations(), HexUniformRefinement(), Load(), LocalRefinement(), PrintElementsWithPartitioning(), PrintWithPartitioning(), and SetState().
IsoparametricTransformation Mesh::FaceTransformation [protected] |
Definition at line 71 of file mesh.hpp.
Referenced by GetBdrElementTransformation(), and GetFaceTransformation().
Array<int> Mesh::fc_be_to_edge [protected] |
Definition at line 66 of file mesh.hpp.
Referenced by LocalRefinement(), QuadUniformRefinement(), and SetState().
Array<FaceInfo> Mesh::fc_faces_info [protected] |
Definition at line 68 of file mesh.hpp.
Referenced by HexUniformRefinement(), LocalRefinement(), and SetState().
int Mesh::meshgen [protected] |
Definition at line 41 of file mesh.hpp.
Referenced by FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), Load(), LoadPatchTopo(), MarkForRefinement(), Mesh(), MeshGenerator(), PrintElementsWithPartitioning(), PrintXG(), ReorientTetMesh(), and UniformRefinement().
GridFunction* Mesh::Nodes [protected] |
Definition at line 74 of file mesh.hpp.
Referenced by DegreeElevate(), GetBdrElementTransformation(), GetElementTransformation(), GetNodalFESpace(), GetNodes(), HexUniformRefinement(), Init(), KnotInsert(), Load(), LocalRefinement(), Mesh(), MoveNodes(), NewNodes(), NURBSUniformRefinement(), Print(), PrintVTK(), PrintWithPartitioning(), PrintXG(), QuadUniformRefinement(), SetNodalFESpace(), SetNodalGridFunction(), SetNodes(), Transform(), UpdateNodes(), UpdateNURBS(), and ~Mesh().
int Mesh::NumOfBdrElements [protected] |
Definition at line 35 of file mesh.hpp.
Referenced by AddBdrQuad(), AddBdrSegment(), AddBdrTriangle(), Bisection(), CheckBdrElementOrientation(), FinalizeHexMesh(), FinalizeTetMesh(), GenerateBoundaryElements(), GetElementToEdgeTable(), GetElementToFaceTable(), GetNBE(), HexUniformRefinement(), Init(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), Mesh(), Print(), PrintTopo(), PrintXG(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), UpdateNURBS(), and ~Mesh().
int Mesh::NumOfEdges [protected] |
Definition at line 36 of file mesh.hpp.
Referenced by EulerNumber(), EulerNumber2D(), FinalizeHexMesh(), FinalizeQuadMesh(), FinalizeTetMesh(), FinalizeTriMesh(), GenerateFaces(), GetEdgeVertices(), GetNEdges(), HexUniformRefinement(), Init(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), Mesh(), PrintTopo(), QuadUniformRefinement(), ReorientTetMesh(), SetState(), and UpdateNURBS().
int Mesh::NumOfElements [protected] |
Definition at line 35 of file mesh.hpp.
Referenced by AddElement(), AddHex(), AddQuad(), AddTet(), AddTri(), AddTriangle(), Bisection(), CartesianPartitioning(), CheckDisplacements(), CheckElementOrientation(), ElementToElementTable(), EulerNumber(), EulerNumber2D(), GenerateFaces(), GeneratePartitioning(), GetElementToFaceTable(), GetFacesTable(), GetNE(), GetVertexToElementTable(), GetVertexToVertexTable(), HexUniformRefinement(), Init(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), MarkTriMeshForRefinement(), Mesh(), Print(), PrintCharacteristics(), PrintElementsWithPartitioning(), PrintTopo(), PrintVTK(), PrintWithPartitioning(), PrintXG(), QuadUniformRefinement(), ReorientTetMesh(), ScaleElements(), ScaleSubdomains(), SetState(), UniformRefinement(), UpdateNURBS(), and ~Mesh().
int Mesh::NumOfFaces [protected] |
Definition at line 36 of file mesh.hpp.
Referenced by ElementToElementTable(), EulerNumber(), FinalizeQuadMesh(), FinalizeTriMesh(), GenerateFaces(), GetElementToFaceTable(), GetFaceEdgeTable(), GetNFaces(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), PrintElementsWithPartitioning(), PrintWithPartitioning(), QuadUniformRefinement(), and SetState().
int Mesh::NumOfVertices [protected] |
Definition at line 35 of file mesh.hpp.
Referenced by AddVertex(), Bisection(), CartesianPartitioning(), EulerNumber(), EulerNumber2D(), GetEdgeVertexTable(), GetElementToEdgeTable(), GetElementToFaceTable(), GetFaceEdgeTable(), GetFacesTable(), GetNV(), GetVertexToElementTable(), HexUniformRefinement(), Init(), Load(), LoadPatchTopo(), LocalRefinement(), MarkTetMeshForRefinement(), Mesh(), Print(), PrintElementsWithPartitioning(), PrintTopo(), PrintVTK(), PrintWithPartitioning(), PrintXG(), QuadUniformRefinement(), ScaleElements(), ScaleSubdomains(), SetState(), UniformRefinement(), and UpdateNURBS().
Definition at line 227 of file mesh.hpp.
Referenced by DegreeElevate(), FiniteElementSpace::FiniteElementSpace(), GetFaceElementTransformations(), GridFunction::GridFunction(), Init(), KnotInsert(), Load(), main(), NURBSExtension::MergeGridFunctions(), NURBSExtension::MergeWeights(), Mesh(), NURBSExtension::NURBSExtension(), NURBSUniformRefinement(), Print(), UniformRefinement(), UpdateNURBS(), and ~Mesh().
int Mesh::own_nodes [protected] |
Definition at line 75 of file mesh.hpp.
Referenced by Init(), Load(), Mesh(), NewNodes(), SetNodalFESpace(), SetNodalGridFunction(), and ~Mesh().
int Mesh::State [protected] |
Definition at line 38 of file mesh.hpp.
Referenced by GetBdrElementFace(), HexUniformRefinement(), Init(), LocalRefinement(), QuadUniformRefinement(), SetState(), and UseTwoLevelState().
IsoparametricTransformation Mesh::Transformation [protected] |
Definition at line 70 of file mesh.hpp.
Referenced by GetElementTransformation(), GetFaceElementTransformations(), and GetFineElemTrans().
IsoparametricTransformation Mesh::Transformation2 [protected] |
Definition at line 70 of file mesh.hpp.
Referenced by GetFaceElementTransformations().
Array<Vertex> Mesh::vertices [protected] |
Definition at line 49 of file mesh.hpp.
Referenced by AddVertex(), AverageVertices(), Bisection(), CartesianPartitioning(), CheckDisplacements(), CheckElementOrientation(), GetBdrPointMatrix(), GetElementTransformation(), GetFaceTransformation(), GetLength(), GetPointMatrix(), GetVertex(), GetVertices(), HexUniformRefinement(), Load(), LoadPatchTopo(), LocalRefinement(), Mesh(), MoveVertices(), Print(), PrintElementsWithPartitioning(), PrintVTK(), PrintWithPartitioning(), PrintXG(), QuadUniformRefinement(), ScaleElements(), ScaleSubdomains(), SetVertices(), Transform(), UniformRefinement(), and UpdateNURBS().
int Mesh::WantTwoLevelState [protected] |
Definition at line 38 of file mesh.hpp.
Referenced by Bisection(), HexUniformRefinement(), Init(), LocalRefinement(), QuadUniformRefinement(), UniformRefinement(), and UseTwoLevelState().