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.
distance_smoothing_element.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: Mohammad R. Hashemi
11 //
12 
13 #if !defined(KRATOS_DISTANCE_SMOOTHING_ELEMENT_H_INCLUDED )
14 #define KRATOS_DISTANCE_SMOOTHING_ELEMENT_H_INCLUDED
15 
16 // System includes
17 #include <string>
18 #include <iostream>
19 
20 // Project includes
21 #include "includes/element.h"
22 
23 namespace Kratos
24 {
25 
28 
32 
36 
40 
44 
45 template< unsigned int TDim >
47 {
48 public:
49 
52 
53  typedef Element BaseType;
54 
59 
63 
68 
72  DistanceSmoothingElement(IndexType NewId, const NodesArrayType& ThisNodes);
73 
77  DistanceSmoothingElement(IndexType NewId, GeometryType::Pointer pGeometry);
78 
82  DistanceSmoothingElement(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties);
83 
88 
92  ~DistanceSmoothingElement() override;
93 
97 
100 
104 
117  Element::Pointer Create(IndexType NewId, NodesArrayType const& ThisNodes, PropertiesType::Pointer pProperties) const override;
118 
126  Element::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override;
127 
135  Element::Pointer Clone(IndexType NewId, NodesArrayType const& ThisNodes) const override;
136 
143  void EquationIdVector(EquationIdVectorType& rResult, const ProcessInfo& CurrentProcessInfo) const override;
144 
150  void GetDofList(DofsVectorType& rElementalDofList, const ProcessInfo& CurrentProcessInfo) const override;
151 
168  MatrixType& rLeftHandSideMatrix,
169  VectorType& rRightHandSideVector,
170  const ProcessInfo& rCurrentProcessInfo) override;
171 
181  int Check(const ProcessInfo& rCurrentProcessInfo) const override;
182 
186 
190 
194 
196  std::string Info() const override;
197 
199  void PrintInfo(std::ostream& rOStream) const override;
200 
202  void PrintData(std::ostream& rOStream) const override;
203 
207 
209 
210 private:
211 
214 
218 
222 
226 
230 
231  friend class Serializer;
232 
233  void save(Serializer& rSerializer) const override;
234  void load(Serializer& rSerializer) override;
235 
239 
243 
247 
249 
250 }; // Class DistanceSmoothingElement
251 
253 
256 
260 
262 
263 } // namespace Kratos.
264 
265 #endif // KRATOS_DISTANCE_SMOOTHING_ELEMENT_H_INCLUDED
Definition: distance_smoothing_element.h:47
~DistanceSmoothingElement() override
Definition: distance_smoothing_element.cpp:98
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &CurrentProcessInfo) const override
Definition: distance_smoothing_element.cpp:183
Element::Pointer Clone(IndexType NewId, NodesArrayType const &ThisNodes) const override
Definition: distance_smoothing_element.cpp:169
void GetDofList(DofsVectorType &rElementalDofList, const ProcessInfo &CurrentProcessInfo) const override
Definition: distance_smoothing_element.cpp:203
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: distance_smoothing_element.cpp:572
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(DistanceSmoothingElement)
Element BaseType
Definition: distance_smoothing_element.h:53
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
Definition: distance_smoothing_element.cpp:133
std::string Info() const override
Turn back information as a string.
Definition: distance_smoothing_element.cpp:563
DistanceSmoothingElement(IndexType NewId=0)
Definition: distance_smoothing_element.cpp:53
DistanceSmoothingElement & operator=(DistanceSmoothingElement const &rOther)
Assignment operator.
Definition: distance_smoothing_element.cpp:108
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: distance_smoothing_element.cpp:579
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: distance_smoothing_element.cpp:521
Base class for all Elements.
Definition: element.h:60
std::vector< DofType::Pointer > DofsVectorType
Definition: element.h:100
std::vector< std::size_t > EquationIdVectorType
Definition: element.h:98
std::size_t IndexType
Definition: flags.h:74
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307