![]() |
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 |