17 #ifndef __FINLEY_MESH_H__ 18 #define __FINLEY_MESH_H__ 63 #include "paso/SystemMatrixPattern.h" 74 typedef std::map<std::string, int>
TagMap;
86 int order,
int reducedOrder,
bool optimize);
88 int numDim,
int order,
int reducedOrder,
89 bool optimize,
bool useMacroElements);
91 void write(
const std::string fname)
const;
96 void addPoints(
int numPoints,
const double *points_ptr,
const int *tags_ptr);
97 void addTagMap(
const char* name,
int tag_key);
98 int getTag(
const char* name)
const;
99 bool isValidTagName(
const char* name)
const;
102 void printInfo(
bool);
110 void prepare(
bool optimize);
111 void resolveNodeIds();
112 void createMappings(
const std::vector<index_t>& dofDistribution,
113 const std::vector<index_t>& nodeDistribution);
114 void markDOFsConnectedToRange(
int* mask,
int offset,
int marker,
117 void relabelElementNodes(
const std::vector<index_t>&,
index_t offset);
119 void glueFaces(
double safetyFactor,
double tolerance,
bool);
120 void joinFaces(
double safetyFactor,
double tolerance,
bool);
122 void findMatchingFaces(
double,
double,
int*,
int*,
int*,
int*);
126 void createColoring(
const std::vector<index_t>& dofMap);
127 void distributeByRankOfDOF(
const std::vector<index_t>& distribution);
128 void markNodes(std::vector<short>& mask,
int offset,
bool useLinear);
129 void optimizeDOFDistribution(std::vector<index_t>& distribution);
130 void optimizeDOFLabeling(
const std::vector<index_t>& distribution);
131 void optimizeElementOrdering();
133 void updateTagList();
134 void printElementInfo(
const ElementFile* e,
const std::string title,
135 const std::string defaultType,
bool full)
const;
137 void writeElementInfo(std::ostream& stream,
const ElementFile* e,
138 const std::string defaultType)
const;
141 int numDim,
int order,
int reducedOrder,
142 bool optimize,
bool useMacroElements);
144 int numDim,
int order,
int reducedOrder,
145 bool optimize,
bool useMacroElements);
179 std::vector<double>
x;
188 #endif // __FINLEY_MESH_H__ int getStatus() const
Definition: finley/src/Mesh.h:94
std::map< std::string, int > TagMap
Definition: finley/src/Mesh.h:74
paso::SystemMatrixPattern_ptr FullFullPattern
Definition: finley/src/Mesh.h:168
Domain_ptr glueFaces(const boost::python::list &meshList, double safety_factor, double tolerance, bool optimize)
Detects matching faces in the mesh, removes them from the mesh and joins the elements touched by the ...
Definition: finley/src/CPPAdapter/MeshAdapterFactory.cpp:953
int getDim() const
Definition: finley/src/Mesh.h:93
Definition: AbstractContinuousDomain.cpp:24
int integrationOrder
Definition: finley/src/Mesh.h:152
Definition: finley/src/Mesh.h:176
Domain_ptr joinFaces(const boost::python::list &meshList, double safety_factor, double tolerance, bool optimize)
Detects matching faces in the mesh and replaces them by joint elements.
Definition: finley/src/CPPAdapter/MeshAdapterFactory.cpp:969
TagMap tagMap
Definition: finley/src/Mesh.h:165
int refId
Definition: finley/src/Mesh.h:178
ElementFile * Elements
Definition: finley/src/Mesh.h:157
Definition: finley/src/Assemble.h:32
boost::shared_ptr< SystemMatrixPattern > SystemMatrixPattern_ptr
Definition: SystemMatrixPattern.h:38
Domain_ptr readGmsh(const std::string &fileName, int numDim, int integrationOrder, int reducedIntegrationOrder, int optimize, int useMacroElements)
Read a gmsh mesh file.
Definition: dudley/src/CPPAdapter/MeshAdapterFactory.cpp:436
paso::SystemMatrixPattern_ptr ReducedFullPattern
Definition: finley/src/Mesh.h:170
ElementFile * Points
Definition: finley/src/Mesh.h:163
ElementFile * FaceElements
Definition: finley/src/Mesh.h:159
std::vector< double > x
Definition: finley/src/Mesh.h:179
Data represents a collection of datapoints.
Definition: Data.h:68
Definition: finley/src/NodeFile.h:30
int approximationOrder
Definition: finley/src/Mesh.h:150
int index_t
Definition: types.h:24
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:184
paso::SystemMatrixPattern_ptr FullReducedPattern
Definition: finley/src/Mesh.h:169
paso::SystemMatrixPattern_ptr ReducedReducedPattern
Definition: finley/src/Mesh.h:171
Mesh * Mesh_merge(const std::vector< Mesh * > &meshes)
Definition: Mesh_merge.cpp:36
int reducedIntegrationOrder
Definition: finley/src/Mesh.h:153
NodeFile * Nodes
Definition: finley/src/Mesh.h:155
int reducedApproximationOrder
Definition: finley/src/Mesh.h:151
boost::shared_ptr< JMPI_ > JMPI
Definition: Esys_MPI.h:79
ElementFile * ContactElements
Definition: finley/src/Mesh.h:161
Definition: finley/src/Mesh.h:78
std::string m_name
Definition: finley/src/Mesh.h:149
Definition: finley/src/ElementFile.h:60
esysUtils::JMPI MPIInfo
Definition: finley/src/Mesh.h:172