Class documentation of Concepts

Loading...
Searching...
No Matches
Inheritance diagram for concepts::Import2dMesh:
concepts::Import2dMeshBase concepts::Mesh2 concepts::ImportMesh concepts::Mesh concepts::OutputOperator

Public Member Functions

 Import2dMesh (const std::string coord, const std::string elms, const std::string boundary, const uint idxStart=1)
 
 Import2dMesh (const std::string coord, const std::string elms, const uint idxStart=1)
 
virtual uint ncell () const
 Returns the number of cells in the mesh.
 
virtual Scan2scan ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 
virtual void createEntity_ (const MultiIndex< 1 > &idx)
 Creation of topological entities.
 
virtual void createEntity_ (const MultiIndex< 2 > &idx)
 
virtual void createEntity_ (const MultiIndex< 3 > &idx)
 
virtual void createEntity_ (const MultiIndex< 4 > &idx)
 
virtual void createEntity_ (const MultiIndex< 6 > &idx)
 
virtual void createEntity_ (const MultiIndex< 8 > &idx)
 
virtual void createCell_ (const MultiIndex< 3 > &idx)
 Creation of geometrical cells with element mapping.
 
virtual void createCell_ (const MultiIndex< 4 > &idx)
 
virtual void createCell_ (const MultiIndex< 2 > &idx)
 
virtual void createCell_ (const MultiIndex< 6 > &idx)
 
virtual void createCell_ (const MultiIndex< 8 > &idx)
 
virtual void readVertices_ ()
 reads the coordinates of the vertices
 
uint readVertexLine_ (const std::string &i, uint *idx, Real3d *coord) const
 
void attributes_ (const std::string boundary)
 Reads attributes from file boundary.
 
void import_ ()
 Reads and builds the mesh.
 
uint readInts_ (const std::string &i, std::vector< int > &v) const
 
template<class F >
uint readLine_ (const std::string &i, Array< F > &a, bool first=false) const
 
void readCells_ (const std::string &elms, const Array< bool > &dimensions, const std::vector< Real3d > &vertices)
 
template<uint dim>
void newCell_ (MultiIndex< dim > i)
 Creates topological entities and a geometrical cell.
 
void readAttributes_ (const std::string &bound, const Array< bool > &dimensions)
 
template<class T >
void clear_ (std::vector< T * > &field)
 Deletes the content of field of pointers.
 

Protected Attributes

std::vector< Cell2 * > cell_
 List of cells.
 
const std::string coord_
 File names of coordinates and cell files.
 
const std::string elms_
 
std::vector< Real3dvertices_
 Coordinates of the vertices.
 
uint dim_
 
std::vector< Connector2 * > cntr2_
 List of entities.
 
MultiArray< 3, Triangle * > Tri_
 Array of the entities.
 
MultiArray< 4, Quad * > Quad_
 
const uint idxStart_
 Starting point of indices in the files (1 or 0)
 
std::vector< Vertex * > vtx_
 List of entities.
 
std::vector< Connector1 * > edg_
 
MultiArray< 1, Vertex * > Vtx_
 Array of the entities.
 
MultiArray< 2, Edge * > Edg_
 
MultiArray< 1, AttributeoneAttr_
 Attributes of entities.
 
MultiArray< 2, AttributetwoAttr_
 
MultiArray< 3, AttributethreeAttr_
 
MultiArray< 4, AttributefourAttr_
 
MultiArray< 6, AttributesixAttr_
 
MultiArray< 8, AttributeeightAttr_
 

Detailed Description

Constructor & Destructor Documentation

◆ Import2dMesh() [1/2]

concepts::Import2dMesh::Import2dMesh ( const std::string  coord,
const std::string  elms,
const std::string  boundary,
const uint  idxStart = 1 
)

Constructor. Reads the data from three files and creates a mesh from it. The vertices, edges and cells should be number in striclty increasing order, ie. 1, 2, 3 etc.

