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.
convection_particle.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: Pablo Becker
10 //
11 
12 #if !defined(KRATOS_CONVECTION_PARTICLE_H_INCLUDED )
13 #define KRATOS_CONVECTION_PARTICLE_H_INCLUDED
14 
15 // System includes
16 #include <string>
17 #include <iostream>
18 #include <sstream>
19 #include <cstddef>
20 
21 // External includes
22 
23 // Project includes
24 #include "includes/define.h"
25 #include "containers/array_1d.h"
26 #include "includes/serializer.h"
27 #include "geometries/point.h"
28 #include "includes/model_part.h"
29 
30 
31 namespace Kratos
32 {
33 
36 
40 
44 
48 
52 
54 
55 /*
56 @see Geometry
57 @see Node
58 @see IntegrationPoint
59 */
60 //template<std::size_t TDimension, class TDataType = double> //always size 3!
61 class Convection_Particle : public Point
62 {
63 public:
66 
69 
70  typedef double TDataType;
71 
73 
74  typedef Point Type;
75 
77 
78  typedef std::size_t SizeType;
79 
80  typedef std::size_t IndexType;
81 
85 
89 
91  Convection_Particle(TDataType const& NewX, TDataType const& NewY, TDataType const& NewZ) : Point(NewX, NewY, NewZ)
92  {
93  this->ERASE_FLAG=true; //initializing as useless particle
94  this->SCALAR1=0.0;
95  }
96 
97  Convection_Particle() : Point(0.0, 0.0, 0.0)
98  {
99  this->ERASE_FLAG=true;
100  this->SCALAR1=0.0;
101  }
102 
104  {}
105 
106  float& GetScalar1()
107  {
108  return this->SCALAR1;
109  }
110 
111  bool& GetEraseFlag()
112  {
113  return this->ERASE_FLAG;
114  }
115 
116 private:
117  float SCALAR1;
118  //double TEMPERATURE;
119  //double OXYGEN;
120  //Element::Pointer ELEMENT_WEAKPOINTER;
121  //unsigned int ELEMENT_ID;
122  //double GRADIENT_DISCONTINUITY;
123  bool ERASE_FLAG;
124 
125 
126 
127 };
128 
129 } //namespace Kratos
130 
131 #endif //KRATOS_CONVECTION_PARTICLE_H_INCLUDED defined
PFEM Particle class.
Definition: convection_particle.h:62
BaseType CoordinatesArrayType
Definition: convection_particle.h:76
std::size_t IndexType
Definition: convection_particle.h:80
Convection_Particle()
Definition: convection_particle.h:97
double TDataType
Definition: convection_particle.h:70
~Convection_Particle()
Definition: convection_particle.h:103
std::size_t SizeType
Definition: convection_particle.h:78
bool & GetEraseFlag()
Definition: convection_particle.h:111
Point Type
Definition: convection_particle.h:74
array_1d< double, 3 > BaseType
Definition: convection_particle.h:72
Convection_Particle * Pointer
Pointer definition of Point.
Definition: convection_particle.h:68
float & GetScalar1()
Definition: convection_particle.h:106
Convection_Particle(TDataType const &NewX, TDataType const &NewY, TDataType const &NewZ)
Default constructor.
Definition: convection_particle.h:91
Point class.
Definition: point.h:59
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21