ENH: autoLayerDriver: better layering information message
[OpenFOAM-2.0.x.git] / src / regionModels / surfaceFilmModels / noFilm / noFilm.C
blob1c267307ec7204794b37823c8706bfdf3e66cdf3
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 "noFilm.H"
27 #include "addToRunTimeSelectionTable.H"
28 #include "volFields.H"
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32 namespace Foam
34 namespace regionModels
36 namespace surfaceFilmModels
39 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
41 defineTypeNameAndDebug(noFilm, 0);
42 addToRunTimeSelectionTable(surfaceFilmModel, noFilm, mesh);
45 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
47 bool noFilm::read()
49     if (surfaceFilmModel::read())
50     {
51         // no additional info to read
52         return true;
53     }
54     else
55     {
56         return false;
57     }
61 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
63 noFilm::noFilm
65     const word& modelType,
66     const fvMesh& mesh,
67     const dimensionedVector& g
70     surfaceFilmModel(modelType, mesh, g)
74 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
76 noFilm::~noFilm()
80 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
82 void noFilm::addSources
84     const label,
85     const label,
86     const scalar,
87     const vector&,
88     const scalar,
89     const scalar
92     // do nothing
96 const volScalarField& noFilm::delta() const
98     FatalErrorIn("const volScalarField& noFilm::delta() const")
99         << "delta field not available for " << type() << abort(FatalError);
101     return volScalarField::null();
105 const volScalarField& noFilm::sigma() const
107     FatalErrorIn("const volScalarField& noFilm::sigma() const")
108         << "sigma field not available for " << type() << abort(FatalError);
110     return volScalarField::null();
114 const volVectorField& noFilm::U() const
116     FatalErrorIn("const volVectorField& noFilm::U() const")
117         << "U field not available for " << type() << abort(FatalError);
119     return volVectorField::null();
123 const volVectorField& noFilm::Us() const
125     FatalErrorIn("const volVectorField& noFilm::Us() const")
126         << "Us field not available for " << type() << abort(FatalError);
128     return volVectorField::null();
132 const volVectorField& noFilm::Uw() const
134     FatalErrorIn("const volVectorField& noFilm::Uw() const")
135         << "Uw field not available for " << type() << abort(FatalError);
137     return volVectorField::null();
141 const volScalarField& noFilm::rho() const
143     FatalErrorIn("const volScalarField& noFilm::rho() const")
144         << "rho field not available for " << type() << abort(FatalError);
146     return volScalarField::null();
150 const volScalarField& noFilm::T() const
152     FatalErrorIn("const volScalarField& noFilm::T() const")
153         << "T field not available for " << type() << abort(FatalError);
155     return volScalarField::null();
159 const volScalarField& noFilm::Ts() const
161     FatalErrorIn("const volScalarField& noFilm::Ts() const")
162         << "Ts field not available for " << type() << abort(FatalError);
164     return volScalarField::null();
168 const volScalarField& noFilm::Tw() const
170     FatalErrorIn("const volScalarField& noFilm::Tw() const")
171         << "Tw field not available for " << type() << abort(FatalError);
173     return volScalarField::null();
177 const volScalarField& noFilm::Cp() const
179     FatalErrorIn("const volScalarField& noFilm::Cp() const")
180         << "Cp field not available for " << type() << abort(FatalError);
182     return volScalarField::null();
186 const volScalarField& noFilm::kappa() const
188     FatalErrorIn("const volScalarField& noFilm::kappa() const")
189         << "kappa field not available for " << type() << abort(FatalError);
191     return volScalarField::null();
195 tmp<volScalarField> noFilm::primaryMassTrans() const
197     return tmp<volScalarField>
198     (
199         new volScalarField
200         (
201             IOobject
202             (
203                 "noFilm::primaryMassTrans",
204                 time().timeName(),
205                 primaryMesh(),
206                 IOobject::NO_READ,
207                 IOobject::NO_WRITE,
208                 false
209             ),
210             primaryMesh(),
211             dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
212         )
213     );
217 const volScalarField& noFilm::cloudMassTrans() const
219     FatalErrorIn("const volScalarField& noFilm::cloudMassTrans() const")
220         << "cloudMassTrans field not available for " << type()
221         << abort(FatalError);
223     return volScalarField::null();
227 const volScalarField& noFilm::cloudDiameterTrans() const
229     FatalErrorIn("const volScalarField& noFilm::cloudDiameterTrans() const")
230         << "cloudDiameterTrans field not available for " << type()
231         << abort(FatalError);
233     return volScalarField::null();
237 tmp<DimensionedField<scalar, volMesh> > noFilm::Srho() const
239     return tmp<DimensionedField<scalar, volMesh> >
240     (
241         new DimensionedField<scalar, volMesh>
242         (
243             IOobject
244             (
245                 "noFilm::Srho",
246                 time().timeName(),
247                 primaryMesh(),
248                 IOobject::NO_READ,
249                 IOobject::NO_WRITE,
250                 false
251             ),
252             primaryMesh(),
253             dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
254         )
255     );
259 tmp<DimensionedField<scalar, volMesh> > noFilm::Srho(const label i) const
261     return tmp<DimensionedField<scalar, volMesh> >
262     (
263         new DimensionedField<scalar, volMesh>
264         (
265             IOobject
266             (
267                 "noFilm::Srho(" + Foam::name(i) + ")",
268                 time().timeName(),
269                 primaryMesh(),
270                 IOobject::NO_READ,
271                 IOobject::NO_WRITE,
272                 false
273             ),
274             primaryMesh(),
275             dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
276         )
277     );
281 tmp<DimensionedField<scalar, volMesh> > noFilm::Sh() const
283     return tmp<DimensionedField<scalar, volMesh> >
284     (
285         new DimensionedField<scalar, volMesh>
286         (
287             IOobject
288             (
289                 "noFilm::Sh",
290                 time().timeName(),
291                 primaryMesh(),
292                 IOobject::NO_READ,
293                 IOobject::NO_WRITE,
294                 false
295             ),
296             primaryMesh(),
297             dimensionedScalar("zero", dimEnergy/dimVolume/dimTime, 0.0)
298         )
299     );
303 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
305 } // End namespace surfaceFilmModels
306 } // End namespace regionModels
307 } // End namespace Foam
309 // ************************************************************************* //