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

#include <fic_data.h>

Inheritance diagram for Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >:
Collaboration diagram for Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >:

Public Types

Type Definitions
using NodalScalarData = typename FluidElementData< TDim, TNumNodes, false >::NodalScalarData
 
using NodalVectorData = typename FluidElementData< TDim, TNumNodes, false >::NodalVectorData
 
- Public Types inherited from Kratos::FluidElementData< TDim, TNumNodes, false >
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 MeshVelocity
 
NodalVectorData BodyForce
 
NodalScalarData Pressure
 
double Density
 
double DeltaTime
 
double FICBeta
 
double DynamicTau
 
BoundedMatrix< double, TNumNodes *(TDim+1), TNumNodes *(TDim+1)> LHS
 Auxiliary container for the local matrix at the integration point (stored to save reallocation at each point) More...
 
- Public Attributes inherited from Kratos::FluidElementData< TDim, TNumNodes, false >
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
 
static int Check (const Element &rElement, const ProcessInfo &rProcessInfo)
 

Additional Inherited Members

- Public Member Functions inherited from Kratos::FluidElementData< TDim, TNumNodes, false >
 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, false >
static int Check (const Element &rElement, const ProcessInfo &rProcessInfo)
 
- Static Public Attributes inherited from Kratos::FluidElementData< TDim, TNumNodes, false >
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, false >
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

◆ NodalScalarData

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
using Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::NodalScalarData = typename FluidElementData<TDim,TNumNodes, false>::NodalScalarData

◆ NodalVectorData

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
using Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::NodalVectorData = typename FluidElementData<TDim,TNumNodes, false>::NodalVectorData

Member Function Documentation

◆ Check()

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
static int Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::Check ( const Element rElement,
const ProcessInfo rProcessInfo 
)
inlinestatic

◆ Initialize()

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
void Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::Initialize ( const Element rElement,
const ProcessInfo rProcessInfo 
)
inlineoverridevirtual

Member Data Documentation

◆ BodyForce

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
NodalVectorData Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::BodyForce

◆ DeltaTime

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
double Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::DeltaTime

◆ Density

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
double Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::Density

◆ DynamicTau

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
double Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::DynamicTau

◆ FICBeta

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
double Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::FICBeta

◆ LHS

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
BoundedMatrix<double,TNumNodes*(TDim+1),TNumNodes*(TDim+1)> Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::LHS

Auxiliary container for the local matrix at the integration point (stored to save reallocation at each point)

◆ MeshVelocity

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
NodalVectorData Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::MeshVelocity

◆ Pressure

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
NodalScalarData Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::Pressure

◆ Velocity

template<size_t TDim, size_t TNumNodes, bool TElementIntegratesInTime = false>
NodalVectorData Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >::Velocity

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