![]() |
|
#include <generalised_newtonian_constitutive_models.h>
Public Member Functions | |
HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation (double *yield_stress_pt, double *flow_index_pt, double *critical_second_invariant_pt) | |
"Cutoff regularised" Herschel Bulkley constitutive equation More... | |
double | calculate_cutoff_viscosity () |
double | calculate_zero_shear_viscosity () |
Function that calculates the viscosity at zero I2. More... | |
void | report_cut_off_values (double &cut_off_invariant, double &cut_off_viscosity, double &zero_shear_viscosity) |
Report cutoff values. More... | |
double | viscosity (const double &second_invariant_of_rate_of_strain_tensor) |
Viscosity ratio as a fct of strain rate invariant. More... | |
double | dviscosity_dinvariant (const double &second_invariant_of_rate_of_strain_tensor) |
Deriv of viscosity w.r.t. strain rate invariant. More... | |
![]() | |
GeneralisedNewtonianConstitutiveEquation () | |
Empty constructor. More... | |
virtual | ~GeneralisedNewtonianConstitutiveEquation () |
Empty virtual destructor. More... | |
Private Attributes | |
double * | Yield_stress_pt |
yield stress tau_y More... | |
double * | Flow_index_pt |
power law index n More... | |
double * | Critical_second_invariant_pt |
double | a |
double | b |
double | c |
double | alpha |
A GeneralisedNewtonianConstitutiveEquation class defining a Herschel-Bulkley fluid using Tanner and Milthorpe's (1983) regularisation with a smooth transition using a quadratic
|
inline |
"Cutoff regularised" Herschel Bulkley constitutive equation
Blend over one order of magnitude
Calculate the coefficients of the quadratic equation
get the cutoff viscosity
get the zero shear viscosity
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::a, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::alpha, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::b, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::c, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_cutoff_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt, boost::multiprecision::fabs(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Flow_index_pt, oomph::oomph_info, Eigen::bfloat16_impl::pow(), and sqrt().
|
inline |
Function that calculates the viscosity at the cutoff invariant Note: this is NOT the viscosity at zero I2
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt, boost::multiprecision::fabs(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Flow_index_pt, max, Eigen::bfloat16_impl::pow(), sqrt(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Yield_stress_pt.
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::report_cut_off_values().
|
inline |
Function that calculates the viscosity at zero I2.
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::a, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::alpha, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::b, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::c, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_cutoff_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt, boost::multiprecision::fabs(), max, and Eigen::bfloat16_impl::pow().
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::report_cut_off_values(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
inlinevirtual |
Deriv of viscosity w.r.t. strain rate invariant.
Implements oomph::GeneralisedNewtonianConstitutiveEquation< DIM >.
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::a, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::alpha, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::b, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt, boost::multiprecision::fabs(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Flow_index_pt, and Eigen::bfloat16_impl::pow().
|
inline |
Report cutoff values.
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_cutoff_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt.
|
inlinevirtual |
Viscosity ratio as a fct of strain rate invariant.
Implements oomph::GeneralisedNewtonianConstitutiveEquation< DIM >.
References oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::a, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::alpha, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::b, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::c, oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Critical_second_invariant_pt, boost::multiprecision::fabs(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Flow_index_pt, Eigen::bfloat16_impl::pow(), sqrt(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::Yield_stress_pt.
|
private |
We use a quadratic function to smoothly blend from the Herschel Bulkley model at the cut-off to a constant viscosity as the strain rate /approaches zero; this way we avoid the discontinuity of the gradient at the cut-off, which is present in the classic Tanner Milthorpe regularisation
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::dviscosity_dinvariant(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |
Fraction of the cut-off strain rate below which the viscosity is constant 0 <= \alpha < 1
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::dviscosity_dinvariant(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::dviscosity_dinvariant(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |
value of the second invariant below which we have constant (Newtonian) viscosity – assumed to be always positive
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_cutoff_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_zero_shear_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::dviscosity_dinvariant(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::report_cut_off_values(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |
power law index n
Referenced by oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::calculate_cutoff_viscosity(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::dviscosity_dinvariant(), oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation(), and oomph::HerschelBulkleyTanMilRegWithBlendingConstitutiveEquation< DIM >::viscosity().
|
private |