OGS
|
Definition in file QuadraticMeshGenerator.cpp.
#include "QuadraticMeshGenerator.h"
#include <set>
#include "MeshLib/Elements/Element.h"
#include "MeshLib/Elements/Hex.h"
#include "MeshLib/Elements/Line.h"
#include "MeshLib/Elements/Prism.h"
#include "MeshLib/Elements/Pyramid.h"
#include "MeshLib/Elements/Quad.h"
#include "MeshLib/Elements/Tet.h"
#include "MeshLib/Elements/Tri.h"
#include "MeshLib/Mesh.h"
#include "MeshLib/Node.h"
#include "MeshLib/Utils/DuplicateMeshComponents.h"
Go to the source code of this file.
Classes | |
struct | nodeByCoordinatesComparator |
Namespaces | |
namespace | MeshToolsLib |
Functions | |
template<typename QuadraticElement > | |
std::unique_ptr< QuadraticElement > | convertLinearToQuadratic (MeshLib::Element const &e) |
template<> | |
std::unique_ptr< MeshLib::Quad9 > | convertLinearToQuadratic< MeshLib::Quad9 > (MeshLib::Element const &e) |
Special case for Quad-9 adding a centre node too. | |
template<> | |
std::unique_ptr< MeshLib::Prism15 > | convertLinearToQuadratic< MeshLib::Prism15 > (MeshLib::Element const &e) |
Special case for Prism15. | |
std::unique_ptr< MeshLib::Element > | createQuadraticElement (MeshLib::Element const &e, bool const add_centre_node) |
Return a new quadratic element corresponding to the linear element's type. | |
std::unique_ptr< MeshLib::Mesh > | MeshToolsLib::createQuadraticOrderMesh (MeshLib::Mesh const &linear_mesh, bool const add_centre_node) |
std::unique_ptr< QuadraticElement > convertLinearToQuadratic | ( | MeshLib::Element const & | e | ) |
Given an (linear) element divide all its edges by inserting a point in the middle and return a new element.
Definition at line 29 of file QuadraticMeshGenerator.cpp.
References MeshLib::Element::getEdgeNode(), MeshLib::Element::getID(), MeshLib::Element::getNode(), MeshLib::Element::getNumberOfBaseNodes(), MeshLib::Element::getNumberOfEdges(), and MeshLib::Node.
Referenced by createQuadraticElement().
std::unique_ptr< MeshLib::Prism15 > convertLinearToQuadratic< MeshLib::Prism15 > | ( | MeshLib::Element const & | e | ) |
Special case for Prism15.
Definition at line 29 of file QuadraticMeshGenerator.cpp.
Referenced by createQuadraticElement().
std::unique_ptr< MeshLib::Quad9 > convertLinearToQuadratic< MeshLib::Quad9 > | ( | MeshLib::Element const & | e | ) |
Special case for Quad-9 adding a centre node too.
Definition at line 29 of file QuadraticMeshGenerator.cpp.
Referenced by createQuadraticElement().
std::unique_ptr< MeshLib::Element > createQuadraticElement | ( | MeshLib::Element const & | e, |
bool const | add_centre_node ) |
Return a new quadratic element corresponding to the linear element's type.
Definition at line 145 of file QuadraticMeshGenerator.cpp.
References MeshLib::CellType2String(), convertLinearToQuadratic(), convertLinearToQuadratic< MeshLib::Prism15 >(), convertLinearToQuadratic< MeshLib::Quad9 >(), MeshLib::Element::getCellType(), MeshLib::HEX8, MeshLib::LINE2, OGS_FATAL, MeshLib::PRISM6, MeshLib::PYRAMID5, MeshLib::QUAD4, MeshLib::TET4, and MeshLib::TRI3.
Referenced by MeshToolsLib::createQuadraticOrderMesh().