All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
thixotropicViscosity.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) 2013-2020 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::regionModels::surfaceFilmModels::thixotropicViscosity
26 
27 Description
28  Thixotropic viscosity model based on the evolution of the structural
29  parameter \f$ \lambda \f$:
30 
31  \f[
32  \lambda = a(1 - \lambda)^b - c \lambda \dot{\gamma}^d
33  \f]
34 
35  The viscosity is then calculated using the expression
36 
37  \f[
38  \mu = \frac{\mu_{\infty}}{{1 - K \lambda}^2}
39  \f]
40 
41  Where the parameter K is given by:
42 
43  \f[
44  K = 1 - \sqrt{\frac{\mu_{\infty}}{\mu_{0}}}
45  \f]
46 
47  Here:
48  \vartable
49  \lambda | structural parameter
50  a | model coefficient
51  b | model coefficient
52  c | model coefficient
53  d | model coefficient
54  \dot{\gamma} | stress rate [1/s]
55  \mu_{0} | limiting viscosity when \f$ \lambda = 1 \f$
56  \mu_{\infty} | limiting viscosity when \f$ \lambda = 0 \f$
57  \endvartable
58 
59  Reference:
60  \verbatim
61  Barnes H A, 1997. Thixotropy - a review. J. Non-Newtonian Fluid
62  Mech 70, pp 1-33
63  \endverbatim
64 
65 SourceFiles
66  thixotropicViscosity.C
67 
68 \*---------------------------------------------------------------------------*/
69 
70 #ifndef thixotropicViscosity_H
71 #define thixotropicViscosity_H
72 
73 #include "filmViscosityModel.H"
74 
75 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
76 
77 namespace Foam
78 {
79 namespace regionModels
80 {
81 namespace surfaceFilmModels
82 {
83 
84 /*---------------------------------------------------------------------------*\
85  Class thixotropicViscosity Declaration
86 \*---------------------------------------------------------------------------*/
87 
88 class thixotropicViscosity
89 :
90  public filmViscosityModel
91 {
92 protected:
93 
94  // Protected data
95 
96  //- Model `a' coefficient
98 
99  //- Model `b' coefficient
101 
102  //- Model `d' coefficient
104 
105  //- Model `c' coefficient (read after d since dims depend on d value)
107 
108  //- Limiting viscosity when lambda = 1
110 
111  //- Limiting viscosity when lambda = 0
113 
114  bool BinghamPlastic_;
115 
117 
118  //- Model coefficient
120 
121  //- Structural parameter
122  // 0 = freestream value (most liquid)
123  // 1 = fully built (most solid)
125 
126 
127 public:
129  //- Runtime type information
130  TypeName("thixotropic");
132 
133  // Constructors
135  //- Construct from surface film model
137  (
139  const dictionary& dict,
141  );
142 
143  //- Disallow default bitwise copy construction
146 
147  //- Destructor
148  virtual ~thixotropicViscosity();
149 
151  // Member Functions
152 
153  //- Correct
154  virtual void correct
155  (
156  const volScalarField& p,
157  const volScalarField& T
158  );
159 
160 
161  // Member Operators
162 
163  //- Disallow default bitwise assignment
164  void operator=(const thixotropicViscosity&) = delete;
165 };
166 
167 
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 } // End namespace surfaceFilmModels
171 } // End namespace regionModels
172 } // End namespace Foam
173 
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 
176 #endif
177 
178 // ************************************************************************* //
TypeName("thixotropic")
Runtime type information.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
thixotropicViscosity(surfaceFilmRegionModel &film, const dictionary &dict, volScalarField &mu)
Construct from surface film model.
void operator=(const thixotropicViscosity &)=delete
Disallow default bitwise assignment.
dimensionedScalar mu0_
Limiting viscosity when lambda = 1.
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Thixotropic viscosity model based on the evolution of the structural parameter :
virtual void correct(const volScalarField &p, const volScalarField &T)
Correct.
dimensionedScalar muInf_
Limiting viscosity when lambda = 0.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const dimensionedScalar & mu
Atomic mass unit.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dimensionedScalar c_
Model `c&#39; coefficient (read after d since dims depend on d value)
volScalarField & p
Namespace for OpenFOAM.