17 #ifndef INC_DUDLEY_MESH
18 #define INC_DUDLEY_MESH
66 #include "paso/SystemMatrixPattern.h"
67 #include "escript/DataC.h"
70 #include "esysUtils/Esys_MPI.h"
Dudley_Mesh * Dudley_Mesh_readGmsh(char *, index_t, index_t, index_t, bool, bool)
Definition: dudley/src/Mesh_readGmsh.cpp:34
void Dudley_Mesh_markNodes(int *, int, Dudley_Mesh *, bool)
Definition: Mesh_markNodes.cpp:29
void Dudley_Mesh_setFaceElements(Dudley_Mesh *self, Dudley_ElementFile *elements)
Definition: dudley/src/Mesh.cpp:126
void Dudley_Mesh_write(Dudley_Mesh *, char *)
Definition: dudley/src/Mesh_write.cpp:29
void Dudley_Mesh_createNodeFileMappings(Dudley_Mesh *in, dim_t numReducedNodes, index_t *indexReducedNodes, index_t *dof_first_component, index_t *nodes_first_component)
Definition: Mesh_createNodeFileMappings.cpp:349
void Dudley_Mesh_setPoints(Dudley_Mesh *self, Dudley_ElementFile *elements)
Definition: dudley/src/Mesh.cpp:132
dim_t Dudley_Mesh_getDim(Dudley_Mesh *)
Definition: dudley/src/Mesh.cpp:115
void Dudley_Mesh_optimizeDOFDistribution(Dudley_Mesh *in, dim_t *distribution)
Definition: dudley/src/Mesh_optimizeDOFDistribution.cpp:68
void Dudley_Mesh_setOrders(Dudley_Mesh *in)
Definition: dudley/src/Mesh.cpp:154
void Dudley_Mesh_resolveNodeIds(Dudley_Mesh *)
Definition: Mesh_resolveNodeIds.cpp:34
double x[3]
Definition: dudley/src/Mesh.h:105
Struct that holds MPI communicator, rank, size and a tag counter.
Definition: Esys_MPI.h:48
Dudley_ElementFile * FaceElements
Definition: dudley/src/Mesh.h:86
Esys_MPIInfo * MPIInfo
Definition: dudley/src/Mesh.h:96
char * Name
Definition: dudley/src/Mesh.h:78
void Dudley_Mesh_glueFaces(Dudley_Mesh *self, double safety_factor, double tolerance, bool)
Dudley_ElementFile * Points
Definition: dudley/src/Mesh.h:87
void Dudley_Mesh_markDOFsConnectedToRange(index_t *mask, index_t offset, index_t marker, index_t firstDOF, index_t lastDOF, Dudley_Mesh *in, bool useLinear)
Definition: Mesh_markNodes.cpp:36
Dudley_NodeFile * Nodes
Definition: dudley/src/Mesh.h:84
dim_t reference_counter
Definition: dudley/src/Mesh.h:79
void Dudley_Mesh_setCoordinates(Dudley_Mesh *, escriptDataC *)
Definition: Mesh_setCoordinates.cpp:27
boost::shared_ptr< SystemMatrixPattern > SystemMatrixPattern_ptr
Definition: SystemMatrixPattern.h:38
void Dudley_Mesh_print(Dudley_Mesh *in)
Definition: Mesh_print.cpp:29
dim_t Dudley_Mesh_FindMinDegreeNode(paso::SystemMatrixPattern_ptr pattern_p, index_t *available, index_t indicator)
void Dudley_Mesh_optimizeElementOrdering(Dudley_Mesh *in)
Definition: Mesh_prepare.cpp:139
index_t refId
Definition: dudley/src/Mesh.h:104
void Dudley_Mesh_free(Dudley_Mesh *)
Definition: dudley/src/Mesh.cpp:92
int Dudley_Mesh_getStatus(Dudley_Mesh *in)
Definition: dudley/src/Mesh.cpp:138
void Dudley_Mesh_relableElementNodes(int *, int, Dudley_Mesh *)
Definition: Mesh_relableElementNodes.cpp:31
Definition: dudley/src/Mesh.h:77
void Dudley_Mesh_prepare(Dudley_Mesh *in, bool optimize)
Definition: Mesh_prepare.cpp:27
int Dudley_Mesh_findMatchingFaces_compar(const void *, const void *)
Definition: dudley/src/Mesh_findMatchingFaces.cpp:34
Provide a wrapper around a Data object so Data may be accessed from C.
Definition: DataC.h:30
paso::SystemMatrixPattern_ptr FullReducedPattern
Definition: dudley/src/Mesh.h:93
Definition: dudley/src/Mesh.h:103
Dudley_Mesh * Dudley_Mesh_merge(dim_t, Dudley_Mesh **)
Dudley_ElementFile * Elements
Definition: dudley/src/Mesh.h:85
paso::SystemMatrixPattern_ptr ReducedFullPattern
Definition: dudley/src/Mesh.h:94
void Dudley_Mesh_setTagsInUse(Dudley_Mesh *in)
Definition: Mesh_prepare.cpp:151
Dudley_Mesh * Dudley_Mesh_read(char *, index_t, index_t, bool)
Definition: dudley/src/Mesh_read.cpp:28
void Dudley_Mesh_setElements(Dudley_Mesh *self, Dudley_ElementFile *elements)
Definition: dudley/src/Mesh.cpp:120
void Dudley_Mesh_distributeByRankOfDOF(Dudley_Mesh *in, dim_t *distribution)
Definition: Mesh_distributeByRankOfDOF.cpp:28
int index_t
Definition: types.h:25
index_t Dudley_Mesh_getTag(Dudley_Mesh *mesh_p, const char *name)
Definition: Mesh_tagmaps.cpp:32
void Dudley_PrintMesh_Info(Dudley_Mesh *, bool)
Definition: dudley/src/Mesh_write.cpp:145
dim_t approximationOrder
Definition: dudley/src/Mesh.h:80
void Dudley_Mesh_optimizeDOFLabeling(Dudley_Mesh *, dim_t *)
Definition: Mesh_optimizeDOFLabeling.cpp:28
Dudley_Mesh * Dudley_Mesh_reference(Dudley_Mesh *)
Definition: dudley/src/Mesh.cpp:83
dim_t reducedApproximationOrder
Definition: dudley/src/Mesh.h:81
Definition: dudley/src/NodeFile.h:28
void Dudley_Mesh_createColoring(Dudley_Mesh *in, index_t *node_localDOF_map)
Definition: Mesh_prepare.cpp:126
void Dudley_Mesh_addTagMap(Dudley_Mesh *mesh_p, const char *name, index_t tag_key)
Definition: Mesh_tagmaps.cpp:27
bool Dudley_Mesh_isValidTagName(Dudley_Mesh *mesh_p, const char *name)
Definition: Mesh_tagmaps.cpp:37
index_t Dudley_Mesh_getDegree(paso::SystemMatrixPattern_ptr pattern_p, index_t *label)
paso::SystemMatrixPattern_ptr Dudley_makePattern(Dudley_Mesh *mesh, bool reduce_row_order, bool reduce_col_order)
Definition: dudley/src/Mesh_getPattern.cpp:89
dim_t integrationOrder
Definition: dudley/src/Mesh.h:82
void Dudley_Mesh_joinFaces(Dudley_Mesh *self, double safety_factor, double tolerance, bool)
void Dudley_Mesh_optimizeNodeLabeling(Dudley_Mesh *mesh_p)
dim_t reducedIntegrationOrder
Definition: dudley/src/Mesh.h:83
int dim_t
Definition: types.h:24
Dudley_TagMap * TagMap
Definition: dudley/src/Mesh.h:88
Dudley_Mesh * Dudley_Mesh_load(char *fname)
paso::SystemMatrixPattern_ptr Dudley_getPattern(Dudley_Mesh *mesh, bool reduce_row_order, bool reduce_col_order)
Definition: dudley/src/Mesh_getPattern.cpp:30
void Dudley_Mesh_dump(Dudley_Mesh *in, char *fname)
void Dudley_Mesh_findMatchingFaces(Dudley_NodeFile *, Dudley_ElementFile *, double, double, int *, int *, int *, int *)
Definition: dudley/src/Mesh_findMatchingFaces.cpp:67
paso::SystemMatrixPattern_ptr FullFullPattern
Definition: dudley/src/Mesh.h:92
Dudley_Mesh * Dudley_Mesh_alloc(char *name, dim_t numDim, Esys_MPIInfo *mpi_info)
Definition: dudley/src/Mesh.cpp:29
#define MAX_numDim
Definition: dudley/src/NodeFile.h:20
Definition: dudley/src/ElementFile.h:40
paso::SystemMatrixPattern_ptr ReducedReducedPattern
Definition: dudley/src/Mesh.h:95
void Dudley_Mesh_createMappings(Dudley_Mesh *in, index_t *dof_distribution, index_t *node_distribution)
Definition: Mesh_createNodeFileMappings.cpp:323