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::SymbolicStokesData< TDim, TNumNodes > Class Template Reference

#include <symbolic_stokes_data.h>

Inheritance diagram for Kratos::SymbolicStokesData< TDim, TNumNodes >:
Collaboration diagram for Kratos::SymbolicStokesData< TDim, TNumNodes >:

Public Types

Type Definitions
using NodalScalarData = typename FluidElementData< TDim, TNumNodes, true >::NodalScalarData
 
using NodalVectorData = typename FluidElementData< TDim, TNumNodes, true >::NodalVectorData
 
using ShapeFunctionsType = typename FluidElementData< TDim, TNumNodes, true >::ShapeFunctionsType
 
using MatrixRowType = typename FluidElementData< TDim, TNumNodes, true >::MatrixRowType
 
- Public Types inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
using NodalScalarData = array_1d< double, TNumNodes >
 
using NodalVectorData = BoundedMatrix< double, TNumNodes, TDim >
 
using NodalTensorData = std::array< BoundedMatrix< double, TDim, TDim >, TNumNodes >
 
using ShapeFunctionsType = array_1d< double, TNumNodes >
 
using ShapeDerivativesType = BoundedMatrix< double, TNumNodes, TDim >
 
using MatrixRowType = MatrixRow< Matrix >
 

Public Attributes

Public Members
NodalVectorData Velocity
 
NodalVectorData Velocity_OldStep1
 
NodalVectorData Velocity_OldStep2
 
NodalVectorData BodyForce
 
NodalScalarData Pressure
 
double Density
 
double DynamicViscosity
 
double DeltaTime
 
double DynamicTau
 
double bdf0
 
double bdf1
 
double bdf2
 
BoundedMatrix< double, TNumNodes *(TDim+1), TNumNodes *(TDim+1)> lhs
 
array_1d< double, TNumNodes *(TDim+1)> rhs
 
double ElementSize
 
- Public Attributes inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
unsigned int IntegrationPointIndex
 
double Weight
 
ShapeFunctionsType N
 
ShapeDerivativesType DN_DX
 
Vector StrainRate
 Strain rate (symmetric gradient of velocity) vector in Voigt notation. More...
 
Vector ShearStress
 Shear stress vector in Voigt notation. More...
 
Matrix C
 Constitutive tensor C (expressed as a Matrix). More...
 
ConstitutiveLaw::Parameters ConstitutiveLawValues
 Constitutive law configuration (stored here to avoid re-initialization within the element). More...
 
double EffectiveViscosity
 Effective viscosity (in dynamic units) produced by the constitutive law. More...
 

Public Operations

void Initialize (const Element &rElement, const ProcessInfo &rProcessInfo) override
 
void UpdateGeometryValues (const unsigned int IntegrationPointIndex, double NewWeight, const MatrixRowType &rN, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX) override
 
static int Check (const Element &rElement, const ProcessInfo &rProcessInfo)
 

Additional Inherited Members

- Public Member Functions inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
 FluidElementData ()
 Default constructor. More...
 
 FluidElementData (FluidElementData const &rOther)=delete
 (deleted) copy constructor. More...
 
virtual ~FluidElementData ()
 Destructor. More...
 
FluidElementDataoperator= (FluidElementData const &rOther)=delete
 (deleted) assignment operator. More...
 
virtual void UpdateGeometryValues (unsigned int IntegrationPointIndex, double NewWeight, const MatrixRowType &rN, const ShapeDerivativesType &rDN_DX)
 
- Static Public Member Functions inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
static int Check (const Element &rElement, const ProcessInfo &rProcessInfo)
 
- Static Public Attributes inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
constexpr static unsigned int Dim
 Physical space dimension for the problem. More...
 
constexpr static unsigned int NumNodes
 Number of nodes of the element. More...
 
constexpr static unsigned int StrainSize
 Size of the strain and stress vectors (in Voigt notation) for the formulation. More...
 
constexpr static bool ElementManagesTimeIntegration
 This lets FluidElement know wether this element requires an external time scheme or not. More...
 