Parameters
coordFile with coordinates of vertices. Format:
<node> <x> <y>
or
<node> <x> <y> <z>
For instance:
1 1.0 1.0
2 0.0 0.5
3 0.0 0.0
4 -1.0 2.0
or
1 1.0 1.0 0.0
2 0.0 0.5 0.5
3 0.0 0.0 1.0
4 -1.0 2.0 0.5
elmsFile with node numbers of triangles or quads. Format:
<triangle> <node0> <node1> <node2>
or
<quad> <node0> <node1> <node2> <node3>
For instance:
1 1 2 3
or
1 1 2 3 4
boundaryFile with node numbers of edges with boundary conditions. Format:
<edge> <node0> <node1> <attr>
For instance:
1 1 3 0
idxStartStarting point of indices in the files (1 or 0)

◆ Import2dMesh() [2/2]

concepts::Import2dMesh::Import2dMesh ( const std::string  coord,
const std::string  elms,
const uint  idxStart = 1 
)

Constructor. Reads the data from two files and creates a mesh from it. The vertices, edges and cells should be number in strictly increasing order, ie. 1, 2, 3 etc.

Parameters
coordFile with coordinates of vertices. Format:
<node> <x> <y>
or
<node> <x> <y> <z>
For instance:
1 1.0 1.0
2 0.0 0.5
3 0.0 0.0
4 -1.0 2.0
or
1 1.0 1.0 0.0
2 0.0 0.5 0.5
3 0.0 0.0 1.0
4 -1.0 2.0 0.5
elmsFile with node numbers of triangles or quads. Format:
<triangle> <node0> <node1> <node2>
or
<quad> <node0> <node1> <node2> <node3>
For instance:
1 1 2 3
or
1 1 2 3 4
idxStartStarting point of indices in the files (1 or 0)

◆ ~Import2dMesh()

virtual concepts::Import2dMesh::~Import2dMesh ( )
inlinevirtual

Definition at line 165 of file meshImport2D.hh.

Member Function Documentation

◆ clear_()

template<class T >
void concepts::ImportMesh::clear_ ( std::vector< T * > &  field)
protectedinherited

Deletes the content of field of pointers.

Definition at line 132 of file meshImport.hh.

◆ createCell_() [1/3]

virtual void concepts::ImportMesh::createCell_ ( const MultiIndex< 2 > &  idx)
protectedvirtualinherited

Creation of geometrical cells with element mapping

Has to be implemented in derivated classes.

◆ createCell_() [2/3]

virtual void concepts::Import2dMeshBase::createCell_ ( const MultiIndex< 3 > &  idx)
protectedvirtualinherited

Creation of geometrical cells with element mapping.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createCell_() [3/3]

virtual void concepts::Import2dMeshBase::createCell_ ( const MultiIndex< 4 > &  idx)
protectedvirtualinherited

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createEntity_() [1/4]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 1 > &  idx)
inlineprotectedvirtualinherited

Creation of topological entities.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

Definition at line 62 of file meshImport2D.hh.

◆ createEntity_() [2/4]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 2 > &  idx)
inlineprotectedvirtualinherited

Reimplemented from concepts::ImportMesh.

Definition at line 64 of file meshImport2D.hh.

◆ createEntity_() [3/4]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 3 > &  idx)
protectedvirtualinherited

Creation of topological entities

Has to be implemented in derivated classes.

Reimplemented from concepts::ImportMesh.

Reimplemented in concepts::Import2dMeshGeneral.

◆ createEntity_() [4/4]

virtual void concepts::Import2dMeshBase::createEntity_ ( const MultiIndex< 4 > &  idx)
protectedvirtualinherited

Reimplemented from concepts::ImportMesh.

◆ info()

virtual std::ostream & concepts::Import2dMesh::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::Import2dMeshBase.

◆ ncell()

virtual uint concepts::Import2dMeshBase::ncell ( ) const
inlinevirtualinherited

Returns the number of cells in the mesh.

Implements concepts::Mesh.

Definition at line 37 of file meshImport2D.hh.

◆ readCells_()

void concepts::ImportMesh::readCells_ ( const std::string &  elms,
const Array< bool > &  dimensions,
const std::vector< Real3d > &  vertices 
)
protectedinherited

Reads the file with cell information and creates topological entities and geometrical cells

◆ readInts_()

