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.
real_field.h
Go to the documentation of this file.
1 #if !defined(KRATOS_REAL_FIELD_H)
2 #define KRATOS_REAL_FIELD_H
3 
4 // /* External includes */
5 
6 // System includes
7 
8 // Project includes
9 #include "includes/variables.h"
10 
11 /* System includes */
12 #include <limits>
13 #include <iostream>
14 #include <iomanip>
15 
16 /* External includes */
17 #ifdef _OPENMP
18 #include <omp.h>
19 #endif
20 
21 /* Project includes */
22 #include "includes/define.h"
23 #include "utilities/openmp_utils.h"
24 #include "real_functions.h"
25 
26 namespace Kratos
27 {
28 class RealField
29 {
30 public:
31 
33 
35 
37 
39 
40 virtual ~RealField(){}
41 
42 //***************************************************************************************************************
43 //***************************************************************************************************************
44 
45 virtual double Evaluate(const double time, const array_1d<double, 3>& coor)
46 {
47  return 0.0;
48 }
49 
50 //***************************************************************************************************************
51 //***************************************************************************************************************
52 
53 virtual double CalculateTimeDerivative(const double time, const array_1d<double, 3>& coor)
54 {
55  return 0.0;
56 }
57 
58 //***************************************************************************************************************
59 //***************************************************************************************************************
60 
61 virtual void CalculateGradient(const double time, const array_1d<double, 3>& coor, array_1d<double, 3>& gradient)
62 {
63  gradient[0] = 0.0;
64  gradient[1] = 0.0;
65  gradient[2] = 0.0;
66 }
67 
68 //***************************************************************************************************************
69 //***************************************************************************************************************
70 
71 virtual void CalculateLaplacian(const double time, const array_1d<double, 3>& coor, array_1d<double, 3>& laplacian)
72 {
73  laplacian[0] = 0.0;
74  laplacian[1] = 0.0;
75  laplacian[2] = 0.0;
76 }
77 
78 //***************************************************************************************************************
79 //***************************************************************************************************************
80 
84 
85 
89 
91 
92 virtual std::string Info() const
93 {
94 return "";
95 }
96 
98 
99 virtual void PrintInfo(std::ostream& rOStream) const
100 {
101 }
102 
104 
105 virtual void PrintData(std::ostream& rOStream) const
106 {
107 }
108 
109 
113 
115 
116 protected:
119 
120 
124 
125 
129 
130 
134 
135 
139 
143 
144 
148 
149 
151 
152 private:
153 
156 
157 
161 
165 
169 
170 
174 
175 
179 
180 
184 
186 RealField & operator=(RealField const& rOther);
187 
188 
190 
191 }; // Class RealField
192 
194 
197 
198 
202 
203 } // namespace Kratos.
204 #endif // KRATOS_REAL_FIELD_H
Definition: real_field.h:29
KRATOS_CLASS_POINTER_DEFINITION(RealField)
virtual ~RealField()
Destructor.
Definition: real_field.h:40
RealField()
Default constructor.
Definition: real_field.h:36
virtual double Evaluate(const double time, const array_1d< double, 3 > &coor)
Definition: real_field.h:45
virtual std::string Info() const
Turn back information as a stemplate<class T, std::size_t dim> tring.
Definition: real_field.h:92
virtual void CalculateGradient(const double time, const array_1d< double, 3 > &coor, array_1d< double, 3 > &gradient)
Definition: real_field.h:61
virtual void CalculateLaplacian(const double time, const array_1d< double, 3 > &coor, array_1d< double, 3 > &laplacian)
Definition: real_field.h:71
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: real_field.h:105
virtual double CalculateTimeDerivative(const double time, const array_1d< double, 3 > &coor)
Definition: real_field.h:53
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: real_field.h:99
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
time
Definition: face_heat.py:85