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.
conv_diff_3d.h
Go to the documentation of this file.
1 // KRATOS ___ ___ _ ___ __ ___ ___ ___ ___
2 // / __/ _ \| \| \ \ / /__| \_ _| __| __|
3 // | (_| (_) | .` |\ V /___| |) | || _|| _|
4 // \___\___/|_|\_| \_/ |___/___|_| |_| APPLICATION
5 //
6 // License: BSD License
7 // Kratos default license: kratos/license.txt
8 //
9 // Main authors: Riccardo Rossi
10 //
11 
12 #if !defined(KRATOS_CONVDIFF_ELEM_3D_H_INCLUDED )
13 #define KRATOS_CONVDIFF_ELEM_3D_H_INCLUDED
14 
15 // System includes
16 
17 // External includes
18 
19 
20 // Project includes
21 #include "includes/define.h"
22 #include "includes/element.h"
24 #include "includes/variables.h"
25 
26 #include "includes/serializer.h"
27 
28 namespace Kratos
29 {
30 
33 
37 
41 
45 
49 
51 
54  : public Element
55 {
56 public:
59 
62 
66 
68  ConvDiff3D(IndexType NewId, GeometryType::Pointer pGeometry);
69  ConvDiff3D(IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties);
70 
72  virtual ~ConvDiff3D();
73 
74 
78 
79 
83 
84  Element::Pointer Create(IndexType NewId, NodesArrayType const& ThisNodes, PropertiesType::Pointer pProperties) const override;
85 
86  Element::Pointer Create(IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override;
87 
89  void CalculateLocalSystem(MatrixType& rLeftHandSideMatrix, VectorType& rRightHandSideVector, const ProcessInfo& rCurrentProcessInfo) override;
90 
91  void CalculateRightHandSide(VectorType& rRightHandSideVector, const ProcessInfo& rCurrentProcessInfo) override;
92  //virtual void CalculateLeftHandSide(MatrixType& rLeftHandSideMatrix, ProcessInfo& rCurrentProcessInfo);
94  void EquationIdVector(EquationIdVectorType& rResult, const ProcessInfo& rCurrentProcessInfo) const override;
95 
97  void GetDofList(DofsVectorType& ElementalDofList,const ProcessInfo& CurrentProcessInfo) const override;
99  void InitializeSolutionStep(const ProcessInfo& CurrentProcessInfo) override;
100 
101 /* double ComputeSmagorinskyViscosity(const BoundedMatrix<double, 4, 3 > & DN_DX,const double& h,const double& C, const double nu);*/
102 
103 
104 
108 
109 
113 
114 
118 
120 // virtual String Info() const;
121 
123 // virtual void PrintInfo(std::ostream& rOStream) const;
124 
126 // virtual void PrintData(std::ostream& rOStream) const;
127 
128 
132 
133 
135 
136 protected:
139 
140 
144 
145 
149 
150 
154 
155 
159 
160 
164 
165 
169 
170 
172 
173 private:
176 // static BoundedMatrix<double,4,4> msMassFactors;
177 // static BoundedMatrix<double,4,3> msDN_DX;
178 // static array_1d<double,4> msN; //dimension = number of nodes
179 // static array_1d<double,3> ms_vel_gauss; //dimesion coincides with space dimension
180 // static array_1d<double,4> ms_temp_vec_np; //dimension = number of nodes
181 // static array_1d<double,4> ms_u_DN;
182 
186 
190  friend class Serializer;
191 
192  // A private default constructor necessary for serialization
193  ConvDiff3D() : Element()
194  {
195  }
196 
197  void save(Serializer& rSerializer) const override
198  {
200  }
201 
202  void load(Serializer& rSerializer) override
203  {
205  }
206 
207 
208 
209 
213 
217 
218 
222 
223 
227 
228 
232 
234  //ConvDiff3D& operator=(const ConvDiff3D& rOther);
235 
237  //ConvDiff3D(const ConvDiff3D& rOther);
238 
239 
241 
242 }; // Class ConvDiff3D
243 
245 
248 
249 
253 
254 
256 /* inline std::istream& operator >> (std::istream& rIStream,
257  ConvDiff3D& rThis);
258 */
260 /* inline std::ostream& operator << (std::ostream& rOStream,
261  const ConvDiff3D& rThis)
262  {
263  rThis.PrintInfo(rOStream);
264  rOStream << std::endl;
265  rThis.PrintData(rOStream);
266 
267  return rOStream;
268  }*/
270 
271 } // namespace Kratos.
272 
273 #endif // KRATOS_CONVDIFF_ELEM_3D_H_INCLUDED defined
274 
275 
Short class definition.
Definition: conv_diff_3d.h:55
void InitializeSolutionStep(const ProcessInfo &CurrentProcessInfo) override
Calculates the temperature convective projection.
Definition: conv_diff_3d.cpp:248
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Evaluates and .
Definition: conv_diff_3d.cpp:61
void CalculateRightHandSide(VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: conv_diff_3d.cpp:238
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override
It creates a new element pointer.
Definition: conv_diff_3d.cpp:44
void EquationIdVector(EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override
Provides the global indices for each one of this element's local rows.
Definition: conv_diff_3d.cpp:313
virtual ~ConvDiff3D()
Destructor.
Definition: conv_diff_3d.cpp:54
void GetDofList(DofsVectorType &ElementalDofList, const ProcessInfo &CurrentProcessInfo) const override
Returns a list of the element's Dofs.
Definition: conv_diff_3d.cpp:329
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(ConvDiff3D)
Counted pointer of ConvDiff3D.
friend class Serializer
Definition: conv_diff_3d.h:190
Base class for all Elements.
Definition: element.h:60
Element(IndexType NewId=0)
Definition: element.h:121
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
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307