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.
tetrahedra_mesh_worst_element_smoothing_process.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Pooyan Dadvand
11 //
12 //
13 
14 #if !defined(KRATOS_TETRAHEDRA_MESH_WORST_ELEMENT_SMOOTHING_PROCESS_H_INCLUDED )
15 #define KRATOS_TETRAHEDRA_MESH_WORST_ELEMENT_SMOOTHING_PROCESS_H_INCLUDED
16 
17 
18 
19 // System includes
20 #include <string>
21 #include <iostream>
22 
23 
24 // External includes
25 
26 
27 // Project includes
28 #include "includes/define.h"
30 #include "includes/model_part.h"
31 
32 
33 
34 namespace Kratos
35 {
38 
41 
43 
46  {
47  public:
50 
53 
54  typedef Node NodeType;
55 
57 
58  typedef std::vector<Point > PointsVectorType;
59 
63 
67 
69  TetrahedraMeshWorstElementSmoothingProcess(ModelPart& rModelPart, double AptQuality = 0.5, std::size_t IterationsNumber=10);
70 
73 
74 
78 
79 
83 
87 
88 
92 
93 
97 
99  std::string Info() const override;
100 
101 
105 
106 
108 
109  protected:
112 
113 
117 
118 
122 
123 
127 
128  void FindOptimumPositionsAndWeights(NodeType& rNode, PointsVectorType& rOptimumPoints, Vector& rWeights) override;
129 
130  void CalculateElementOptimumPosition(NodeType& rNode, Geometry<Node > const& rTetrahedra, Point& rOptimumPoint);
131 
135 
136 
140 
141 
145 
146 
148 
149  private:
152 
153 
157 
158 
162 
163 
167 
168 
172 
173 
177 
178 
182 
185 
188 
189 
191 
192  }; // Class TetrahedraMeshWorstElementSmoothingProcess
193 
195 
198 
199 
203 
204 
206  inline std::istream& operator >> (std::istream& rIStream,
208 
210  inline std::ostream& operator << (std::ostream& rOStream,
212  {
213  rThis.PrintInfo(rOStream);
214  rOStream << std::endl;
215  rThis.PrintData(rOStream);
216 
217  return rOStream;
218  }
220 
222 
223 } // namespace Kratos.
224 
225 #endif // KRATOS_TETRAHEDRA_MESH_WORST_ELEMENT_SMOOTHING_PROCESS_H_INCLUDED defined
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Geometry base class.
Definition: geometry.h:71
This class is a vector which stores global pointers.
Definition: global_pointers_vector.h:61
The base class for local smoothing processes providing a laplacian smoothing.
Definition: mesh_local_smoothing_process.h:48
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: mesh_local_smoothing_process.cpp:84
std::vector< Point > PointsVectorType
Definition: mesh_local_smoothing_process.h:60
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: mesh_local_smoothing_process.cpp:90
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
Point class.
Definition: point.h:59
Short class definition.
Definition: tetrahedra_mesh_worst_element_smoothing_process.h:46
std::vector< Point > PointsVectorType
Definition: tetrahedra_mesh_worst_element_smoothing_process.h:58
GlobalPointersVector< Node > NeighboursVectorType
Definition: tetrahedra_mesh_worst_element_smoothing_process.h:56
KRATOS_CLASS_POINTER_DEFINITION(TetrahedraMeshWorstElementSmoothingProcess)
Pointer definition of TetrahedraMeshWorstElementSmoothingProcess.
Node NodeType
Definition: tetrahedra_mesh_worst_element_smoothing_process.h:54
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432