ESYS13  Revision_
Classes | Typedefs | Functions
Mesh.h File Reference
#include "Finley.h"
#include "NodeFile.h"
#include "ElementFile.h"
#include "TagMap.h"
#include "Util.h"
#include "paso/SystemMatrixPattern.h"
#include "escript/DataC.h"

Go to the source code of this file.

Classes

struct  Finley_Mesh
struct  Finley_Mesh_findMatchingFaces_center

Typedefs

typedef struct Finley_Mesh Finley_Mesh
typedef struct
Finley_Mesh_findMatchingFaces_center 
Finley_Mesh_findMatchingFaces_center

Functions

Finley_MeshFinley_Mesh_alloc (char *name, dim_t numDim, Esys_MPIInfo *mpi_info)
Finley_MeshFinley_Mesh_reference (Finley_Mesh *)
dim_t Finley_Mesh_getDim (Finley_Mesh *)
void Finley_Mesh_free (Finley_Mesh *)
void Finley_Mesh_addTagMap (Finley_Mesh *mesh_p, const char *name, index_t tag_key)
index_t Finley_Mesh_getTag (Finley_Mesh *mesh_p, const char *name)
bool_t Finley_Mesh_isValidTagName (Finley_Mesh *mesh_p, const char *name)
void Finley_Mesh_distributeByRankOfDOF (Finley_Mesh *in, dim_t *distribution)
Paso_SystemMatrixPatternFinley_getPattern (Finley_Mesh *mesh, bool_t reduce_row_order, bool_t reduce_col_order)
Paso_SystemMatrixPatternFinley_makePattern (Finley_Mesh *mesh, bool_t reduce_row_order, bool_t reduce_col_order)
void Finley_Mesh_write (Finley_Mesh *, char *)
void Finley_Mesh_dump (Finley_Mesh *in, char *fname)
void Finley_PrintMesh_Info (Finley_Mesh *, bool_t)
Finley_MeshFinley_Mesh_load (char *fname)
Finley_MeshFinley_Mesh_read (char *, index_t, index_t, bool_t)
Finley_MeshFinley_Mesh_readGmsh (char *, index_t, index_t, index_t, bool_t, bool_t)
void Finley_Mesh_setOrders (Finley_Mesh *in)
void Finley_Mesh_setCoordinates (Finley_Mesh *, escriptDataC *)
void Finley_Mesh_setElements (Finley_Mesh *self, Finley_ElementFile *elements)
void Finley_Mesh_setFaceElements (Finley_Mesh *self, Finley_ElementFile *elements)
void Finley_Mesh_setContactElements (Finley_Mesh *self, Finley_ElementFile *elements)
void Finley_Mesh_setPoints (Finley_Mesh *self, Finley_ElementFile *elements)
void Finley_Mesh_optimizeDOFDistribution (Finley_Mesh *in, dim_t *distribution)
void Finley_Mesh_prepare (Finley_Mesh *in, bool_t optimize)
void Finley_Mesh_createColoring (Finley_Mesh *in, index_t *node_localDOF_map)
void Finley_Mesh_optimizeElementOrdering (Finley_Mesh *in)
void Finley_Mesh_resolveNodeIds (Finley_Mesh *)
void Finley_Mesh_createMappings (Finley_Mesh *in, index_t *dof_distribution, index_t *node_distribution)
void Finley_Mesh_createNodeFileMappings (Finley_Mesh *in, dim_t numReducedNodes, index_t *indexReducedNodes, index_t *dof_first_component, index_t *nodes_first_component)
void Finley_Mesh_markDOFsConnectedToRange (index_t *mask, index_t offset, index_t marker, index_t firstDOF, index_t lastDOF, Finley_Mesh *in, bool_t useLinear)
void Finley_Mesh_optimizeDOFLabeling (Finley_Mesh *, dim_t *)
Finley_MeshFinley_Mesh_merge (dim_t, Finley_Mesh **)
void Finley_Mesh_relableElementNodes (int *, int, Finley_Mesh *)
void Finley_Mesh_markNodes (int *, int, Finley_Mesh *, int)
void Finley_Mesh_glueFaces (Finley_Mesh *self, double safety_factor, double tolerance, bool_t)
void Finley_Mesh_joinFaces (Finley_Mesh *self, double safety_factor, double tolerance, bool_t)
int Finley_Mesh_findMatchingFaces_compar (const void *, const void *)
void Finley_Mesh_findMatchingFaces (Finley_NodeFile *, Finley_ElementFile *, double, double, int *, int *, int *, int *)
void Finley_Mesh_print (Finley_Mesh *in)
void Finley_Mesh_saveDX (const char *filename_p, Finley_Mesh *mesh_p, const dim_t num_data, char **names_p, escriptDataC **data_pp)
void Finley_Mesh_optimizeNodeLabeling (Finley_Mesh *mesh_p)
dim_t Finley_Mesh_FindMinDegreeNode (Paso_SystemMatrixPattern *pattern_p, index_t *available, index_t indicator)
index_t Finley_Mesh_getDegree (Paso_SystemMatrixPattern *pattern_p, index_t *label)
void Finley_Mesh_saveVTK (const char *filename_p, Finley_Mesh *mesh_p, const dim_t num_data, char **names_p, escriptDataC **data_pp, const char *metadata, const char *metadata_schema)
void Finley_Mesh_setTagsInUse (Finley_Mesh *in)
int Finley_Mesh_getStatus (Finley_Mesh *in)
void Finley_Mesh_addPoints (Finley_Mesh *mesh, const dim_t numPoints, const double *points_ptr, const index_t *tags_ptr)

