HerschelBulkley Class Reference

Herschel-Bulkley generalised Newtonian viscosity model. More...

Inheritance diagram for HerschelBulkley:
Collaboration diagram for HerschelBulkley:

Public Member Functions

 TypeName ("HerschelBulkley")
 Runtime type information. More...
 
 HerschelBulkley (const dictionary &viscosityProperties, const Foam::viscosity &viscosity, const volVectorField &U)
 Construct from components. More...
 
virtual ~HerschelBulkley ()
 Destructor. More...
 
virtual bool read (const dictionary &viscosityProperties)
 Read transportProperties dictionary. More...
 
virtual tmp< volScalarFieldnu (const volScalarField &nu0, const volScalarField &strainRate) const
 Return the laminar viscosity. More...
 
- Public Member Functions inherited from strainRateViscosityModel
 TypeName ("strainRateViscosityModel")
 Runtime type information. More...
 
 strainRateViscosityModel (const dictionary &viscosityProperties, const viscosity &viscosity, const volVectorField &U)
 Construct from components. More...
 
 strainRateViscosityModel (const strainRateViscosityModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~strainRateViscosityModel ()
 Destructor. More...
 
virtual tmp< volScalarFieldnu () const
 Return the laminar viscosity. More...
 
virtual tmp< scalarFieldnu (const label patchi) const
 Return the laminar viscosity for patch. More...
 
virtual void correct ()
 Correct the laminar viscosity. More...
 
void operator= (const strainRateViscosityModel &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from generalisedNewtonianViscosityModel
 TypeName ("generalisedNewtonianViscosityModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, generalisedNewtonianViscosityModel, dictionary,(const dictionary &viscosityProperties, const viscosity &viscosity, const volVectorField &U),(viscosityProperties, viscosity, U))
 
 generalisedNewtonianViscosityModel (const dictionary &viscosityProperties, const viscosity &viscosity, const volVectorField &U)
 Construct from components. More...
 
 generalisedNewtonianViscosityModel (const generalisedNewtonianViscosityModel &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~generalisedNewtonianViscosityModel ()
 Destructor. More...
 
void operator= (const generalisedNewtonianViscosityModel &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from viscosity
 TypeName ("viscosity")
 Runtime type information. More...
 
 viscosity ()
 Construct. More...
 
 viscosity (const viscosity &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~viscosity ()
 Destructor. More...
 
void operator= (const viscosity &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from generalisedNewtonianViscosityModel
static autoPtr< generalisedNewtonianViscosityModelNew (const dictionary &viscosityProperties, const viscosity &viscosity, const volVectorField &U)
 Return a reference to the selected viscosity model. More...
 
- Protected Member Functions inherited from strainRateViscosityModel
virtual tmp< volScalarFieldstrainRate () const
 Return the strain-rate obtained from the velocity field. More...
 
- Protected Attributes inherited from generalisedNewtonianViscosityModel
const viscosityviscosity_
 Reference to the fluid Newtonian viscosity. More...
 
const volVectorFieldU_
 Reference to the velocity field. More...
 

Detailed Description

Herschel-Bulkley generalised Newtonian viscosity model.

The Herschel-Bulkley model combines the effects of a Bingham plastic and power-law behaviour of a fluid. At a low strain rate $\gamma$ the fluid adopts a viscosity $\nu_0$. Beyond a threshold stress $\tau_0$, the viscosity is described as a power law.

Kinematic viscosity [m^2/s]

\[ \nu = \min(\nu_0, \tau_0/\gamma + k\gamma^{n - 1}) \]

Example specification:

     viscosityModel HerschelBulkley;

     tau0       0.01;
     k          0.001;
     n          0.2;

Note the viscosity nu0 at zero strain rate is a physical property, generally specified in the physicalProperties file.

Source files

Definition at line 75 of file HerschelBulkley.H.

Constructor & Destructor Documentation

◆ HerschelBulkley()

HerschelBulkley ( const dictionary viscosityProperties,
const Foam::viscosity viscosity,
const volVectorField U 
)

Construct from components.

Definition at line 52 of file HerschelBulkley.C.

References strainRateViscosityModel::correct(), and HerschelBulkley::read().

Here is the call graph for this function:

◆ ~HerschelBulkley()

virtual ~HerschelBulkley ( )
inlinevirtual

Destructor.

Definition at line 104 of file HerschelBulkley.H.

Member Function Documentation

◆ TypeName()

TypeName ( "HerschelBulkley"  )

Runtime type information.

◆ read()

bool read ( const dictionary viscosityProperties)
virtual

Read transportProperties dictionary.

Implements generalisedNewtonianViscosityModel.

Definition at line 72 of file HerschelBulkley.C.

References dictionary::optionalSubDict(), generalisedNewtonianViscosityModel::read(), and dictionary::read().

Referenced by HerschelBulkley::HerschelBulkley().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nu()

Foam::tmp< Foam::volScalarField > nu ( const volScalarField nu0,
const volScalarField strainRate 
) const
virtual

Return the laminar viscosity.

Implements strainRateViscosityModel.

Definition at line 92 of file HerschelBulkley.C.

References Foam::dimless, Foam::dimTime, Foam::max(), Foam::min(), and Foam::pow().

Here is the call graph for this function:

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