class Mesh

Abstract data type for mesh class.

Inheritance:


Public Methods

virtual void Load( istream &input, int generate_edges = 0 )
Load mesh from input stream input.
inline int GetNV() const
Returns number of vertices.
inline int GetNE() const
Returns number of elements.
inline int GetNBE() const
Returns number of boundary elements.
inline int GetNEdges() const
Return the number of edges.
virtual double* GetVertex(int i) const
Return pointer to vertex i's coordinates
virtual void GetElementVertices( int i, Array<int> &dofs ) const
Returns the indices of the dofs of element i.
virtual void GetBdrElementVertices( int i, Array<int> &dofs ) const
Returns the indices of the dofs of boundary element i.
virtual void GetElementEdges(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all edges of element i.
virtual void GetBdrElementEdges(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all edges of bdr element i.
virtual void GetElementFaces(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all faces of element i.
virtual void GetBdrElementFace(int i, int *, int *) const
Return the index and the orientation of the face of bdr element i. (3D)
virtual int GetBdrElementEdgeIndex(int i) const
Return the edge index of boundary element i.
virtual int GetElementType(int i) const
Returns the type of element i.
virtual int GetBdrElementType(int i) const
Returns the type of boundary element i.
virtual void GetPointMatrix(int i, RectangularMatrix &pointmat ) const
Return point matrix of dimension Dim X dofs, where for every degreeof freedom we give its coordinates in space of dimension Dim
virtual void GetBdrPointMatrix(int i, RectangularMatrix &pointmat ) const
Return point matrix of dimension Dim X dofs, where for every degreeof freedom we give its coordinates in space of dimension Dim
virtual int GetAttribute(int i) const
Return element i's attribute.
virtual int GetBdrAttribute(int i) const
Return boundary element i's attribute.
virtual double GetLength(int i, int j) const
Return the length of the segment from node i to node j.
virtual void GetVertexToVertexTable( STable &) const
Return vertex to vertex table
virtual int GetElementToEdgeTable(Table &, Array<int> &)
Return element to edge table and the indeces for the boundary edges
virtual ElementTransformation* GetElementTransformation(int i)
Returns the transformation defining the i-th element
virtual ElementTransformation* GetBdrElementTransformation(int i)
Returns the transformation defining the i-th boundary element
virtual void LocalRefinement(const Array<int> &marked_el, int type = 3)
Refine the marked elements.
void UseTwoLevelState(int use)
Sets or clears the flag that indicates that 'LocalRefinement (
virtual void SetState(int s)
Change the mesh state to NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE
virtual int GetNumFineElems(int i)
For a given coarse element i returns the number of subelements it is divided into
virtual int GetRefinementType(int i)
For a given coarse element i returns its refinement type
virtual int 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
virtual ElementTransformation* 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
virtual void Print(ostream &out, const Vector &solution, int format = 1 ) const
Print the mesh and the vertex solution in file given by f_name in mcsg format
virtual void Print(ostream &out = cout) const
Print the mesh in Netgen format

Documentation

Abstract data type for mesh class.
virtual void Load( istream &input, int generate_edges = 0 )
Load mesh from input stream input.

inline int GetNV() const
Returns number of vertices.

inline int GetNE() const
Returns number of elements.

inline int GetNBE() const
Returns number of boundary elements.

inline int GetNEdges() const
Return the number of edges.

virtual double* GetVertex(int i) const
Return pointer to vertex i's coordinates

virtual void GetElementVertices( int i, Array<int> &dofs ) const
Returns the indices of the dofs of element i.

virtual void GetBdrElementVertices( int i, Array<int> &dofs ) const
Returns the indices of the dofs of boundary element i.

virtual void GetElementEdges(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all edges of element i.

virtual void GetBdrElementEdges(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all edges of bdr element i.

virtual void GetElementFaces(int i, Array<int> &, Array<int> &) const
Return the indices and the orientations of all faces of element i.

virtual void GetBdrElementFace(int i, int *, int *) const
Return the index and the orientation of the face of bdr element i. (3D)

virtual int GetBdrElementEdgeIndex(int i) const
Return the edge index of boundary element i.

virtual int GetElementType(int i) const
Returns the type of element i.

virtual int GetBdrElementType(int i) const
Returns the type of boundary element i.

virtual void GetPointMatrix(int i, RectangularMatrix &pointmat ) const
Return point matrix of dimension Dim X dofs, where for every degreeof freedom we give its coordinates in space of dimension Dim.

virtual void GetBdrPointMatrix(int i, RectangularMatrix &pointmat ) const
Return point matrix of dimension Dim X dofs, where for every degreeof freedom we give its coordinates in space of dimension Dim.

virtual int GetAttribute(int i) const
Return element i's attribute.

virtual int GetBdrAttribute(int i) const
Return boundary element i's attribute.

virtual double GetLength(int i, int j) const
Return the length of the segment from node i to node j.

virtual void GetVertexToVertexTable( STable &) const
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.

virtual int GetElementToEdgeTable(Table &, Array<int> &)
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.

virtual ElementTransformation* GetElementTransformation(int i)
Returns the transformation defining the i-th element

virtual ElementTransformation* GetBdrElementTransformation(int i)
Returns the transformation defining the i-th boundary element

virtual void LocalRefinement(const Array<int> &marked_el, int type = 3)
Refine the marked elements.

void UseTwoLevelState(int use)
Sets or clears the flag that indicates that 'LocalRefinement (...)' should put the mesh in two-level state.

virtual void SetState(int s)
Change the mesh state to NORMAL, TWO_LEVEL_COARSE, TWO_LEVEL_FINE

virtual int GetNumFineElems(int i)
For a given coarse element i returns the number of subelements it is divided into

virtual int GetRefinementType(int i)
For a given coarse element i returns its refinement type

virtual int 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

virtual ElementTransformation* 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? :-)

virtual void Print(ostream &out, const Vector &solution, int format = 1 ) const
Print the mesh and the vertex solution in file given by f_name in mcsg format.

virtual void Print(ostream &out = cout) const
Print the mesh in Netgen format


Direct child classes:
DMesh

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de