![]() |
KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
#include <local_refine_tetrahedra_mesh.hpp>
Public Member Functions | |
Life Cycle | |
| LocalRefineTetrahedraMesh (ModelPart &rModelPart) | |
| Default constructors. More... | |
| ~LocalRefineTetrahedraMesh ()=default | |
| Destructor. More... | |
Operations | |
| unsigned int | CreateCenterNode (Geometry< Node > &geom, ModelPart &model_part) |
| void | EraseOldElementAndCreateNewElement (ModelPart &this_model_part, const compressed_matrix< int > &Coord, PointerVector< Element > &NewElements, bool interpolate_internal_variables) override |
| void | UpdateSubModelPartElements (ModelPart &this_model_part, PointerVector< Element > &NewElements) |
| void | EraseOldConditionsAndCreateNew (ModelPart &this_model_part, const compressed_matrix< int > &Coord) override |
| void | UpdateSubModelPartConditions (ModelPart &rModelPart, PointerVector< Condition > &rNewConditions) |
| void | CalculateEdges (Element::GeometryType &geom, const compressed_matrix< int > &Coord, int *edge_ids, std::vector< int > &aux) override |
| void | CalculateEdgesFaces (Element::GeometryType &geom, const compressed_matrix< int > &Coord, int *edge_ids, array_1d< int, 6 > &aux) |
Public Member Functions inherited from Kratos::LocalRefineGeometryMesh | |
| LocalRefineGeometryMesh (ModelPart &model_part) | |
| Default constructors. More... | |
| virtual | ~LocalRefineGeometryMesh ()=default |
| Destructor. More... | |
| virtual void | LocalRefineMesh (bool refine_on_reference, bool interpolate_internal_variables) |
| virtual void | CSRRowMatrix (ModelPart &this_model_part, compressed_matrix< int > &Coord) |
| virtual void | SearchEdgeToBeRefined (ModelPart &this_model_part, compressed_matrix< int > &Coord) |
| virtual void | CreateListOfNewNodes (ModelPart &this_model_part, compressed_matrix< int > &Coord, std::vector< int > &List_New_Nodes, std::vector< array_1d< int, 2 > > &Position_Node) |
| virtual void | CalculateCoordinateAndInsertNewNodes (ModelPart &this_model_part, const std::vector< array_1d< int, 2 > > &Position_Node, const std::vector< int > &List_New_Nodes) |
| void | CreatePartition (unsigned int number_of_threads, const int number_of_rows, vector< unsigned int > &partitions) |
| template<typename TGeometricalObjectPointerType > | |
| void | InterpolateInteralVariables (const int &number_elem, const TGeometricalObjectPointerType father_elem, TGeometricalObjectPointerType child_elem, const ProcessInfo &rCurrentProcessInfo) |
| virtual void | UpdateSubModelPartNodes (ModelPart &rModelPart) |
| virtual void | ResetFatherNodes (ModelPart &rModelPart) |
Additional Inherited Members | |
Public Types inherited from Kratos::LocalRefineGeometryMesh | |
| typedef ModelPart::NodesContainerType | NodesArrayType |
| typedef ModelPart::ElementsContainerType | ElementsArrayType |
| typedef ModelPart::ConditionsContainerType | ConditionsArrayType |
| typedef std::vector< Matrix > | Matrix_Order_Tensor |
| typedef std::vector< Vector > | Vector_Order_Tensor |
| typedef std::vector< Vector_Order_Tensor > | Node_Vector_Order_Tensor |
| typedef Node | PointType |
| typedef Node ::Pointer | PointPointerType |
| typedef std::vector< PointType::Pointer > | PointVector |
| typedef PointVector::iterator | PointIterator |
Protected Member Functions inherited from Kratos::LocalRefineGeometryMesh | |
| template<typename TIteratorType > | |
| void | SearchEdgeToBeRefinedGeneric (TIteratorType GeometricalObjectsBegin, TIteratorType GeometricalObjectsEnd, compressed_matrix< int > &rCoord) |
Protected Attributes inherited from Kratos::LocalRefineGeometryMesh | |
| ModelPart & | mModelPart |
| int | mCurrentRefinementLevel |
| The model part to be refined. More... | |
| std::unordered_map< std::size_t, unsigned int > | mMapNodeIdToPos |
| The current refinement level. More... | |
| std::vector< std::size_t > | mMapPosToNodeId |
|
inline |
Default constructors.
|
default |
Destructor.
|
inlineoverridevirtual |
It calculates the new edges of the new tetrahedras, first it calculates the new edges correspondign to the lower face (as a triangle), later it added to the upper face
| geom | The tetrahedra element geometry |
| edge_ids | The ids of the edges |
Reimplemented from Kratos::LocalRefineGeometryMesh.
|
inline |
It calculates the new edges of the new triangles, first it calculates the new edges correspondign to the lower face (as a triangle), later it added to the upper face
| geom | The prism element geometry |
| edge_ids | The ids of the edges |
|
inline |
Insert the news nodes in the center of elements and interopolate the variables.
| geom | The curret geometry |
|
inlineoverridevirtual |
Remove the old conditions and creates new ones
| Coord | The coordinates of the nodes of the geometry |
Add the new Conditions to the ModelPart
Reimplemented from Kratos::LocalRefineGeometryMesh.
|
inlineoverridevirtual |
It erases the old elements and it creates the new ones
| Coord | The coordinates of the element |
| New_Elements | The new elements created |
| interpolate_internal_variables | A boolean that defines if it is necessary to interpolate the internal variables |
Reimplemented from Kratos::LocalRefineGeometryMesh.
|
inline |
Updates recursively the conditions in the submodelpars
| rNewConditions | list of conds |
|
inline |
Updates recursively the elements in the submodelpars
| NewElements | list of elems |