Typedef Documentation

typedef struct Finley_Mesh Finley_Mesh

Function Documentation

Paso_SystemMatrixPattern* Finley_getPattern ( Finley_Mesh mesh,
bool_t  reduce_row_order,
bool_t  reduce_col_order 
)
Paso_SystemMatrixPattern* Finley_makePattern ( Finley_Mesh mesh,
bool_t  reduce_row_order,
bool_t  reduce_col_order 
)
void Finley_Mesh_addPoints ( Finley_Mesh mesh,
const dim_t  numPoints,
const double *  points_ptr,
const index_t tags_ptr 
)
void Finley_Mesh_addTagMap ( Finley_Mesh mesh_p,
const char *  name,
index_t  tag_key 
)
Finley_Mesh* Finley_Mesh_alloc ( char *  name,
dim_t  numDim,
Esys_MPIInfo mpi_info 
)
void Finley_Mesh_createColoring ( Finley_Mesh in,
index_t node_localDOF_map 
)
void Finley_Mesh_createMappings ( Finley_Mesh in,
index_t dof_distribution,
index_t node_distribution 
)
void Finley_Mesh_createNodeFileMappings ( Finley_Mesh in,
dim_t  numReducedNodes,
index_t indexReducedNodes,
index_t dof_first_component,
index_t nodes_first_component 
)
void Finley_Mesh_distributeByRankOfDOF ( Finley_Mesh in,
dim_t distribution 
)
void Finley_Mesh_dump ( Finley_Mesh in,
char *  fname 
)
void Finley_Mesh_findMatchingFaces ( Finley_NodeFile ,
Finley_ElementFile ,
double  ,
double  ,
int *  ,
int *  ,
int *  ,
int *   
)
int Finley_Mesh_findMatchingFaces_compar ( const void *  ,
const void *   
)
dim_t Finley_Mesh_FindMinDegreeNode ( Paso_SystemMatrixPattern pattern_p,
index_t available,
index_t  indicator 
)
index_t Finley_Mesh_getTag ( Finley_Mesh mesh_p,
const char *  name 
)
void Finley_Mesh_glueFaces ( Finley_Mesh self,
double  safety_factor,
double  tolerance,
bool_t   
)
bool_t Finley_Mesh_isValidTagName ( Finley_Mesh mesh_p,
const char *  name 
)
void Finley_Mesh_joinFaces ( Finley_Mesh self,
double  safety_factor,
double  tolerance,
bool_t   
)
Finley_Mesh* Finley_Mesh_load ( char *  fname)
void Finley_Mesh_markDOFsConnectedToRange ( index_t mask,
index_t  offset,
index_t  marker,
index_t  firstDOF,
index_t  lastDOF,
Finley_Mesh in,
bool_t  useLinear 
)
void Finley_Mesh_markNodes ( int *  ,
int  ,
Finley_Mesh ,
int   
)
void Finley_Mesh_optimizeDOFDistribution ( Finley_Mesh in,
dim_t distribution 
)
void Finley_Mesh_prepare ( Finley_Mesh in,
bool_t  optimize 
)
Finley_Mesh* Finley_Mesh_read ( char *  ,
index_t  ,
index_t  ,
bool_t   
)
Finley_Mesh* Finley_Mesh_readGmsh ( char *  ,
index_t  ,
index_t  ,
index_t  ,
bool_t  ,
bool_t   
)
void Finley_Mesh_relableElementNodes ( int *  ,
int  ,
Finley_Mesh  
)
void Finley_Mesh_saveDX ( const char *  filename_p,
Finley_Mesh mesh_p,
const dim_t  num_data,
char **  names_p,
escriptDataC **  data_pp 
)

References Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Finley_Mesh::FaceElements, FALSE, Finley_Assemble_reducedIntegrationOrder, Finley_checkPtr(), FINLEY_CONTACT_ELEMENTS_1, FINLEY_CONTACT_ELEMENTS_2, FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, Finley_Hex20, Finley_Hex32, Finley_Hex8, Finley_Line2, Finley_Line3, Finley_Line3Macro, Finley_Line4, FINLEY_POINTS, Finley_Rec12, Finley_Rec16, Finley_Rec4, Finley_Rec8, Finley_Rec9, Finley_Rec9Macro, FINLEY_REDUCED_CONTACT_ELEMENTS_1, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, FINLEY_REDUCED_NODES, Finley_setError(), Finley_Tet10, Finley_Tet10Macro, Finley_Tet16, Finley_Tet4, Finley_Tri10, Finley_Tri3, Finley_Tri6, Finley_Tri9, FINLEY_UNKNOWN, getDataPointRank(), getDataPointShape(), getDataPointSize(), getFunctionSpaceType(), getSampleDataRO(), INDEX2, IO_ERROR, isEmpty(), isExpanded(), LenErrorMsg_MAX, Finley_NodeMapping::map, MEMALLOC, MEMFREE, Finley_ReferenceElementInfo::Name, Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_ElementFile::numNodes, Finley_ShapeFunction::numQuadNodes, Finley_NodeMapping::numTargets, Finley_ReferenceElement::Parametrization, Finley_Mesh::Points, Finley_NodeFile::reducedNodesMapping, Finley_ReferenceElementSet::referenceElement, Finley_ReferenceElementSet::referenceElementReducedQuadrature, Finley_ElementFile::referenceElementSet, SYSTEM_ERROR, Finley_NodeMapping::target, TRUE, Finley_ReferenceElement::Type, TYPE_ERROR, Finley_ReferenceElementInfo::TypeId, and VALUE_ERROR.

Referenced by finley::MeshAdapter::saveDX().

void Finley_Mesh_saveVTK ( const char *  filename_p,
Finley_Mesh mesh_p,
const dim_t  num_data,
char **  names_p,
escriptDataC **  data_pp,
const char *  metadata,
const char *  metadata_schema 
)

