OGS
|
2013/13/06 KR Initial implementation
Definition in file NodeReordering.cpp.
#include <tclap/CmdLine.h>
#include <mpi.h>
#include <algorithm>
#include <array>
#include <memory>
#include <vector>
#include "BaseLib/Algorithm.h"
#include "InfoLib/GitInfo.h"
#include "MeshLib/Elements/Element.h"
#include "MeshLib/IO/readMeshFromFile.h"
#include "MeshLib/IO/writeMeshToFile.h"
#include "MeshLib/Mesh.h"
#include "MeshLib/Node.h"
Go to the source code of this file.
Functions | |
void | reverseNodeOrder (std::vector< MeshLib::Element * > &elements, bool const forced) |
Reverses order of nodes. In particular, this fixes issues between OGS5 and OGS6 meshes. | |
void | fixVtkInconsistencies (std::vector< MeshLib::Element * > &elements) |
void | reorderNonlinearNodes (MeshLib::Mesh &mesh) |
Orders the base nodes of each elements before its non-linear nodes. | |
int | main (int argc, char *argv[]) |
void fixVtkInconsistencies | ( | std::vector< MeshLib::Element * > & | elements | ) |
Fixes inconsistencies between VTK's and OGS' node order for prism elements. In particular, this fixes issues between OGS6 meshes with and without InSitu-Lib
Definition at line 99 of file NodeReordering.cpp.
References getNodes(), and MeshLib::PRISM.
Referenced by main().
int main | ( | int | argc, |
char * | argv[] ) |
Definition at line 158 of file NodeReordering.cpp.
References fixVtkInconsistencies(), INFO(), GitInfoLib::GitInfo::ogs_version, MeshLib::IO::readMeshFromFile(), reorderNonlinearNodes(), reverseNodeOrder(), and MeshLib::IO::writeMeshToFile().
void reorderNonlinearNodes | ( | MeshLib::Mesh & | mesh | ) |
Orders the base nodes of each elements before its non-linear nodes.
Definition at line 124 of file NodeReordering.cpp.
References MeshLib::Mesh::getElements(), MeshLib::Mesh::getNodes(), MeshLib::idsComparator(), BaseLib::makeVectorUnique(), and MeshLib::Mesh::resetNodeIDs().
Referenced by main().
void reverseNodeOrder | ( | std::vector< MeshLib::Element * > & | elements, |
bool const | forced ) |
Reverses order of nodes. In particular, this fixes issues between OGS5 and OGS6 meshes.
elements | Mesh elements whose nodes should be reordered |
forced | If true, nodes are reordered for all elements, if false it is first checked if the node order is correct according to OGS6 element definitions. |
Definition at line 40 of file NodeReordering.cpp.
References getNodes(), MeshLib::HEXAHEDRON, INFO(), MeshLib::PRISM, MeshLib::PYRAMID, and MeshLib::TETRAHEDRON.
Referenced by main().