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_diffusion_reaction_element_data.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: Suneth Warnakulasuriya
11 //
12 
13 #if !defined(KRATOS_SCALAR_CONVECTION_DIFFUSION_REACTION_ELEMENT_DATA_H_INCLUDED)
14 #define KRATOS_SCALAR_CONVECTION_DIFFUSION_REACTION_ELEMENT_DATA_H_INCLUDED
15 
16 // System includes
17 
18 // External includes
19 
20 // Project includes
21 #include "geometries/geometry.h"
23 #include "includes/node.h"
24 #include "includes/process_info.h"
25 #include "includes/properties.h"
26 
27 // Application includes
28 
29 namespace Kratos
30 {
33 
62 template<unsigned int TDim>
64 {
65 public:
68 
70 
72 
76 
78  const GeometryType& rGeometry,
79  const Properties& rProperties,
80  const ProcessInfo& rProcessInfo)
81  : mrGeometry(rGeometry),
82  mrProperties(rProperties),
83  mrConstitutiveLaw(*(rGeometry.GetValue(CONSTITUTIVE_LAW)))
84  {
85  mConstitutiveLawParameters =
86  ConstitutiveLaw::Parameters(rGeometry, rProperties, rProcessInfo);
87  }
88 
90 
94 
95  virtual void Calculate(
96  const Variable<double>& rVariable,
97  double& rOutput,
98  const ProcessInfo& rCurrentProcessInfo)
99  {
100  }
101 
105 
106  ConstitutiveLaw::Parameters& GetConstitutiveLawParameters() { return mConstitutiveLawParameters; }
107 
108  ConstitutiveLaw& GetConstitutiveLaw() { return mrConstitutiveLaw; }
109 
110  const GeometryType& GetGeometry() const { return mrGeometry; }
111 
112  const Properties& GetProperties() const { return mrProperties; }
113 
115 
117 
118  double GetReactionTerm() const { return mReactionTerm; }
119 
120  double GetSourceTerm() const { return mSourceTerm; }
121 
123 
124 protected:
127 
137  double mSourceTerm;
138 
140 
141 private:
144 
145  const GeometryType& mrGeometry;
146  const Properties& mrProperties;
147  ConstitutiveLaw& mrConstitutiveLaw;
148  ConstitutiveLaw::Parameters mConstitutiveLawParameters;
149 
151 };
152 
154 } // namespace Kratos
155 
156 #endif
Definition: constitutive_law.h:47
Base class to hold Convection-Diffusion-Reaction transport equation data.
Definition: convection_diffusion_reaction_element_data.h:64
double mSourceTerm
Definition: convection_diffusion_reaction_element_data.h:137
double GetSourceTerm() const
Definition: convection_diffusion_reaction_element_data.h:120
double mReactionTerm
Definition: convection_diffusion_reaction_element_data.h:136
ArrayD mEffectiveVelocity
Definition: convection_diffusion_reaction_element_data.h:134
ConvectionDiffusionReactionElementData(const GeometryType &rGeometry, const Properties &rProperties, const ProcessInfo &rProcessInfo)
Definition: convection_diffusion_reaction_element_data.h:77
const GeometryType & GetGeometry() const
Definition: convection_diffusion_reaction_element_data.h:110
virtual void Calculate(const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo)
Definition: convection_diffusion_reaction_element_data.h:95
ArrayD GetEffectiveVelocity() const
Definition: convection_diffusion_reaction_element_data.h:114
ConstitutiveLaw & GetConstitutiveLaw()
Definition: convection_diffusion_reaction_element_data.h:108
double GetEffectiveKinematicViscosity() const
Definition: convection_diffusion_reaction_element_data.h:116
double mEffectiveKinematicViscosity
Definition: convection_diffusion_reaction_element_data.h:135
ConstitutiveLaw::Parameters & GetConstitutiveLawParameters()
Definition: convection_diffusion_reaction_element_data.h:106
double GetReactionTerm() const
Definition: convection_diffusion_reaction_element_data.h:118
const Properties & GetProperties() const
Definition: convection_diffusion_reaction_element_data.h:112
Geometry base class.
Definition: geometry.h:71
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
Definition: constitutive_law.h:189