Loading...
Searching...
No Matches
function1Viscosity.C
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) 2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
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\*---------------------------------------------------------------------------*/
27
28#include "function1Viscosity.H"
30
31// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32
33namespace Foam
34{
35namespace regionModels
36{
38{
39
40// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
41
43
45(
47 function1Viscosity,
49);
50
51
52// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
53
54function1Viscosity::function1Viscosity
55(
57 const dictionary& dict,
59)
60:
61 filmViscosityModel(typeName, film, dict, mu),
62 viscosity_(filmViscosityModel::New(film, coeffDict_, mu)),
64 (
65 Function1<scalar>::New("function", coeffDict_, &film.regionMesh())
66 )
67{}
68
69
70// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
73{}
74
75
76// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
77
79(
80 const volScalarField& p,
81 const volScalarField& T
82)
83{
84 viscosity_->correct(p, T);
85 mu_.primitiveFieldRef() *= function_->value(T)();
87}
88
89
90// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
91
92} // End namespace surfaceFilmModels
93} // End namespace regionModels
94} // End namespace Foam
95
96// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
Definition Function1.H:92
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field values.
void correctBoundaryConditions()
Correct boundary field.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
Base class for surface film viscosity models.
volScalarField & mu_
Reference to the viscosity field.
static autoPtr< filmViscosityModel > New(surfaceFilmRegionModel &film, const dictionary &dict, volScalarField &mu)
Return a reference to the selected phase change model.
The Foam::Function1 temperature-dependent viscosity model multiplies the viscosity of a base model by...
virtual void correct(const volScalarField &p, const volScalarField &T)
Correct.
autoPtr< Function1< scalar > > function_
Viscosity factor as a function of temperature.
autoPtr< filmViscosityModel > viscosity_
Base viscosity model.
const dictionary coeffDict_
Coefficients dictionary.
const dictionary & dict() const
Return const access to the cloud dictionary.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition className.H:142
volScalarField & p
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)