| 182 | } // namespace |
| 183 | |
| 184 | seissol::geometry::PUMLReader::PUMLReader( |
| 185 | const char* meshFile, |
| 186 | const char* partitioningLib, |
| 187 | double maximumAllowedTimeStep, |
| 188 | seissol::initializer::parameters::BoundaryFormat boundaryFormat, |
| 189 | initializer::time_stepping::LtsWeights* ltsWeights, |
| 190 | double tpwgt) |
| 191 | : seissol::geometry::MeshReader(MPI::mpi.rank()), boundaryFormat(boundaryFormat) { |
| 192 | PUML::TETPUML puml; |
| 193 | puml.setComm(MPI::mpi.comm()); |
| 194 | |
| 195 | read(puml, meshFile); |
| 196 | |
| 197 | generatePUML(puml); // We need to call generatePUML in order to create the dual graph of the mesh |
| 198 | if (ltsWeights != nullptr) { |
| 199 | ltsWeights->computeWeights(puml, maximumAllowedTimeStep); |
| 200 | } |
| 201 | partition(puml, ltsWeights, tpwgt, meshFile, partitioningLib); |
| 202 | |
| 203 | generatePUML(puml); |
| 204 | |
| 205 | getMesh(puml); |
| 206 | } |
| 207 | |
| 208 | void seissol::geometry::PUMLReader::read(PUML::TETPUML& puml, const char* meshFile) { |
| 209 | SCOREP_USER_REGION("PUMLReader_read", SCOREP_USER_REGION_TYPE_FUNCTION); |
nothing calls this directly
no test coverage detected