ArrheniusViscosity.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2015-2017 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::regionModels::surfaceFilmModels::ArrheniusViscosity
28 
29 Description
30  The Arrhenius temperature-dependent viscosity model multiplies the viscosity
31  of a base model by an Arrhenius-type temperature function:
32 
33  mu = mu0*exp(k1*(1/(T + k2) - 1/(Tref + k2)))
34 
35  Where:
36  mu0 is the base-model viscosity
37  k1 and k2 are Arrhenius coefficients
38  T is the local temperature
39  Tref is the reference temperature
40 
41 SourceFiles
42  ArrheniusViscosity.C
43 
44 \*---------------------------------------------------------------------------*/
45 
46 #ifndef ArrheniusViscosity_H
47 #define ArrheniusViscosity_H
48 
49 #include "filmViscosityModel.H"
50 
51 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
52 
53 namespace Foam
54 {
55 namespace regionModels
56 {
57 namespace surfaceFilmModels
58 {
59 
60 /*---------------------------------------------------------------------------*\
61  Class ArrheniusViscosity Declaration
62 \*---------------------------------------------------------------------------*/
63 
65 :
66  public filmViscosityModel
67 {
68  // Private member functions
69 
70  //- No copy construct
71  ArrheniusViscosity(const ArrheniusViscosity&) = delete;
72 
73  //- No copy assignment
74  void operator=(const ArrheniusViscosity&) = delete;
75 
76 
77 protected:
78 
79  // Protected data
80 
81  //- Base viscosity model
83 
84  //- Coefficient k1
86 
87  //- Coefficient k2
89 
90  //- Reference temperature
92 
93 
94 public:
95 
96  //- Runtime type information
97  TypeName("Arrhenius");
98 
99 
100  // Constructors
101 
102  //- Construct from surface film model
104  (
106  const dictionary& dict,
108  );
109 
110 
111  //- Destructor
112  virtual ~ArrheniusViscosity();
113 
114 
115  // Member Functions
116 
117  //- Correct
118  virtual void correct
119  (
120  const volScalarField& p,
121  const volScalarField& T
122  );
123 };
124 
125 
126 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
127 
128 } // End namespace surfaceFilmModels
129 } // End namespace regionModels
130 } // End namespace Foam
131 
132 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
133 
134 #endif
135 
136 // ************************************************************************* //
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity
The Arrhenius temperature-dependent viscosity model multiplies the viscosity of a base model by an Ar...
Definition: ArrheniusViscosity.H:63
Foam::constant::physicoChemical::mu
const dimensionedScalar mu
Atomic mass unit.
Definition: createFieldRefs.H:4
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::k2_
dimensionedScalar k2_
Coefficient k2.
Definition: ArrheniusViscosity.H:87
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::correct
virtual void correct(const volScalarField &p, const volScalarField &T)
Correct.
Definition: ArrheniusViscosity.C:78
Foam::regionModels::surfaceFilmModels::filmSubModelBase::film
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Definition: filmSubModelBaseI.H:39
Foam::regionModels::surfaceFilmModels::filmViscosityModel
Base class for surface film viscosity models.
Definition: filmViscosityModel.H:57
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::TypeName
TypeName("Arrhenius")
Runtime type information.
Foam::regionModels::surfaceFilmModels::surfaceFilmRegionModel
Base class for surface film models.
Definition: surfaceFilmRegionModel.H:55
Foam::subModelBase::dict
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::Tref_
dimensionedScalar Tref_
Reference temperature.
Definition: ArrheniusViscosity.H:90
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::dimensioned< scalar >
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::k1_
dimensionedScalar k1_
Coefficient k1.
Definition: ArrheniusViscosity.H:84
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
filmViscosityModel.H
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::viscosity_
autoPtr< filmViscosityModel > viscosity_
Base viscosity model.
Definition: ArrheniusViscosity.H:81
Foam::regionModels::surfaceFilmModels::ArrheniusViscosity::~ArrheniusViscosity
virtual ~ArrheniusViscosity()
Destructor.
Definition: ArrheniusViscosity.C:71