transport.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) 2011-2015 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
26Class
27 Foam::XiModels::transport
28
29Description
30 Simple transport model for Xi based on Gulders correlation
31 with a linear correction function to give a plausible profile for Xi.
32 See report TR/HGW/10 for details on the Weller two equations model.
33 See \link XiModel.H \endlink for more details on flame wrinkling modelling.
34
35SourceFiles
36 transport.C
37
38\*---------------------------------------------------------------------------*/
39
40#ifndef transport_H
41#define transport_H
42
43#include "XiModel.H"
44#include "XiEqModel.H"
45#include "XiGModel.H"
46
47// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49namespace Foam
50{
51namespace XiModels
52{
53
54/*---------------------------------------------------------------------------*\
55 Class transport Declaration
56\*---------------------------------------------------------------------------*/
58class transport
59:
60 public XiModel
61{
62 // Private data
63
64 scalar XiShapeCoef;
65
66 autoPtr<XiEqModel> XiEqModel_;
67 autoPtr<XiGModel> XiGModel_;
68
69
70 // Private Member Functions
71
72 //- No copy construct
73 transport(const transport&) = delete;
74
75 //- No copy assignment
76 void operator=(const transport&) = delete;
77
78
79public:
80
81 //- Runtime type information
82 TypeName("transport");
83
84
85 // Constructors
86
87 //- Construct from components
89 (
90 const dictionary& XiProperties,
92 const compressible::RASModel& turbulence,
93 const volScalarField& Su,
94 const volScalarField& rho,
95 const volScalarField& b,
97 );
98
99
100 //- Destructor
101 virtual ~transport();
102
103
104 // Member Functions
105
106 //- Return the flame diffusivity
107 virtual tmp<volScalarField> Db() const;
108
109 //- Add Xi to the multivariateSurfaceInterpolationScheme table
110 virtual void addXi
111 (
113 )
114 {
115 fields.add(Xi_);
116 }
117
118 //- Correct the flame-wrinkling Xi
119 virtual void correct()
120 {
122 }
123
124 //- Correct the flame-wrinkling Xi using the given convection scheme
126
127 //- Update properties from given dictionary
128 virtual bool read(const dictionary& XiProperties);
129
130 //- Write fields of the XiEq model
131 virtual void writeFields()
132 {
133 XiEqModel_().writeFields();
134 }
135};
136
137
138// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139
140} // End namespace XiModels
141} // End namespace Foam
142
143// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
144
145#endif
146
147// ************************************************************************* //
tmp< fv::convectionScheme< scalar > > mvConvection(fv::convectionScheme< scalar >::New(mesh, fields, phi, mesh.divScheme("div(phi,Yi_h)")))
surfaceScalarField & phi
Base-class for all Xi models used by the b-Xi combustion model. See Technical Report SH/RE/01R for de...
Definition: XiModel.H:111
volScalarField Xi_
Flame wrinkling field.
Definition: XiModel.H:127
Simple transport model for Xi based on Gulders correlation with a linear correction function to give ...
Definition: transport.H:60
virtual void writeFields()
Write fields of the XiEq model.
Definition: transport.H:130
virtual bool read(const dictionary &XiProperties)
Update properties from given dictionary.
TypeName("transport")
Runtime type information.
transport(const dictionary &XiProperties, const psiuReactionThermo &thermo, const compressible::RASModel &turbulence, const volScalarField &Su, const volScalarField &rho, const volScalarField &b, const surfaceScalarField &phi)
Construct from components.
virtual void addXi(multivariateSurfaceInterpolationScheme< scalar >::fieldTable &fields)
Add Xi to the multivariateSurfaceInterpolationScheme table.
Definition: transport.H:110
virtual tmp< volScalarField > Db() const
Return the flame diffusivity.
virtual ~transport()
Destructor.
virtual void correct()
Correct the flame-wrinkling Xi.
Definition: transport.H:118
virtual void correct(const fv::convectionScheme< scalar > &mvConvection)
Correct the flame-wrinkling Xi using the given convection scheme.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
Abstract base class for convection schemes.
Foam::psiuReactionThermo.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
Definition: tmp.H:65
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition: error.H:517
zeroField Su
Definition: alphaSuSp.H:1
RASModel< EddyDiffusivity< turbulenceModel > > RASModel
Namespace for OpenFOAM.
volScalarField & b
Definition: createFields.H:27
multivariateSurfaceInterpolationScheme< scalar >::fieldTable fields
Definition: createFields.H:97
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73