- Protected Member Functions inherited from Kratos::FluidElementData< TDim, TNumNodes, true >
void FillFromNodalData (NodalScalarData &rData, const Variable< double > &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromNodalData (NodalVectorData &rData, const Variable< array_1d< double, 3 >> &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromHistoricalNodalData (NodalScalarData &rData, const Variable< double > &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromHistoricalNodalData (NodalVectorData &rData, const Variable< array_1d< double, 3 >> &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromHistoricalNodalData (NodalTensorData &rData, const Variable< Matrix > &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromHistoricalNodalData (NodalScalarData &rData, const Variable< double > &rVariable, const Geometry< Node > &rGeometry, const unsigned int Step)
 
void FillFromHistoricalNodalData (NodalVectorData &rData, const Variable< array_1d< double, 3 >> &rVariable, const Geometry< Node > &rGeometry, const unsigned int Step)
 
void FillFromNonHistoricalNodalData (NodalScalarData &rData, const Variable< double > &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromNonHistoricalNodalData (NodalVectorData &rData, const Variable< array_1d< double, 3 >> &rVariable, const Geometry< Node > &rGeometry)
 
void FillFromProcessInfo (double &rData, const Variable< double > &rVariable, const ProcessInfo &rProcessInfo)
 
void FillFromProcessInfo (int &rData, const Variable< int > &rVariable, const ProcessInfo &rProcessInfo)
 
void FillFromElementData (double &rData, const Variable< double > &rVariable, const Element &rElement)
 
void FillFromElementData (Vector &rData, const Variable< Vector > &rVariable, const Element &rElement)
 
void FillFromElementData (NodalScalarData &rData, const Variable< Vector > &rVariable, const Element &rElement)
 
void FillFromProperties (double &rData, const Variable< double > &rVariable, const Properties &rProperties)
 

Member Typedef Documentation

◆ MatrixRowType

template<size_t TDim, size_t TNumNodes>
using Kratos::SymbolicStokesData< TDim, TNumNodes >::MatrixRowType = typename FluidElementData<TDim, TNumNodes, true>::MatrixRowType

◆ NodalScalarData

template<size_t TDim, size_t TNumNodes>
using Kratos::SymbolicStokesData< TDim, TNumNodes >::NodalScalarData = typename FluidElementData<TDim, TNumNodes, true>::NodalScalarData

◆ NodalVectorData

template<size_t TDim, size_t TNumNodes>
using Kratos::SymbolicStokesData< TDim, TNumNodes >::NodalVectorData = typename FluidElementData<TDim, TNumNodes, true>::NodalVectorData

◆ ShapeFunctionsType

template<size_t TDim, size_t TNumNodes>
using Kratos::SymbolicStokesData< TDim, TNumNodes >::ShapeFunctionsType = typename FluidElementData<TDim, TNumNodes, true>::ShapeFunctionsType

Member Function Documentation

◆ Check()

template<size_t TDim, size_t TNumNodes>
static int Kratos::SymbolicStokesData< TDim, TNumNodes >::Check ( const Element rElement,
const ProcessInfo rProcessInfo 
)
inlinestatic

◆ Initialize()

template<size_t TDim, size_t TNumNodes>
void Kratos::SymbolicStokesData< TDim, TNumNodes >::Initialize ( const Element rElement,
const ProcessInfo rProcessInfo 
)
inlineoverridevirtual

◆ UpdateGeometryValues()

template<size_t TDim, size_t TNumNodes>
void Kratos::SymbolicStokesData< TDim, TNumNodes >::UpdateGeometryValues ( const unsigned int  IntegrationPointIndex,
double  NewWeight,
const MatrixRowType rN,
const BoundedMatrix< double, TNumNodes, TDim > &  rDN_DX 
)
inlineoverride

Member Data Documentation

◆ bdf0

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::bdf0

◆ bdf1

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::bdf1

◆ bdf2

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::bdf2

◆ BodyForce

template<size_t TDim, size_t TNumNodes>
NodalVectorData Kratos::SymbolicStokesData< TDim, TNumNodes >::BodyForce

◆ DeltaTime

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::DeltaTime

◆ Density

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::Density

◆ DynamicTau

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::DynamicTau

◆ DynamicViscosity

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::DynamicViscosity

◆ ElementSize

template<size_t TDim, size_t TNumNodes>
double Kratos::SymbolicStokesData< TDim, TNumNodes >::ElementSize

◆ lhs

template<size_t TDim, size_t TNumNodes>
BoundedMatrix<double,TNumNodes*(TDim+1),TNumNodes*(TDim+1)> Kratos::SymbolicStokesData< TDim, TNumNodes >::lhs

◆ Pressure

template<size_t TDim, size_t TNumNodes>
NodalScalarData Kratos::SymbolicStokesData< TDim, TNumNodes >::Pressure

◆ rhs

template<size_t TDim, size_t TNumNodes>
array_1d<double,TNumNodes*(TDim+1)> Kratos::SymbolicStokesData< TDim, TNumNodes >::rhs

◆ Velocity

template<size_t TDim, size_t TNumNodes>
NodalVectorData Kratos::SymbolicStokesData< TDim, TNumNodes >::Velocity

◆ Velocity_OldStep1

template<size_t TDim, size_t TNumNodes>
NodalVectorData Kratos::SymbolicStokesData< TDim, TNumNodes >::Velocity_OldStep1

◆ Velocity_OldStep2

template<size_t TDim, size_t TNumNodes>
NodalVectorData Kratos::SymbolicStokesData< TDim, TNumNodes >::Velocity_OldStep2

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