#include <bingham_fluid.h>
|
|
double | EffectiveViscosity (double Density, const TShapeFunctionValues &rN, const TShapeFunctionGradients &rDN_DX, double ElemSize, const ProcessInfo &rProcessInfo) override |
| EffectiveViscosity Calculate the effective viscosity at given integration point using the Bingham constitutive model. More...
|
|
◆ DofsArrayType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ DofsVectorType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ EquationIdVectorType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ GeometryType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Geometry type (using with given NodeType)
◆ IndexType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ MatrixType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Matrix type for local contributions to the linear system.
◆ NodesArrayType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Definition of nodes container type, redefined from GeometryType.
◆ NodeType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ PropertiesType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ ShapeFunctionDerivativesArrayType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Type for an array of shape function gradient matrices.
◆ ShapeFunctionDerivativesType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Type for a matrix containing the shape function gradients.
◆ ShapeFunctionsType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Type for shape function values container.
◆ SizeType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ VectorType
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Vector type for local contributions to the linear system.
◆ BinghamFluid() [1/4]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Default constuctor.
- Parameters
-
NewId | Index number of the new element (optional) |
◆ BinghamFluid() [2/4]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Constructor using an array of nodes.
- Parameters
-
NewId | Index of the new element |
ThisNodes | An array containing the nodes of the new element |
◆ BinghamFluid() [3/4]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Constructor using a geometry object.
- Parameters
-
NewId | Index of the new element |
pGeometry | Pointer to a geometry object |
◆ BinghamFluid() [4/4]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Constuctor using geometry and properties.
- Parameters
-
NewId | Index of the new element |
pGeometry | Pointer to a geometry object |
pProperties | Pointer to the element's properties |
◆ ~BinghamFluid()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
◆ Create() [1/2]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Element::Pointer Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::Create |
( |
IndexType |
NewId, |
|
|
GeometryType::Pointer |
pGeom, |
|
|
PropertiesType::Pointer |
pProperties |
|
) |
| const |
|
inlineoverride |
Create a new element of this type.
- Parameters
-
NewId | Index of the new element |
pGeom | A pointer to the geometry of the new element |
pProperties | Pointer to the element's properties |
◆ Create() [2/2]
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Create a new element of this type.
Returns a pointer to a new element, created using given input
- Parameters
-
NewId | the ID of the new element |
ThisNodes | the nodes of the new element |
pProperties | the properties assigned to the new element |
- Returns
- a Pointer to the new element
◆ EffectiveViscosity()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
double Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::EffectiveViscosity |
( |
double |
Density, |
|
|
const TShapeFunctionValues & |
rN, |
|
|
const TShapeFunctionGradients & |
rDN_DX, |
|
|
double |
ElemSize, |
|
|
const ProcessInfo & |
rProcessInfo |
|
) |
| |
|
inlineoverrideprotected |
EffectiveViscosity Calculate the effective viscosity at given integration point using the Bingham constitutive model.
The Bingham model is implemented here using a regularized formulation, as the viscosity should be infite while the stress is smaller than the yield stress. The implemented constitutive relation is
stress(i,j) = ( mu + ( 1 - exp(-m*gamma_dot) )* yield_stress / gamma_dot ) * strain_rate(i,j)
where gamma_dot is the second invariant of the strain rate (2*SijSij)^0.5 and m is a regularization coefficient. For details on the formulation see the phd thesis of A. Larese, "A coupled Eulerian-PFEM model for the simulation of
overtopping in rockfill dams" (2012) Universitat Politecnica de Catalunya.
mu is interpolated from the nodal VISCOSITY values, yield_stress and m are read from rProcessInfo values YIELD_STRESS and REGULARIZATION_COEFFICIENT respectively.
- Note
- This assumes that the underlying fluid element provides EquivalentStrainRate(rDN_DX) and EvaluateInPoint(value,VARIABLE,rN) methods.
- Parameters
-
Density | The fluid's density at the integration point. |
rN | Nodal shape functions evaluated at the integration points (area coordinates for the point). |
rDN_DX | Shape function derivatives at the integration point. |
ElemSize | Representative length of the element (unused for Bingham). |
rProcessInfo | ProcessInfo instance passed from the ModelPart, containing additional data |
- Returns
- The effective viscosity, in dynamic units (Pa*s or equivalent).
◆ Info()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
std::string Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::Info |
( |
| ) |
const |
|
inlineoverride |
Turn back information as a string.
◆ KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION |
( |
BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients > |
| ) |
|
◆ PrintData()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
void Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::PrintData |
( |
std::ostream & |
rOStream | ) |
const |
|
inlineoverride |
◆ PrintInfo()
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
void Kratos::BinghamFluid< TBaseElement, TShapeFunctionValues, TShapeFunctionGradients >::PrintInfo |
( |
std::ostream & |
rOStream | ) |
const |
|
inlineoverride |
Print information about this object.
◆ Serializer
template<class TBaseElement , class TShapeFunctionValues = typename TBaseElement::ShapeFunctionsType, class TShapeFunctionGradients = typename TBaseElement::ShapeFunctionDerivativesType>
The documentation for this class was generated from the following file:
- /home/runner/work/Documentation/Documentation/master/applications/FluidDynamicsApplication/custom_elements/bingham_fluid.h