fixed writing out entries in advective bc
[OpenFOAM-1.6-ext.git] / src / POD / PODODE / PODODE.C
blob1890d6921ab878a8b978f817816b283b2d66d2c6
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     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, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Class
26     PODODE
28 \*---------------------------------------------------------------------------*/
30 #include "PODODE.H"
32 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
34 namespace Foam
36     defineTypeNameAndDebug(PODODE, 0);
37     defineRunTimeSelectionTable(PODODE, dictionary);
41 // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
43 Foam::autoPtr<Foam::PODODE> Foam::PODODE::New
45     const fvMesh& mesh,
46     const dictionary& dict
49     word PODTypeName = dict.lookup("type");
51     Info<< "Selecting POD ODE model " << PODTypeName << endl;
53     dictionaryConstructorTable::iterator cstrIter =
54         dictionaryConstructorTablePtr_->find(PODTypeName);
56     if (cstrIter == dictionaryConstructorTablePtr_->end())
57     {
58         FatalIOErrorIn
59         (
60             "PODODE::New\n"
61             "(\n"
62             "    const fvMesh& mesh\n"
63             "    const dictionary& dict\n"
64             ")",
65             dict
66         )   << "Unknown PODODE type "
67             << PODTypeName << endl << endl
68             << "Valid  POD ODEs are : " << endl
69             << dictionaryConstructorTablePtr_->toc()
70             << exit(FatalIOError);
71     }
73     return autoPtr<PODODE>
74         (cstrIter()(mesh, dict.subDict(PODTypeName + "Coeffs")));
78 // ************************************************************************* //