References __STRCAT, Esys_MPIInfo::comm, Finley_Mesh::ContactElements, Finley_NodeFile::Coordinates, Finley_Mesh::Elements, Esys_MPIInfo_noError(), Finley_Mesh::FaceElements, FALSE, Finley_checkPtr(), FINLEY_CONTACT_ELEMENTS_1, FINLEY_CONTACT_ELEMENTS_2, Finley_ElementFile_getFirstElement(), Finley_ElementFile_getGlobalNumElements(), Finley_ElementFile_getMyNumElements(), FINLEY_ELEMENTS, FINLEY_FACE_ELEMENTS, Finley_Hex20, Finley_Hex20Face, Finley_Hex20Face_Contact, Finley_Hex27, Finley_Hex27Macro, Finley_Hex8, Finley_Hex8Face, Finley_Hex8Face_Contact, Finley_Line2, Finley_Line2_Contact, Finley_Line2Face, Finley_Line2Face_Contact, Finley_Line3, Finley_Line3_Contact, Finley_Line3Face, Finley_Line3Face_Contact, Finley_Line3Macro, Finley_NodeFile_borrowGlobalNodesIndex(), Finley_NodeFile_borrowGlobalReducedNodesIndex(), Finley_NodeFile_getFirstNode(), Finley_NodeFile_getFirstReducedNode(), Finley_NodeFile_getGlobalNumNodes(), Finley_NodeFile_getGlobalNumReducedNodes(), Finley_NodeFile_getLastNode(), Finley_NodeFile_getLastReducedNode(), FINLEY_NODES, Finley_noError(), Finley_NoRef, Finley_Point1, Finley_Point1_Contact, FINLEY_POINTS, Finley_Rec4, Finley_Rec4_Contact, Finley_Rec4Face, Finley_Rec4Face_Contact, Finley_Rec8, Finley_Rec8_Contact, Finley_Rec8Face, Finley_Rec8Face_Contact, Finley_Rec9, Finley_Rec9Macro, FINLEY_REDUCED_CONTACT_ELEMENTS_1, FINLEY_REDUCED_CONTACT_ELEMENTS_2, FINLEY_REDUCED_ELEMENTS, FINLEY_REDUCED_FACE_ELEMENTS, FINLEY_REDUCED_NODES, Finley_setError(), Finley_Tet10, Finley_Tet10Face, Finley_Tet10Face_Contact, Finley_Tet10Macro, Finley_Tet4, Finley_Tet4Face, Finley_Tet4Face_Contact, Finley_Tri3, Finley_Tri3_Contact, Finley_Tri3Face, Finley_Tri3Face_Contact, Finley_Tri6, Finley_Tri6_Contact, Finley_Tri6Face, Finley_Tri6Face_Contact, Finley_Tri6Macro, FINLEY_UNKNOWN, getDataPointRank(), getDataPointShape(), getDataPointSize(), getFunctionSpaceType(), getNumDataPointsPerSample(), getSampleDataRO(), INDEX2, INT_FORMAT, INT_NEWLINE_FORMAT, IO_ERROR, isEmpty(), isExpanded(), LEN_INT_FORMAT, LEN_TENSOR_FORMAT, LEN_TMP_BUFFER, LenErrorMsg_MAX, Finley_ReferenceElementInfo::linearNodes, Finley_ReferenceElement::LinearType, MAX, MIN, MPI_RANK0_WRITE_SHARED, MPI_WRITE_ORDERED, Finley_NodeFile::MPIInfo, Finley_ReferenceElementInfo::Name, NCOMP_MAX, NEWLINE, nodeInQuadrant(), Finley_ElementFile::Nodes, Finley_Mesh::Nodes, Finley_NodeFile::nodesMapping, Finley_NodeFile::numDim, Finley_ElementFile::numElements, Finley_NodeFile::numNodes, Finley_ElementFile::numNodes, Finley_ReferenceElementInfo::numNodes, Finley_ElementFile::Owner, Finley_ReferenceElement::Parametrization, Paso_fileExists(), Finley_Mesh::Points, Finley_ShapeFunction::QuadNodes, Esys_MPIInfo::rank, Finley_NodeFile::reducedNodesMapping, Finley_ReferenceElementSet::referenceElement, Finley_ReferenceElementSet::referenceElementReducedQuadrature, Finley_ElementFile::referenceElementSet, Finley_ReferenceElementInfo::relevantGeoNodes, SCALAR_FORMAT, Esys_MPIInfo::size, SYSTEM_ERROR, Finley_NodeMapping::target, TENSOR_FORMAT, TMPMEMALLOC, TMPMEMFREE, TRUE, Finley_ReferenceElement::Type, TYPE_ERROR, Finley_ReferenceElementInfo::TypeId, VALUE_ERROR, VECTOR_FORMAT, VTK_HEXAHEDRON, VTK_LINE, VTK_QUAD, VTK_QUADRATIC_EDGE, VTK_QUADRATIC_HEXAHEDRON, VTK_QUADRATIC_QUAD, VTK_QUADRATIC_TETRA, VTK_QUADRATIC_TRIANGLE, VTK_TETRA, VTK_TRIANGLE, and VTK_VERTEX.

void Finley_Mesh_setElements ( Finley_Mesh self,
Finley_ElementFile elements 
)
void Finley_Mesh_setFaceElements ( Finley_Mesh self,
Finley_ElementFile elements 
)
void Finley_Mesh_setPoints ( Finley_Mesh self,
Finley_ElementFile elements 
)
void Finley_Mesh_write ( Finley_Mesh ,
char *   
)