Transferred copyright to the OpenFOAM Foundation
[OpenFOAM-2.0.x.git] / src / thermophysicalModels / laminarFlameSpeed / laminarFlameSpeed / laminarFlameSpeedNew.C
blob3511f7bc6ae3a5239d8a223a169c6baa0bff3753
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by
13     the Free Software Foundation, either version 3 of the License, or
14     (at your option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "laminarFlameSpeed.H"
28 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
30 Foam::autoPtr<Foam::laminarFlameSpeed> Foam::laminarFlameSpeed::New
32     const hhuCombustionThermo& ct
35     // do not register the dictionary
36     IOdictionary propDict
37     (
38         IOobject
39         (
40             "combustionProperties",
41             ct.T().time().constant(),
42             ct.T().db(),
43             IOobject::MUST_READ_IF_MODIFIED,
44             IOobject::NO_WRITE,
45             false
46         )
47     );
49     const word corrType(propDict.lookup("laminarFlameSpeedCorrelation"));
51     Info<< "Selecting laminar flame speed correlation " << corrType << endl;
53     dictionaryConstructorTable::iterator cstrIter =
54         dictionaryConstructorTablePtr_->find(corrType);
56     if (cstrIter == dictionaryConstructorTablePtr_->end())
57     {
58         FatalIOErrorIn
59         (
60             "laminarFlameSpeed::New(const hhuCombustionThermo&)",
61             propDict
62         )   << "Unknown laminarFlameSpeed type "
63             << corrType << nl << nl
64             << "Valid laminarFlameSpeed types are :" << endl
65             << dictionaryConstructorTablePtr_->sortedToc()
66             << exit(FatalIOError);
67     }
69     return autoPtr<laminarFlameSpeed>(cstrIter()(propDict, ct));
73 // ************************************************************************* //