uint concepts::ImportMesh::readInts_ ( const std::string &  i,
std::vector< int > &  v 
) const
protectedinherited

Reads integers from the string

Returns
Number of integers read

◆ readLine_()

template<class F >
uint concepts::ImportMesh::readLine_ ( const std::string &  i,
Array< F > &  a,
bool  first = false 
) const
protectedinherited

Reads line of numbers from the string

Parameters
iString
aresulting array of integers
firstflag, if the first integer should be taken into the array
Returns
Number of integers read

Definition at line 114 of file meshImport.hh.

◆ scan()

virtual Scan2 * concepts::Import2dMeshBase::scan ( )
virtualinherited

Returns a scanner over the cells of the mesh.

Postcondition
The scanner must be deleted after usage. This has to be done by the user.

Implements concepts::Mesh2.

Member Data Documentation

◆ cell_

std::vector<Cell2*> concepts::Import2dMeshBase::cell_
protectedinherited

List of cells.

Definition at line 46 of file meshImport2D.hh.

◆ cntr2_

std::vector<Connector2*> concepts::Import2dMeshBase::cntr2_
protectedinherited

List of entities.

Definition at line 56 of file meshImport2D.hh.

◆ coord_

const std::string concepts::Import2dMeshBase::coord_
protectedinherited

File names of coordinates and cell files.

Definition at line 49 of file meshImport2D.hh.

◆ dim_

uint concepts::Import2dMeshBase::dim_
protectedinherited

Definition at line 53 of file meshImport2D.hh.

◆ edg_

std::vector<Connector1*> concepts::ImportMesh::edg_
protectedinherited

Definition at line 47 of file meshImport.hh.

◆ Edg_

MultiArray<2, Edge*> concepts::ImportMesh::Edg_
protectedinherited

Definition at line 50 of file meshImport.hh.

◆ eightAttr_

MultiArray<8, Attribute> concepts::ImportMesh::eightAttr_
protectedinherited

Definition at line 58 of file meshImport.hh.

◆ elms_

const std::string concepts::Import2dMeshBase::elms_
protectedinherited

Definition at line 49 of file meshImport2D.hh.

◆ fourAttr_

MultiArray<4, Attribute> concepts::ImportMesh::fourAttr_
protectedinherited

Definition at line 56 of file meshImport.hh.

◆ idxStart_

const uint concepts::ImportMesh::idxStart_
protectedinherited

Starting point of indices in the files (1 or 0)

Definition at line 43 of file meshImport.hh.

◆ oneAttr_

MultiArray<1, Attribute> concepts::ImportMesh::oneAttr_
protectedinherited

Attributes of entities.

Definition at line 53 of file meshImport.hh.

◆ Quad_

MultiArray<4, Quad*> concepts::Import2dMeshBase::Quad_
protectedinherited

Definition at line 59 of file meshImport2D.hh.

◆ sixAttr_

MultiArray<6, Attribute> concepts::ImportMesh::sixAttr_
protectedinherited

Definition at line 57 of file meshImport.hh.

◆ threeAttr_

MultiArray<3, Attribute> concepts::ImportMesh::threeAttr_
protectedinherited

Definition at line 55 of file meshImport.hh.

◆ Tri_

MultiArray<3, Triangle*> concepts::Import2dMeshBase::Tri_
protectedinherited

Array of the entities.

Definition at line 58 of file meshImport2D.hh.

◆ twoAttr_

MultiArray<2, Attribute> concepts::ImportMesh::twoAttr_
protectedinherited

Definition at line 54 of file meshImport.hh.

◆ vertices_

std::vector<Real3d> concepts::Import2dMeshBase::vertices_
protectedinherited

Coordinates of the vertices.

Definition at line 52 of file meshImport2D.hh.

◆ vtx_

std::vector<Vertex*> concepts::ImportMesh::vtx_
protectedinherited

List of entities.

Definition at line 46 of file meshImport.hh.

◆ Vtx_

MultiArray<1, Vertex*> concepts::ImportMesh::Vtx_
protectedinherited

Array of the entities.

Definition at line 49 of file meshImport.hh.


The documentation for this class was generated from the following file: