51 template <
unsigned int TDim>
67 std::vector<const Variable<double>*>
83 const Matrix& rNodalVelocity,
99 template<
unsigned int TComponentIndex = 0>
118 const double WDerivative,
119 const double DetJDerivative,
120 const Matrix& rdNdXDerivative);
155 template<
unsigned int TNumNodes,
unsigned int TComponentIndex>
182 const double WDerivative,
183 const double DetJDerivative,
184 const Matrix& rdNdXDerivative)
185 :
BaseType(NodeIndex, rGeometry, W, rN, rdNdX, WDerivative, DetJDerivative, rdNdXDerivative)
201 const Matrix& rNodalVelocity)
const;
214 template<
unsigned int TNumNodes>
241 const double WDerivative,
242 const double DetJDerivative,
243 const Matrix& rdNdXDerivative)
244 :
BaseType(NodeIndex, rGeometry, W, rN, rdNdX, WDerivative, DetJDerivative, rdNdXDerivative)
260 const Matrix& rNodalVelocity)
const;
274 template<
unsigned int TNumNodes,
unsigned int TComponentIndex>
301 const double WDerivative,
302 const double DetJDerivative,
303 const Matrix& rdNdXDerivative)
304 :
BaseType(NodeIndex, rGeometry, W, rN, rdNdX, WDerivative, DetJDerivative, rdNdXDerivative)
320 const Matrix& rNodalVelocity)
const;
330 static void CalculateStrainRateVelocityDerivative(
333 const IndexType DerivativeDirectionIndex,
Geometry base class.
Definition: geometry.h:71
This class defines the node.
Definition: node.h:65
Base class for Derivatives.
Definition: qs_vms_derivative_utilities.h:101
const double mWDerivative
Definition: qs_vms_derivative_utilities.h:139
DependentVariablesListType GetEffectiveViscosityDependentVariables() const
Definition: qs_vms_derivative_utilities.h:126
static constexpr IndexType ComponentIndex
Definition: qs_vms_derivative_utilities.h:106
Derivative(const IndexType NodeIndex, const GeometryType &rGeometry, const double W, const Vector &rN, const Matrix &rdNdX, const double WDerivative, const double DetJDerivative, const Matrix &rdNdXDerivative)
Definition: qs_vms_derivative_utilities.cpp:217
const Matrix & mrdNdXDerivative
Definition: qs_vms_derivative_utilities.h:141
const double mW
Definition: qs_vms_derivative_utilities.h:136
const IndexType mNodeIndex
Definition: qs_vms_derivative_utilities.h:134
const GeometryType & mrGeometry
Definition: qs_vms_derivative_utilities.h:135
const Vector & mrN
Definition: qs_vms_derivative_utilities.h:137
const Matrix & mrdNdX
Definition: qs_vms_derivative_utilities.h:138
const double mDetJDerivative
Definition: qs_vms_derivative_utilities.h:140
Pressure derivative computation container.
Definition: qs_vms_derivative_utilities.h:216
static constexpr unsigned int TDerivativeDimension
Definition: qs_vms_derivative_utilities.h:229
const Variable< double > & GetDerivativeVariable() const
Definition: qs_vms_derivative_utilities.h:252
static constexpr double VelocityDerivativeFactor
Definition: qs_vms_derivative_utilities.h:225
array_1d< double, TDim > CalculateEffectiveVelocityDerivative(const array_1d< double, TDim > &rVelocity) const
Definition: qs_vms_derivative_utilities.cpp:310
static constexpr IndexType ComponentIndex
Definition: qs_vms_derivative_utilities.h:223
double CalculateElementLengthDerivative(const double ElementLength) const
Definition: qs_vms_derivative_utilities.cpp:319
PressureDerivative(const IndexType NodeIndex, const GeometryType &rGeometry, const double W, const Vector &rN, const Matrix &rdNdX, const double WDerivative, const double DetJDerivative, const Matrix &rdNdXDerivative)
Definition: qs_vms_derivative_utilities.h:235
void CalculateStrainRateDerivative(Vector &rOutput, const Matrix &rNodalVelocity) const
Definition: qs_vms_derivative_utilities.cpp:327
static constexpr double PressureDerivativeFactor
Definition: qs_vms_derivative_utilities.h:227
Shape derivative computation container.
Definition: qs_vms_derivative_utilities.h:276
static constexpr double PressureDerivativeFactor
Definition: qs_vms_derivative_utilities.h:287
double CalculateElementLengthDerivative(const double ElementLength) const
Definition: qs_vms_derivative_utilities.cpp:353
ShapeDerivative(const IndexType NodeIndex, const GeometryType &rGeometry, const double W, const Vector &rN, const Matrix &rdNdX, const double WDerivative, const double DetJDerivative, const Matrix &rdNdXDerivative)
Definition: qs_vms_derivative_utilities.h:295
void CalculateStrainRateDerivative(Vector &rOutput, const Matrix &rNodalVelocity) const
Definition: qs_vms_derivative_utilities.cpp:361
static constexpr unsigned int TDerivativeDimension
Definition: qs_vms_derivative_utilities.h:289
const Variable< double > & GetDerivativeVariable() const
Definition: qs_vms_derivative_utilities.cpp:336
static constexpr double VelocityDerivativeFactor
Definition: qs_vms_derivative_utilities.h:285
array_1d< double, TDim > CalculateEffectiveVelocityDerivative(const array_1d< double, TDim > &rVelocity) const
Definition: qs_vms_derivative_utilities.cpp:344
static constexpr IndexType ComponentIndex
Definition: qs_vms_derivative_utilities.h:283
Velocity derivative computation container.
Definition: qs_vms_derivative_utilities.h:157
array_1d< double, TDim > CalculateEffectiveVelocityDerivative(const array_1d< double, TDim > &rVelocity) const
Definition: qs_vms_derivative_utilities.cpp:282
VelocityDerivative(const IndexType NodeIndex, const GeometryType &rGeometry, const double W, const Vector &rN, const Matrix &rdNdX, const double WDerivative, const double DetJDerivative, const Matrix &rdNdXDerivative)
Definition: qs_vms_derivative_utilities.h:176
double CalculateElementLengthDerivative(const double ElementLength) const
Definition: qs_vms_derivative_utilities.cpp:292
static constexpr double PressureDerivativeFactor
Definition: qs_vms_derivative_utilities.h:168
const Variable< double > & GetDerivativeVariable() const
Definition: qs_vms_derivative_utilities.cpp:274
static constexpr IndexType ComponentIndex
Definition: qs_vms_derivative_utilities.h:164
void CalculateStrainRateDerivative(Vector &rOutput, const Matrix &rNodalVelocity) const
Definition: qs_vms_derivative_utilities.cpp:300
static constexpr unsigned int TDerivativeDimension
Definition: qs_vms_derivative_utilities.h:170
static constexpr double VelocityDerivativeFactor
Definition: qs_vms_derivative_utilities.h:166
These are helper classes to define derivatives of coefficients of Navier-Stokes.
Definition: qs_vms_derivative_utilities.h:53
std::vector< std::tuple< const Variable< double > &, std::vector< const Variable< double > * > > > DependentVariablesListType
Definition: qs_vms_derivative_utilities.h:69
std::array< const Variable< double > *, 9 > DerivativeGradientsArray
Definition: qs_vms_derivative_utilities.h:71
static const std::array< const Variable< double > *, TStrainSize > GetStrainRateVariables()
static void CalculateStrainRate(Vector &rOutput, const Matrix &rNodalVelocity, const Matrix &rdNdX)
std::size_t IndexType
Definition: qs_vms_derivative_utilities.h:62
constexpr static IndexType TStrainSize
Definition: qs_vms_derivative_utilities.h:73
std::size_t IndexType
The definition of the index type.
Definition: key_hash.h:35
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21