Usher.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::packingDispersionModels::Usher
26 
27 Description
28  Usher packing dispersion model for sewage and mineral slurries,
29  both cetrifugated and filtered.
30 
31  Reference:
32  \verbatim
33  Usher, S. P., Studer, L. J., Wall, R. C., & Scales, P. J. (2013).
34  Characterisation of dewaterability from equilibrium
35  and transient centrifugation test data.
36  Chemical Engineering Science, 93, 277-291.
37  \endverbatim
38 
39 Usage
40  Example usage for mineral slurry:
41  \verbatim
42  packingDispersionModel Usher;
43 
44  UsherCoeffs
45  {
46  alphaGel 0.1;
47  alphap 0.8;
48  alphacp 0.8;
49  alphag 0;
50  alphaMax 1;
51  b1 2e-3;
52  sigma01 3.18663;
53  n1 11;
54  b2 1;
55  }
56  \endverbatim
57 
58  Example usage for waste water:
59  \verbatim
60  packingDispersionModel Usher;
61 
62  UsherCoeffs
63  {
64  alphaGel 0.025;
65  alphap 0.09;
66  alphacp 0.63;
67  alphag 0.01;
68  alphaMax 0.63;
69  b1 0.01;
70  sigma01 225.534;
71  n1 6.6;
72  b2 0.01;
73  }
74  \endverbatim
75 
76 SourceFiles
77  Usher.C
78 
79 \*---------------------------------------------------------------------------*/
80 
81 #ifndef Usher_H
82 #define Usher_H
83 
84 #include "packingDispersionModel.H"
85 
86 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
87 
88 namespace Foam
89 {
90 namespace packingDispersionModels
91 {
92 
93 /*---------------------------------------------------------------------------*\
94  Class Usher Declaration
95 \*---------------------------------------------------------------------------*/
96 
97 class Usher
98 :
100 {
101  // Private Data
102 
103  dimensionedScalar alphaGel_;
104  dimensionedScalar alphap_;
105  dimensionedScalar alphag_;
106  dimensionedScalar alphacp_;
107  dimensionedScalar alphaMax_;
108  dimensionedScalar b1_;
109  dimensionedScalar n1_;
110  dimensionedScalar sigma01_;
111  dimensionedScalar b2_;
112  dimensionedScalar n2_;
113  dimensionedScalar sigma02_;
114 
115 
116  // Private member functions
117 
118  template<class T>
119  inline auto sigma1(const T& alphad) const;
120 
121  template<class T>
122  inline auto sigmaPrime1(const T& alphad) const;
123 
124  template<class T>
125  inline auto sigma2(const T& alphad) const;
126 
127  template<class T>
128  inline auto sigmaPrime2(const T& alphad) const;
129 
130 
131 public:
132 
133  //- Runtime type information
134  TypeName("Usher");
135 
136 
137  // Constructors
138 
139  //- Construct from components
140  Usher
141  (
142  const dictionary& dict,
143  const relativeVelocityModel& relativeVelocity
144  );
145 
146 
147  //- Destructor
148  ~Usher();
149 
150 
151  // Member Functions
152 
153  //- Return the derivative of the packing stress w.r.t. phase-fraction
154  virtual tmp<volScalarField> sigmaPrime() const;
155 };
156 
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 } // End namespace packingDispersionModels
161 } // End namespace Foam
162 
163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
164 
165 #endif
166 
167 // ************************************************************************* //
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Definition: dictionary.H:162
Packing dispersion model.
Usher packing dispersion model for sewage and mineral slurries, both cetrifugated and filtered.
Definition: Usher.H:99
Usher(const dictionary &dict, const relativeVelocityModel &relativeVelocity)
Construct from components.
Definition: Usher.C:107
TypeName("Usher")
Runtime type information.
virtual tmp< volScalarField > sigmaPrime() const
Return the derivative of the packing stress w.r.t. phase-fraction.
Definition: Usher.C:149
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
dictionary dict