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.
List of all members
Kratos::ConvectionDiffusionReactionElementData< TDim > Class Template Reference

Base class to hold Convection-Diffusion-Reaction transport equation data. More...

#include <convection_diffusion_reaction_element_data.h>

Inheritance diagram for Kratos::ConvectionDiffusionReactionElementData< TDim >:
Collaboration diagram for Kratos::ConvectionDiffusionReactionElementData< TDim >:

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::ParametersGetConstitutiveLawParameters ()
 
ConstitutiveLawGetConstitutiveLaw ()
 
const GeometryTypeGetGeometry () const
 
const PropertiesGetProperties () 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
 

Detailed Description

template<unsigned int TDim>
class Kratos::ConvectionDiffusionReactionElementData< TDim >

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.

See also
ConvectionDiffusionReactionCrossWindStabilizedElement
ConvectionDiffusionReactionElement
ConvectionDiffusionReactionResidualBasedFluxCorrectedElement

Followings are few example use cases

See also
KEpsilonElementData::KElementData
KEpsilonElementData::EpsilonElementData
Template Parameters
TDim

Member Typedef Documentation

◆ ArrayD

template<unsigned int TDim>
using Kratos::ConvectionDiffusionReactionElementData< TDim >::ArrayD = array_1d<double, TDim>

◆ GeometryType

template<unsigned int TDim>
using Kratos::ConvectionDiffusionReactionElementData< TDim >::GeometryType = Geometry<Node>

Constructor & Destructor Documentation

◆ ConvectionDiffusionReactionElementData()

template<unsigned int TDim>
Kratos::ConvectionDiffusionReactionElementData< TDim >::ConvectionDiffusionReactionElementData ( const GeometryType rGeometry,
const Properties rProperties,
const ProcessInfo rProcessInfo 
)
inline

◆ ~ConvectionDiffusionReactionElementData()

template<unsigned int TDim>
virtual Kratos::ConvectionDiffusionReactionElementData< TDim >::~ConvectionDiffusionReactionElementData ( )
virtualdefault

Member Function Documentation

◆ Calculate()

template<unsigned int TDim>
virtual void Kratos::ConvectionDiffusionReactionElementData< TDim >::Calculate ( const Variable< double > &  rVariable,
double rOutput,
const ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

◆ GetConstitutiveLaw()

template<unsigned int TDim>
ConstitutiveLaw& Kratos::ConvectionDiffusionReactionElementData< TDim >::GetConstitutiveLaw ( )
inline

◆ GetConstitutiveLawParameters()

template<unsigned int TDim>
ConstitutiveLaw::Parameters& Kratos::ConvectionDiffusionReactionElementData< TDim >::GetConstitutiveLawParameters ( )
inline

◆ GetEffectiveKinematicViscosity()

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::GetEffectiveKinematicViscosity ( ) const
inline

◆ GetEffectiveVelocity()

template<unsigned int TDim>
ArrayD Kratos::ConvectionDiffusionReactionElementData< TDim >::GetEffectiveVelocity ( ) const
inline

◆ GetGeometry()

template<unsigned int TDim>
const GeometryType& Kratos::ConvectionDiffusionReactionElementData< TDim >::GetGeometry ( ) const
inline

◆ GetProperties()

template<unsigned int TDim>
const Properties& Kratos::ConvectionDiffusionReactionElementData< TDim >::GetProperties ( ) const
inline

◆ GetReactionTerm()

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::GetReactionTerm ( ) const
inline

◆ GetSourceTerm()

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::GetSourceTerm ( ) const
inline

Member Data Documentation

◆ mEffectiveKinematicViscosity

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::mEffectiveKinematicViscosity
protected

◆ mEffectiveVelocity

template<unsigned int TDim>
ArrayD Kratos::ConvectionDiffusionReactionElementData< TDim >::mEffectiveVelocity
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.

◆ mReactionTerm

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::mReactionTerm
protected

◆ mSourceTerm

template<unsigned int TDim>
double Kratos::ConvectionDiffusionReactionElementData< TDim >::mSourceTerm
protected

The documentation for this class was generated from the following file: