isothermalDiameter.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) 2011-2019 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 \*---------------------------------------------------------------------------*/
27 
28 #include "isothermalDiameter.H"
30 
31 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32 
33 namespace Foam
34 {
35 namespace diameterModels
36 {
37  defineTypeNameAndDebug(isothermal, 0);
38 
40  (
41  diameterModel,
42  isothermal,
43  dictionary
44  );
45 }
46 }
47 
48 
49 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
50 
52 (
53  const dictionary& diameterProperties,
54  const phaseModel& phase
55 )
56 :
57  diameterModel(diameterProperties, phase),
58  d0_("d0", dimLength, diameterProperties_),
59  p0_("p0", dimPressure, diameterProperties_),
60  d_
61  (
62  IOobject
63  (
64  IOobject::groupName("d", phase.name()),
65  phase_.time().timeName(),
66  phase_.mesh(),
67  IOobject::NO_READ,
68  IOobject::AUTO_WRITE
69  ),
70  phase_.mesh(),
71  d0_
72  )
73 {}
74 
75 
76 // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
77 
79 {}
80 
81 
82 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
83 
85 {
86  return d_;
87 }
88 
89 
91 {
92  const volScalarField& p = phase_.db().lookupObject<volScalarField>("p");
93 
94  d_ = d0_*pow(p0_/p, 1.0/3.0);
95 }
96 
97 
99 {
101 
102  diameterProperties_.lookup("d0") >> d0_;
103  diameterProperties_.lookup("p0") >> p0_;
104 
105  return true;
106 }
107 
108 
109 // ************************************************************************* //
Foam::diameterModels::defineTypeNameAndDebug
defineTypeNameAndDebug(constant, 0)
Foam::phaseModel
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phaseModel.H:57
Foam::dimPressure
const dimensionSet dimPressure
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition: IOobject.H:104
Foam::diameterModels::isothermal::isothermal
isothermal(const dictionary &diameterProperties, const phaseModel &phase)
Construct from components.
Definition: isothermalDiameter.C:52
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::dimLength
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Definition: dimensionSets.H:53
Foam::phase
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Definition: phase.H:54
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:59
Foam::diameterModels::isothermal::read
virtual bool read(const dictionary &phaseProperties)
Read phaseProperties dictionary.
Definition: isothermalDiameter.C:98
Foam::phaseProperties
Helper class to manage multi-specie phase properties.
Definition: phaseProperties.H:62
Foam::diameterModels::addToRunTimeSelectionTable
addToRunTimeSelectionTable(diameterModel, constant, dictionary)
Foam::diameterModel
A2stract base-class for dispersed-phase particle diameter models.
Definition: diameterModel.H:53
isothermalDiameter.H
Foam::diameterModels::isothermal::~isothermal
virtual ~isothermal()
Destructor.
Definition: isothermalDiameter.C:78
Foam::pow
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Definition: dimensionedScalar.C:75
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
Foam::diameterModels::isothermal::correct
virtual void correct()
Correct the diameter field.
Definition: isothermalDiameter.C:90
addToRunTimeSelectionTable.H
Macros for easy insertion into run-time selection tables.
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::phase::name
const word & name() const
Definition: phase.H:111
Foam::diameterModel::read
virtual bool read(const dictionary &phaseProperties)=0
Read phaseProperties dictionary.
Definition: diameterModel.C:64
Foam::GeometricField< scalar, fvPatchField, volMesh >
Foam::diameterModels::isothermal::d
virtual tmp< volScalarField > d() const
Return the diameter field.
Definition: isothermalDiameter.C:84