oomph::NicosConstitutiveEquation< DIM > Class Template Reference

#include <generalised_newtonian_constitutive_models.h>

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

Public Member Functions

 NicosConstitutiveEquation (double *mu_inf_pt, double *mu_0_pt, double *alpha_pt)
 
double viscosity (const double &second_invariant_of_rate_of_strain_tensor)
 
double dviscosity_dinvariant (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...
 

Private Attributes

doubleMu_inf_pt
 high shear rate viscosity More...
 
doubleMu_0_pt
 zero shear rate viscosity More...
 
doubleAlpha_pt
 parameter that controls the steepness of the curve More...
 

Detailed Description

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

A GeneralisedNewtonianConstitutiveEquation class defining an arbitrary shear-thinning fluid

Constructor & Destructor Documentation

◆ NicosConstitutiveEquation()

template<unsigned DIM>
oomph::NicosConstitutiveEquation< DIM >::NicosConstitutiveEquation ( double mu_inf_pt,
double mu_0_pt,
double alpha_pt 
)
inline
1109  : GeneralisedNewtonianConstitutiveEquation<DIM>(),
1110  Mu_inf_pt(mu_inf_pt),
1111  Mu_0_pt(mu_0_pt),
1112  Alpha_pt(alpha_pt)
1113  {
1114  }
double * Mu_0_pt
zero shear rate viscosity
Definition: generalised_newtonian_constitutive_models.h:1099
double * Alpha_pt
parameter that controls the steepness of the curve
Definition: generalised_newtonian_constitutive_models.h:1102
double * Mu_inf_pt
high shear rate viscosity
Definition: generalised_newtonian_constitutive_models.h:1096

Member Function Documentation

◆ dviscosity_dinvariant()

template<unsigned DIM>
double oomph::NicosConstitutiveEquation< DIM >::dviscosity_dinvariant ( const double second_invariant_of_rate_of_strain_tensor)
inlinevirtual

Function returning the derivative of the viscosity w.r.t. the second invariant of the rate of strain tensor For Newtonian behaviour this returns 0.0

Implements oomph::GeneralisedNewtonianConstitutiveEquation< DIM >.

1125  {
1126  // std::ostringstream error_stream;
1127  // error_stream << "This has not been implemented yet!";
1128  // throw OomphLibError(
1129  // error_stream.str(),
1130  // OOMPH_CURRENT_FUNCTION,
1131  // OOMPH_EXCEPTION_LOCATION);
1132 
1133  // return 0.0;
1134 
1135  return (*Alpha_pt) * ((*Mu_inf_pt) - (*Mu_0_pt)) *
1136  exp(-(*Alpha_pt) * second_invariant_of_rate_of_strain_tensor);
1137  }
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615

References oomph::NicosConstitutiveEquation< DIM >::Alpha_pt, and Eigen::bfloat16_impl::exp().

◆ viscosity()

template<unsigned DIM>
double oomph::NicosConstitutiveEquation< 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 >.

1117  {
1118  return (*Mu_inf_pt) +
1119  ((*Mu_0_pt) - (*Mu_inf_pt)) *
1120  exp(-(*Alpha_pt) * second_invariant_of_rate_of_strain_tensor);
1121  }

References oomph::NicosConstitutiveEquation< DIM >::Alpha_pt, Eigen::bfloat16_impl::exp(), and oomph::NicosConstitutiveEquation< DIM >::Mu_inf_pt.

Member Data Documentation

◆ Alpha_pt

template<unsigned DIM>
double* oomph::NicosConstitutiveEquation< DIM >::Alpha_pt
private

◆ Mu_0_pt

template<unsigned DIM>
double* oomph::NicosConstitutiveEquation< DIM >::Mu_0_pt
private

zero shear rate viscosity

◆ Mu_inf_pt

template<unsigned DIM>
double* oomph::NicosConstitutiveEquation< DIM >::Mu_inf_pt
private

high shear rate viscosity

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


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