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

#include <two_fluid_navier_stokes_data.h>

Inheritance diagram for Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >:
Collaboration diagram for Kratos::TwoFluidNavierStokesData< 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 ShapeDerivativesType = typename FluidElementData< TDim, TNumNodes, true >::ShapeDerivativesType
 
using MatrixRowType = typename FluidElementData< TDim, TNumNodes, true >::MatrixRowType
 
typedef Geometry< NodeGeometryType
 
typedef GeometryType::ShapeFunctionsGradientsType ShapeFunctionsGradientsType
 
- 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 MeshVelocity
 
NodalVectorData BodyForce
 
NodalScalarData Pressure
 
NodalScalarData Distance
 
NodalScalarData NodalDensity
 
NodalScalarData NodalDynamicViscosity
 
double Density
 
double DynamicViscosity
 
double DeltaTime
 
double DynamicTau
 
double SmagorinskyConstant
 
double LinearDarcyCoefficient
 
double NonLinearDarcyCoefficient
 
double DarcyTerm
 
double VolumeError
 
double bdf0
 
double bdf1
 
double bdf2
 
BoundedMatrix< double, TNumNodes *(TDim+1), TNumNodes *(TDim+1)> lhs
 
array_1d< double, TNumNodes *(TDim+1)> rhs
 
BoundedMatrix< double, TNumNodes *(TDim+1), TNumNodes > V
 
BoundedMatrix< double, TNumNodes, TNumNodes *(TDim+1)> H
 
BoundedMatrix< double, TNumNodes, TNumNodes > Kee
 
array_1d< double, TNumNodes > rhs_ee
 
double ElementSize
 
Matrix N_pos_side
 
Matrix N_neg_side
 
ShapeFunctionsGradientsType DN_DX_pos_side
 
ShapeFunctionsGradientsType DN_DX_neg_side
 
BoundedMatrix< double, TNumNodes, TNumNodes > Enr_Pos_Interp
 
BoundedMatrix< double, TNumNodes, TNumNodes > Enr_Neg_Interp
 
Vector w_gauss_pos_side
 
Vector w_gauss_neg_side
 
ShapeFunctionsType Nenr
 
ShapeDerivativesType DN_DXenr
 
size_t NumPositiveNodes
 
size_t NumNegativeNodes
 
unsigned int NumberOfDivisions
 
- 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 (unsigned int IntegrationPointIndex, double NewWeight, const MatrixRowType &rN, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX) override
 
void UpdateGeometryValues (unsigned int IntegrationPointIndex, double NewWeight, const MatrixRowType &rN, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX, const MatrixRowType &rNenr, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DXenr)
 
bool IsCut ()
 
bool IsAir ()
 
void CalculateAirMaterialResponse ()
 
void ComputeStrain ()
 
double ComputeStrainNorm ()
 
void CalculateDensityAtGaussPoint ()
 
void CalculateEffectiveViscosityAtGaussPoint ()
 
void ComputeDarcyTerm ()
 
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

◆ GeometryType

template<size_t TDim, size_t TNumNodes>
typedef Geometry<Node> Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::GeometryType

◆ MatrixRowType

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

◆ NodalScalarData

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

◆ NodalVectorData

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

◆ ShapeDerivativesType

template<size_t TDim, size_t TNumNodes>
using Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::ShapeDerivativesType = typename FluidElementData<TDim, TNumNodes, true>::ShapeDerivativesType

◆ ShapeFunctionsGradientsType

template<size_t TDim, size_t TNumNodes>
typedef GeometryType::ShapeFunctionsGradientsType Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::ShapeFunctionsGradientsType

◆ ShapeFunctionsType

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

Member Function Documentation

◆ CalculateAirMaterialResponse()

template<size_t TDim, size_t TNumNodes>
void Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::CalculateAirMaterialResponse ( )
inline

◆ CalculateDensityAtGaussPoint()

template<size_t TDim, size_t TNumNodes>
void Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::CalculateDensityAtGaussPoint ( )
inline

◆ CalculateEffectiveViscosityAtGaussPoint()

template<size_t TDim, size_t TNumNodes>
void Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::CalculateEffectiveViscosityAtGaussPoint ( )
inline

