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.
|
Base class to hold Convection-Diffusion-Reaction transport equation data. More...
#include <convection_diffusion_reaction_element_data.h>
Public Types | |
Type Definitions | |
using | GeometryType = Geometry< Node > |
using | ArrayD = array_1d< double, TDim > |
Public Member Functions | |
Life Cycle | |
ConvectionDiffusionReactionElementData (const GeometryType &rGeometry, const Properties &rProperties, const ProcessInfo &rProcessInfo) | |
virtual | ~ConvectionDiffusionReactionElementData ()=default |
Operations | |
virtual void | Calculate (const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) |
Access | |
ConstitutiveLaw::Parameters & | GetConstitutiveLawParameters () |
ConstitutiveLaw & | GetConstitutiveLaw () |
const GeometryType & | GetGeometry () const |
const Properties & | GetProperties () const |
ArrayD | GetEffectiveVelocity () const |
double | GetEffectiveKinematicViscosity () const |
double | GetReactionTerm () const |
double | GetSourceTerm () const |
Protected Attributes | |
Protected Members | |
ArrayD | mEffectiveVelocity |
double | mEffectiveKinematicViscosity |
double | mReactionTerm |
double | mSourceTerm |
Base class to hold Convection-Diffusion-Reaction transport equation data.
This class is used as the base class for Convection-Diffusion-Reaction transport equation data. The derrived classes should implement the following methods
1. CalculateConstants -> This method is used to calculate constants. Called only once before the gauss point iteration loop. (This is a public member method) 2. CalculateGaussPointData -> This method is used to calculate gauss point quantities. Usually this method is used to update member variables in the protected region in this class. This method is called for each gauss point in gauss point iteration loop. (This is a public member method) 3. Check -> This is a public static method. Used for checking only. 4. GetScalarVariable -> This is a public static method. Returns the variable being solved in this Convection-Diffusion-Reaction transport equation. 5. GetName -> This is a public static method. Returns just the name.
These data containers are used in the following element formulations.
Followings are few example use cases
TDim |
using Kratos::ConvectionDiffusionReactionElementData< TDim >::ArrayD = array_1d<double, TDim> |
using Kratos::ConvectionDiffusionReactionElementData< TDim >::GeometryType = Geometry<Node> |
|
inline |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in Kratos::KOmegaSSTElementData::KElementData< TDim >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
These variables are supposed to be modified by derrived class's CalculateGaussPointData method. "CalculateGaussPointData" is not available in the base class in order to avoid runtime virtual table search because these classes are used templated in the elements.
|
protected |
|
protected |