oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM > Class Template Reference

#include <generalised_newtonian_constitutive_models.h>

+ Inheritance diagram for oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >:

Public Member Functions

 HerschelBulkleyPapRegConstitutiveEquation (double *yield_stress_pt, double *flow_index_pt, double *exponential_parameter_pt)
 
double viscosity (const double &second_invariant_of_rate_of_strain_tensor)
 
- Public Member Functions inherited from oomph::GeneralisedNewtonianConstitutiveEquation< DIM >
 GeneralisedNewtonianConstitutiveEquation ()
 Empty constructor. More...
 
virtual ~GeneralisedNewtonianConstitutiveEquation ()
 Empty virtual destructor. More...
 
virtual double dviscosity_dinvariant (const double &second_invariant_of_rate_of_strain_tensor)=0
 

Private Attributes

doubleYield_stress_pt
 Yield stress tau_y. More...
 
doubleFlow_index_pt
 Power law index n. More...
 
doubleExponential_parameter_pt
 Regularisation parameter m >> 1. More...
 

Detailed Description

template<unsigned DIM>
class oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >

A GeneralisedNewtonianConstitutiveEquation class defining a Herschel-Bulkley fluid using Papanastasiou's (1987) regularisation

Constructor & Destructor Documentation

◆ HerschelBulkleyPapRegConstitutiveEquation()

template<unsigned DIM>
oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::HerschelBulkleyPapRegConstitutiveEquation ( double yield_stress_pt,
double flow_index_pt,
double exponential_parameter_pt 
)
inline
544  : GeneralisedNewtonianConstitutiveEquation<DIM>(),
545  Yield_stress_pt(yield_stress_pt),
546  Flow_index_pt(flow_index_pt),
547  Exponential_parameter_pt(exponential_parameter_pt)
548  {
549  }
double * Flow_index_pt
Power law index n.
Definition: generalised_newtonian_constitutive_models.h:534
double * Exponential_parameter_pt
Regularisation parameter m >> 1.
Definition: generalised_newtonian_constitutive_models.h:537
double * Yield_stress_pt
Yield stress tau_y.
Definition: generalised_newtonian_constitutive_models.h:531

Member Function Documentation

◆ viscosity()

template<unsigned DIM>
double oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::viscosity ( const double second_invariant_of_rate_of_strain_tensor)
inlinevirtual

Function implementing the constitutive model Input: second invariant of the rate of strain Output: the viscosity For Newtonian behaviour this returns 1

Implements oomph::GeneralisedNewtonianConstitutiveEquation< DIM >.

552  {
553  // Calculate magnitude of the rate of strain tensor
554  double measure_of_rate_of_strain =
555  sqrt(std::fabs(second_invariant_of_rate_of_strain_tensor));
556 
557  return (1.0 - exp(-2.0 * (*Exponential_parameter_pt) *
558  measure_of_rate_of_strain)) /
559  (2.0 * measure_of_rate_of_strain) * (*Yield_stress_pt) +
560  (1.0 - exp(-2.0 * (*Exponential_parameter_pt) *
561  measure_of_rate_of_strain)) /
562  (2.0 * measure_of_rate_of_strain) *
563  pow((2.0 * measure_of_rate_of_strain), *Flow_index_pt);
564  }
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
Real fabs(const Real &a)
Definition: boostmultiprec.cpp:117

References Eigen::bfloat16_impl::exp(), oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Exponential_parameter_pt, boost::multiprecision::fabs(), oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Flow_index_pt, Eigen::bfloat16_impl::pow(), sqrt(), and oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Yield_stress_pt.

Member Data Documentation

◆ Exponential_parameter_pt

template<unsigned DIM>
double* oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Exponential_parameter_pt
private

Regularisation parameter m >> 1.

Referenced by oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::viscosity().

◆ Flow_index_pt

template<unsigned DIM>
double* oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Flow_index_pt
private

◆ Yield_stress_pt

template<unsigned DIM>
double* oomph::HerschelBulkleyPapRegConstitutiveEquation< DIM >::Yield_stress_pt
private

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