proteus  1.8.1
C/C++/Fortran libraries
Classes | Functions
mesh.h File Reference
#include <set>
#include <vector>
#include <algorithm>
#include <map>
#include <list>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cassert>
#include <cmath>
Include dependency graph for mesh.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Mesh
 
struct  MultilevelMesh
 
class  NodeTuple< nNodes >
 
class  Node
 
class  ElementNeighbors
 

Functions

void initializeMesh (Mesh &mesh)
 
void deleteMesh (Mesh &mesh)
 
void initializeMultilevelMesh (MultilevelMesh &multilevelMesh)
 
void deleteMultilevelMesh (MultilevelMesh &multilevelMesh)
 
int edgeMeshElements (const int &nx, Mesh &mesh)
 
int regularEdgeMeshNodes (const int &nx, const double &Lx, Mesh &mesh)
 
int globallyRefineEdgeMesh (const int &nLevels, Mesh &mesh, MultilevelMesh &multilevelMesh, bool averageNewNodeFlags=false)
 
int locallyRefineEdgeMesh (MultilevelMesh &multilevelMesh, int *elementTagArray)
 
int locallyRefineTriangleMesh (MultilevelMesh &multilevelMesh, int *elementTagArray)
 
int locallyRefineTriangleMesh_4T (MultilevelMesh &multilevelMesh, int *elementTagArray)
 
int locallyRefineTriangleMesh_redGreen (MultilevelMesh &multilevelMesh, int *elementTagArray)
 
int setNewestNodeBasesToLongestEdge (MultilevelMesh &multilevelMesh)
 
int regularRectangularToTriangularMeshElements (const int &nx, const int &ny, Mesh &mesh, int triangleFlag)
 
int regularRectangularToTriangularMeshNodes (const int &nx, const int &ny, const double &Lx, const double &Ly, Mesh &mesh)
 
int regularRectangularToTriangularElementBoundaryMaterials (const double &Lx, const double &Ly, Mesh &mesh)
 
int globallyRefineTriangularMesh (const int &nLevels, Mesh &mesh, MultilevelMesh &multilevelMesh, bool averageNewNodeFlags=false)
 
int regularQuadrilateralMeshElements (const int &nx, const int &ny, Mesh &mesh)
 
int regularQuadrilateralMeshElementBoundaryMaterials (const double &Lx, const double &Ly, Mesh &mesh)
 
int globallyRefineQuadrilateralMesh (const int &nLevels, Mesh &mesh, MultilevelMesh &multilevelMesh, bool averageNewNodeFlags=false)
 
int regularMeshNodes (const int &nx, const int &ny, const int &nz, const double &Lx, const double &Ly, const double &Lz, Mesh &mesh)
 
int regularMeshNodes2D (const int &nx, const int &ny, const double &Lx, const double &Ly, Mesh &mesh)
 
int regularHexahedralMeshElementBoundaryMaterials (const double &Lx, const double &Ly, const double &Lz, Mesh &mesh)
 
int regularHexahedralToTetrahedralMeshNodes (const int &nx, const int &ny, const int &nz, const double &Lx, const double &Ly, const double &Lz, Mesh &mesh)
 
int regularHexahedralToTetrahedralMeshElements (const int &nx, const int &ny, const int &nz, Mesh &mesh)
 
int regularHexahedralToTetrahedralElementBoundaryMaterials (const double &Lx, const double &Ly, const double &Lz, Mesh &mesh)
 
int regularHexahedralMeshElements (const int &nx, const int &ny, const int &nz, const int &px, const int &py, const int &pz, Mesh &mesh)
 
int reorientTetrahedralMesh (Mesh &mesh)
 
int regularNURBSMeshElements (const int &nx, const int &ny, const int &nz, const int &px, const int &py, const int &pz, Mesh &mesh)
 
int globallyRefineHexahedralMesh (const int &nLevels, Mesh &mesh, MultilevelMesh &multilevelMesh, bool averageNewNodeFlags=false)
 
int globallyRefineTetrahedralMesh (const int &nLevels, Mesh &mesh, MultilevelMesh &multilevelMesh, bool averageNewNodeFlags=false)
 
int constructElementBoundaryElementsArray_edge (Mesh &mesh)
 
int constructElementBoundaryElementsArray_triangle (Mesh &mesh)
 
int constructElementBoundaryElementsArray_quadrilateral (Mesh &mesh)
 
int constructElementBoundaryElementsArray_tetrahedron (Mesh &mesh)
 
int constructElementBoundaryElementsArray_hexahedron (Mesh &mesh)
 
