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 for data containers used within FluidElement and derived types. More...
#include <fluid_element_data.h>
Public Member Functions | |
Life Cycle | |
FluidElementData () | |
Default constructor. More... | |
virtual | ~FluidElementData () |
Destructor. More... | |
FluidElementData & | operator= (FluidElementData const &rOther)=delete |
(deleted) assignment operator. More... | |
FluidElementData (FluidElementData const &rOther)=delete | |
(deleted) copy constructor. More... | |
Public Attributes | |
Public Members | |
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... | |
Protected Member Functions | |
Protected Operations | |
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) |
Type Definitions | |
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 > |
constexpr static unsigned int | Dim = TDim |
Physical space dimension for the problem. More... | |
constexpr static unsigned int | NumNodes = TNumNodes |
Number of nodes of the element. More... | |
constexpr static unsigned int | StrainSize = (TDim-1)*3 |
Size of the strain and stress vectors (in Voigt notation) for the formulation. More... | |
constexpr static bool | ElementManagesTimeIntegration = TElementIntegratesInTime |
This lets FluidElement know wether this element requires an external time scheme or not. More... | |
Public Operations | |
virtual void | Initialize (const Element &rElement, const ProcessInfo &rProcessInfo) |
virtual void | UpdateGeometryValues (unsigned int IntegrationPointIndex, double NewWeight, const MatrixRowType &rN, const ShapeDerivativesType &rDN_DX) |
static int | Check (const Element &rElement, const ProcessInfo &rProcessInfo) |
Base class for data containers used within FluidElement and derived types.
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::MatrixRowType = MatrixRow< Matrix > |
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::NodalScalarData = array_1d<double,TNumNodes> |
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::NodalTensorData = std::array<BoundedMatrix<double,TDim,TDim>,TNumNodes> |
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::NodalVectorData = BoundedMatrix<double,TNumNodes,TDim> |
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::ShapeDerivativesType = BoundedMatrix<double,TNumNodes,TDim> |
using Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::ShapeFunctionsType = array_1d<double,TNumNodes> |
Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::FluidElementData |
Default constructor.
|
virtual |
Destructor.
|
delete |
(deleted) copy constructor.
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Reimplemented in Kratos::WeaklyCompressibleNavierStokesData< TDim, TNumNodes >, Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >, Kratos::TwoFluidNavierStokesAlphaMethodData< TDim, TNumNodes >, Kratos::TimeIntegratedQSVMSData< TDim, TNumNodes >, Kratos::TimeIntegratedFICData< TDim, TNumNodes >, Kratos::SymbolicStokesData< TDim, TNumNodes >, Kratos::QSVMSDEMCoupledData< TDim, TNumNodes, TElementIntegratesInTime >, Kratos::QSVMSData< TDim, TNumNodes, TElementIntegratesInTime >, Kratos::QSVMSData< TDim, TNumNodes, true >, Kratos::QSVMSData< TDim, TNumNodes, false >, Kratos::FICData< TDim, TNumNodes, TElementIntegratesInTime >, Kratos::FICData< TDim, TNumNodes, true >, and Kratos::AxisymmetricNavierStokesData< TDim, TNumNodes >.
|
delete |
(deleted) assignment operator.
|
virtual |
Matrix Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::C |
Constitutive tensor C (expressed as a Matrix).
It is calculated by the constitutive law in FluidElement::ComputeMaterialResponse.
ConstitutiveLaw::Parameters Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::ConstitutiveLawValues |
Constitutive law configuration (stored here to avoid re-initialization within the element).
|
staticconstexpr |
Physical space dimension for the problem.
ShapeDerivativesType Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::DN_DX |
double Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::EffectiveViscosity |
Effective viscosity (in dynamic units) produced by the constitutive law.
|
staticconstexpr |
This lets FluidElement know wether this element requires an external time scheme or not.
unsigned int Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::IntegrationPointIndex |
ShapeFunctionsType Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::N |
|
staticconstexpr |
Number of nodes of the element.
Vector Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::ShearStress |
Shear stress vector in Voigt notation.
It is calculated by the constitutive law in FluidElement::ComputeMaterialResponse.
Vector Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::StrainRate |
Strain rate (symmetric gradient of velocity) vector in Voigt notation.
It is calculated by the constitutive law in FluidElement::ComputeMaterialResponse.
|
staticconstexpr |
Size of the strain and stress vectors (in Voigt notation) for the formulation.
double Kratos::FluidElementData< TDim, TNumNodes, TElementIntegratesInTime >::Weight |