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.
Classes | List of all members
Kratos::QSVMSResidualDerivatives< TDim, TNumNodes > Class Template Reference

Computes the QSVMS residual derivatives. More...

#include <qs_vms_residual_derivatives.h>

Collaboration diagram for Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >:

Classes

class  QSVMSResidualData
 
class  ResidualsContributions
 Computes residual contributions. More...
 
class  SecondDerivatives
 Computes second derivatives of the QS VMS residual. More...
 
class  VariableDerivatives
 Computes QS VMS residual derivative residuals for given variable. More...
 

Static Public Member Functions

Static Operations
static void Check (const Element &rElement, const ProcessInfo &rProcessInfo)
 
static GeometryData::IntegrationMethod GetIntegrationMethod ()
 
static double CalculateNormDerivative (const double ValueNorm, const Vector &Value, const Vector &ValueDerivative)
 
static void CalculateTau (double &TauOne, double &TauTwo, const double ElementSize, const double Density, const double Viscosity, const double VelocityNorm, const double DynamicTau, const double DeltaTime)
 
static void CalculateTauDerivative (double &TauOneDerivative, double &TauTwoDerivative, const double TauOne, const double Density, const double DynamicTau, const double DeltaTime, const double ElementSize, const double ElementSizeDerivative, const double Viscosity, const double ViscosityDerivative, const double VelocityNorm, const double VelocityNormDerivative)
 
static void InitializeConstitutiveLaw (ConstitutiveLaw::Parameters &rParameters, Vector &rStrainVector, Vector &rStressVector, Matrix &rConstitutiveMatrix, const GeometryType &rGeometry, const PropertiesType &rProperties, const ProcessInfo &rProcessInfo)
 

Type Definitions

using IndexType = std::size_t
 
using NodeType = Node
 
using GeometryType = Geometry< NodeType >
 
using PropertiesType = typename Element::PropertiesType
 
using ArrayD = array_1d< double, TDim >
 
using VectorN = BoundedVector< double, TNumNodes >
 
using VectorF = BoundedVector< double, TElementLocalSize >
 
using MatrixDD = BoundedMatrix< double, TDim, TDim >
 
using MatrixND = BoundedMatrix< double, TNumNodes, TDim >
 
static constexpr IndexType TBlockSize = TDim + 1
 
constexpr static IndexType TStrainSize = (TDim - 1) * 3
 Size of the strain and stress vectors (in Voigt notation) for the formulation. More...
 
constexpr static IndexType TElementLocalSize = TBlockSize * TNumNodes
 
constexpr static IndexType TNN = TNumNodes
 

Detailed Description

template<unsigned int TDim, unsigned int TNumNodes>
class Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >

Computes the QSVMS residual derivatives.

This class holds sub-classes which are required to compute QSVMS residual derivatives with respect to given variables.

Template Parameters
TDim
TNumNodes

Member Typedef Documentation

◆ ArrayD

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::ArrayD = array_1d<double, TDim>

◆ GeometryType

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::GeometryType = Geometry<NodeType>

◆ IndexType

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::IndexType = std::size_t

◆ MatrixDD

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::MatrixDD = BoundedMatrix<double, TDim, TDim>

◆ MatrixND

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::MatrixND = BoundedMatrix<double, TNumNodes, TDim>

◆ NodeType

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::NodeType = Node

◆ PropertiesType

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::PropertiesType = typename Element::PropertiesType

◆ VectorF

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::VectorF = BoundedVector<double, TElementLocalSize>

◆ VectorN

template<unsigned int TDim, unsigned int TNumNodes>
using Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::VectorN = BoundedVector<double, TNumNodes>

Member Function Documentation

◆ CalculateNormDerivative()

template<unsigned int TDim, unsigned int TNumNodes>
double Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::CalculateNormDerivative ( const double  ValueNorm,
const Vector Value,
const Vector ValueDerivative 
)
static

◆ CalculateTau()

template<unsigned int TDim, unsigned int TNumNodes>
void Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::CalculateTau ( double TauOne,
double TauTwo,
const double  ElementSize,
const double  Density,
const double  Viscosity,
const double  VelocityNorm,
const double  DynamicTau,
const double  DeltaTime 
)
static

◆ CalculateTauDerivative()

template<unsigned int TDim, unsigned int TNumNodes>
void Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::CalculateTauDerivative ( double TauOneDerivative,
double TauTwoDerivative,
const double  TauOne,
const double  Density,
const double  DynamicTau,
const double  DeltaTime,
const double  ElementSize,
const double  ElementSizeDerivative,
const double  Viscosity,
const double  ViscosityDerivative,
const double  VelocityNorm,
const double  VelocityNormDerivative 
)
static

◆ Check()

template<unsigned int TDim, unsigned int TNumNodes>
void Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::Check ( const Element rElement,
const ProcessInfo rProcessInfo 
)
static

◆ GetIntegrationMethod()

template<unsigned int TDim, unsigned int TNumNodes>
GeometryData::IntegrationMethod Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::GetIntegrationMethod
static

◆ InitializeConstitutiveLaw()

template<unsigned int TDim, unsigned int TNumNodes>
void Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::InitializeConstitutiveLaw ( ConstitutiveLaw::Parameters rParameters,
Vector rStrainVector,
Vector rStressVector,
Matrix rConstitutiveMatrix,
const GeometryType rGeometry,
const PropertiesType rProperties,
const ProcessInfo rProcessInfo 
)
static

Member Data Documentation

◆ TBlockSize

template<unsigned int TDim, unsigned int TNumNodes>
constexpr IndexType Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::TBlockSize = TDim + 1
staticconstexpr

◆ TElementLocalSize

template<unsigned int TDim, unsigned int TNumNodes>
constexpr static IndexType Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::TElementLocalSize = TBlockSize * TNumNodes
staticconstexpr

◆ TNN

template<unsigned int TDim, unsigned int TNumNodes>
constexpr static IndexType Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::TNN = TNumNodes
staticconstexpr

◆ TStrainSize

template<unsigned int TDim, unsigned int TNumNodes>
constexpr static IndexType Kratos::QSVMSResidualDerivatives< TDim, TNumNodes >::TStrainSize = (TDim - 1) * 3
staticconstexpr

Size of the strain and stress vectors (in Voigt notation) for the formulation.


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