int constructElementBoundaryElementsArray_NURBS (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryNumbers_edge (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryNumbers_triangle (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryNumbers_quadrilateral (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryNumbers_tetrahedron (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_edge (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_triangle (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_quadrilateral (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_tetrahedron (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_hexahedron (Mesh &mesh)
 
int constructElementBoundaryElementsArrayWithGivenElementBoundaryAndEdgeNumbers_NURBS (Mesh &mesh)
 
int writeElements (std::ostream &meshFile, const Mesh &mesh)
 
int writeNodes (std::ostream &meshFile, const Mesh &mesh)
 
int readElements (std::istream &meshFile, Mesh &mesh)
 
int allocateGeometricInfo_tetrahedron (Mesh &mesh)
 
int allocateGeometricInfo_triangle (Mesh &mesh)
 
int allocateGeometricInfo_edge (Mesh &mesh)
 
int allocateGeometricInfo_quadrilateral (Mesh &mesh)
 
int allocateGeometricInfo_hexahedron (Mesh &mesh)
 
int allocateGeometricInfo_NURBS (Mesh &mesh)
 
int computeGeometricInfo_tetrahedron (Mesh &mesh)
 
int computeGeometricInfo_triangle (Mesh &mesh)
 
int computeGeometricInfo_edge (Mesh &mesh)
 
int computeGeometricInfo_hexahedron (Mesh &mesh)
 
int computeGeometricInfo_quadrilateral (Mesh &mesh)
 
int computeGeometricInfo_NURBS (Mesh &mesh)
 
int assignElementBoundaryMaterialTypesFromParent (Mesh &parentMesh, Mesh &childMesh, const int *levelElementParentsArray, const int &nSpace_global)
 
int allocateNodeAndElementNodeDataStructures (Mesh &mesh, int nElements_global, int nNodes_global, int nNodes_element)
 
int setFromTriangleElements (triangulateio *trimesh, Mesh &mesh, int base)
 
int setFromTriangleNodes (triangulateio *trimesh, Mesh &mesh, int base)
 
int readTriangleMesh (Mesh &mesh, const char *filebase, int base)
 
int readTriangleElementBoundaryMaterialTypes (Mesh &mesh, const char *filebase, int base)
 
int writeTriangleMesh (Mesh &mesh, const char *filebase, int base)
 
int readTetgenMesh (Mesh &mesh, const char *filebase, int base)
 
int readTetgenElementBoundaryMaterialTypes (Mesh &mesh, const char *filebase, int base)
 
int writeTetgenMesh (Mesh &mesh, const char *filebase, int base)
 
int read3DM (Mesh &mesh, const char *filebase, int indexBase)
 
int read2DM (Mesh &mesh, const char *filebase, int indexBase)
 
int readHex (Mesh &mesh, const char *filebase, int indexBase)
 
int readBC (Mesh &mesh, const char *filebase, int indexBase)
 
int write3dmMesh (Mesh &mesh, const char *filebase, int base)
 
int write2dmMesh (Mesh &mesh, const char *filebase, int base)
 
int copyElementBoundaryMaterialTypesFromTriangle (triangulateio *trimesh, Mesh &mesh, int base)
 
template<int nNodes>
bool operator< (const NodeTuple< nNodes > &left, const NodeTuple< nNodes > &right)
 
void midpoint (const double *left, const double *right, Node &midpoint)
 
double edgeLength (const Node &left, const Node &right)
 
double edgeLengthFromNodeNumbers (double *nodeArray, const int &left, const int &right)
 
bool operator< (const Node &left, const Node &right)
 
int newEdge (int eN, int *nodes, int n0, int n1)
 
int newTriangle (int eN, int *nodes, int n0, int n1, int n2)
 
int newTetrahedron (int eN, int *nodes, int n0, int n1, int n2, int n3)
 
int newQuadrilateral (int eN, int *nodes, int n0, int n1, int n2, int n3)
 
int newHexahedron (int eN, int *nodes, int n0, int n1, int n2, int n3, int n4, int n5, int n6, int n7)
 
bool newestNodeBisect (int eN, int &nElements_global, int &nNodes_global, std::vector< double > &nodeArray, std::vector< int > &elementNodesArray, std::vector< int > &elementNeighborsArray, std::vector< std::list< int > > &childrenList, std::vector< int > &elementParentsArray, std::vector< int > &bases, std::vector< bool > &refined)
 
bool add4TnodesForRefinement2d (int eN, int &nNodes_global, std::vector< bool > &refined, std::vector< int > &edgeMidNodesArray, const int *elementNodesArray, const int *elementBoundariesArray, const int *elementNeighborsArray, const double *nodeArray)
 
bool add4TnodesForConformity2d (int eN, int ebN_longest, int ebN_neig, int eN_neig, int &nNodes_global, std::vector< bool > &refined, std::vector< int > &edgeMidNodesArray, const int *elementNodesArray, const int *elementBoundariesArray, const int *elementNeighborsArray, const double *nodeArray)
 
int findLocalLongestEdge2d (int eN, const int *elementNodesArray, const double *nodeArray)
 
bool subdivideTriangle4T (int eN_parent, int &eN_new, int *elementParentsArray, int *elementChildrenOffsets, int *elementChildrenArray, int *elementNodesArray_child, const std::vector< int > &edgeMidNodesArray, const std::vector< bool > &refined, const int *elementNodesArray_parent, const int *elementBoundariesArray_parent, const double *nodeArray_parent)
 

Detailed Description

#include <mach/mach_time.h>

Definition in file mesh.h.