algebraic.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-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
26\*---------------------------------------------------------------------------*/
27
28#include "algebraic.H"
30
31// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
32
33namespace Foam
34{
35namespace XiModels
36{
37 defineTypeNameAndDebug(algebraic, 0);
38 addToRunTimeSelectionTable(XiModel, algebraic, dictionary);
39}
40}
41
42
43// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
44
46(
47 const dictionary& XiProperties,
48 const psiuReactionThermo& thermo,
49 const compressible::RASModel& turbulence,
50 const volScalarField& Su,
51 const volScalarField& rho,
52 const volScalarField& b,
53 const surfaceScalarField& phi
54)
55:
56 XiModel(XiProperties, thermo, turbulence, Su, rho, b, phi),
57 XiShapeCoef(XiModelCoeffs_.get<scalar>("XiShapeCoef")),
58 XiEqModel_(XiEqModel::New(XiProperties, thermo, turbulence, Su)),
59 XiGModel_(XiGModel::New(XiProperties, thermo, turbulence, Su))
60{}
61
62
63// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
64
66{}
67
68
69// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
70
72{
73 return XiGModel_->Db();
74}
75
76
78{
79 volScalarField XiEqEta(XiEqModel_->XiEq());
80 volScalarField GEta(XiGModel_->G());
81
82 volScalarField R(GEta*XiEqEta/(XiEqEta - 0.999));
83
84 volScalarField XiEqStar(R/(R - GEta));
85
86 Xi_ == 1.0 + (1.0 + (2*XiShapeCoef)*(0.5 - b_))*(XiEqStar - 1.0);
87}
88
89
90bool Foam::XiModels::algebraic::read(const dictionary& XiProperties)
91{
92 XiModel::read(XiProperties);
93
94 XiModelCoeffs_.readEntry("XiShapeCoef", XiShapeCoef);
95
96 return true;
97}
98
99
100// ************************************************************************* //
#define R(A, B, C, D, E, F, K, M)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
surfaceScalarField & phi
virtual bool read()
Re-read model coefficients if they have changed.
Simple algebraic model for Xi based on Gulders correlation with a linear correction function to give ...
Definition: algebraic.H:60
virtual tmp< volScalarField > Db() const
Return the flame diffusivity.
virtual void correct()
Correct the flame-wrinkling Xi.
virtual ~algebraic()
Destructor.
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 defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Definition: className.H:121
compressible::turbulenceModel & turbulence
zeroField Su
Definition: alphaSuSp.H:1
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
Namespace for OpenFOAM.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:82
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
volScalarField & b
Definition: createFields.H:27