HerschelBulkley.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2024 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::mixtureViscosityModels::HerschelBulkley
26 
27 Description
28  HerschelBulkley viscosity model
29 
30  The Herschel-Bulkley model combines the effects of a Bingham plastic
31  and power-law behaviour of a fluid. At a low strain rate \f$\gamma\f$
32  the fluid adopts a viscosity \f$\mu_0\f$. Beyond a threshold stress
33  \f$\tau_0\f$, the viscosity is described as a power law.
34 
35  Kinematic viscosity [m^2/s]
36 
37  \f[
38  \mu = \min(\mu_0, (\tau_0 + k\gamma^{n})/\gamma)
39  \f]
40 
41 Usage
42  Example usage:
43  \verbatim
44  viscosityModel HerschelBulkley;
45 
46  rho 1996; // Dispersed phase density
47 
48  tau0 10.0;
49  k 0.001;
50  n 0.2;
51  \endverbatim
52 
53 SourceFiles
54  HerschelBulkley.C
55 
56 \*---------------------------------------------------------------------------*/
57 
58 #ifndef HerschelBulkley_H
59 #define HerschelBulkley_H
60 
61 #include "mixtureViscosityModel.H"
62 #include "dimensionedScalar.H"
63 
64 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
65 
66 namespace Foam
67 {
68 namespace mixtureViscosityModels
69 {
70 
71 /*---------------------------------------------------------------------------*\
72  Class HerschelBulkley Declaration
73 \*---------------------------------------------------------------------------*/
74 
75 class HerschelBulkley
76 :
78 {
79  // Private data
80 
83  dimensionedScalar tau0_;
84 
85 
86 public:
87 
88  //- Runtime type information
89  TypeName("HerschelBulkley");
90 
91 
92  // Constructors
93 
94  //- Construct from mixture
96 
97 
98  //- Destructor
99  virtual ~HerschelBulkley()
100  {}
101 
102 
103  // Member Functions
104 
105  //- Return the mixture viscosity
106  // given the viscosity of the continuous phase
107  virtual tmp<volScalarField> mu
108  (
109  const volScalarField& muc,
110  const volVectorField& U
111  ) const;
112 
113  //- Read phaseProperties dictionary
114  virtual bool read();
115 };
116 
117 
118 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
119 
120 } // End namespace mixtureViscosityModels
121 } // End namespace Foam
122 
123 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
124 
125 #endif
126 
127 // ************************************************************************* //
Generic GeometricField class.
Class to represent a mixture of two constant density phases.
An abstract base class for incompressible mixtureViscosityModels.
HerschelBulkley viscosity model.
virtual tmp< volScalarField > mu(const volScalarField &muc, const volVectorField &U) const
Return the mixture viscosity.
TypeName("HerschelBulkley")
Runtime type information.
HerschelBulkley(const incompressibleDriftFluxMixture &mixture)
Construct from mixture.
virtual bool read()
Read phaseProperties dictionary.
A class for managing temporary objects.
Definition: tmp.H:55
U
Definition: pEqn.H:72
Namespace for OpenFOAM.