◆ Check()

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

◆ ComputeDarcyTerm()

template<size_t TDim, size_t TNumNodes>
void Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::ComputeDarcyTerm ( )
inline

◆ ComputeStrain()

template<size_t TDim, size_t TNumNodes>
void Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::ComputeStrain ( )
inline

◆ ComputeStrainNorm()

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::ComputeStrainNorm ( )
inline

◆ Initialize()

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

◆ IsAir()

template<size_t TDim, size_t TNumNodes>
bool Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::IsAir ( )
inline

◆ IsCut()

template<size_t TDim, size_t TNumNodes>
bool Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::IsCut ( )
inline

◆ UpdateGeometryValues() [1/2]

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

◆ UpdateGeometryValues() [2/2]

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

Member Data Documentation

◆ bdf0

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

◆ bdf1

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

◆ bdf2

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

◆ BodyForce

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

◆ DarcyTerm

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::DarcyTerm

◆ DeltaTime

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

◆ Density

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

◆ Distance

template<size_t TDim, size_t TNumNodes>
NodalScalarData Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::Distance

◆ DN_DX_neg_side

template<size_t TDim, size_t TNumNodes>
ShapeFunctionsGradientsType Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::DN_DX_neg_side

◆ DN_DX_pos_side

template<size_t TDim, size_t TNumNodes>
ShapeFunctionsGradientsType Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::DN_DX_pos_side

◆ DN_DXenr

template<size_t TDim, size_t TNumNodes>
ShapeDerivativesType Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::DN_DXenr

◆ DynamicTau

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

◆ DynamicViscosity

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

◆ ElementSize

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

◆ Enr_Neg_Interp

template<size_t TDim, size_t TNumNodes>
BoundedMatrix<double,TNumNodes,TNumNodes> Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::Enr_Neg_Interp

◆ Enr_Pos_Interp

template<size_t TDim, size_t TNumNodes>
BoundedMatrix<double,TNumNodes,TNumNodes> Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::Enr_Pos_Interp

◆ H

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

◆ Kee

template<size_t TDim, size_t TNumNodes>
BoundedMatrix<double, TNumNodes, TNumNodes> Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::Kee

◆ lhs

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

◆ LinearDarcyCoefficient

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::LinearDarcyCoefficient

◆ MeshVelocity

template<size_t TDim, size_t TNumNodes>
NodalVectorData Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::MeshVelocity

◆ N_neg_side

template<size_t TDim, size_t TNumNodes>
Matrix Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::N_neg_side

◆ N_pos_side

template<size_t TDim, size_t TNumNodes>
Matrix Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::N_pos_side

◆ Nenr

template<size_t TDim, size_t TNumNodes>
ShapeFunctionsType Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::Nenr

◆ NodalDensity

template<size_t TDim, size_t TNumNodes>
NodalScalarData Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NodalDensity

◆ NodalDynamicViscosity

template<size_t TDim, size_t TNumNodes>
NodalScalarData Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NodalDynamicViscosity

◆ NonLinearDarcyCoefficient

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NonLinearDarcyCoefficient

◆ NumberOfDivisions

template<size_t TDim, size_t TNumNodes>
unsigned int Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NumberOfDivisions

◆ NumNegativeNodes

template<size_t TDim, size_t TNumNodes>
size_t Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NumNegativeNodes

◆ NumPositiveNodes

template<size_t TDim, size_t TNumNodes>
size_t Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::NumPositiveNodes

◆ Pressure

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

◆ rhs

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

◆ rhs_ee

template<size_t TDim, size_t TNumNodes>
array_1d<double, TNumNodes> Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::rhs_ee

◆ SmagorinskyConstant

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::SmagorinskyConstant

◆ V

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

◆ Velocity

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

◆ Velocity_OldStep1

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

◆ Velocity_OldStep2

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

◆ VolumeError

template<size_t TDim, size_t TNumNodes>
double Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::VolumeError

◆ w_gauss_neg_side

template<size_t TDim, size_t TNumNodes>
Vector Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::w_gauss_neg_side

◆ w_gauss_pos_side

template<size_t TDim, size_t TNumNodes>
Vector Kratos::TwoFluidNavierStokesData< TDim, TNumNodes >::w_gauss_pos_side

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