OpenFOAM: API Guide
v2112
The open source CFD toolbox
surfaceFilmModelNew.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-2017 OpenFOAM Foundation
9
Copyright (C) 2019-2021 OpenCFD Ltd.
10
-------------------------------------------------------------------------------
11
License
12
This file is part of OpenFOAM.
13
14
OpenFOAM is free software: you can redistribute it and/or modify it
15
under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22
for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27
\*---------------------------------------------------------------------------*/
28
29
#include "
surfaceFilmModel.H
"
30
#include "
noFilm.H
"
31
32
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33
34
namespace
Foam
35
{
36
namespace
regionModels
37
{
38
39
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
40
41
autoPtr<surfaceFilmModel>
surfaceFilmModel::New
42
(
43
const
fvMesh
&
mesh
,
44
const
dimensionedVector
&
g
,
45
const
word
& regionType
46
)
47
{
48
word
modelType(
surfaceFilmModels::noFilm::typeName
);
49
50
dictionary
dict
;
51
52
IOobject
io
53
(
54
regionType +
"Properties"
,
55
mesh
.
time
().
constant
(),
56
mesh
,
57
IOobject::MUST_READ
,
58
IOobject::NO_WRITE
,
59
false
// Do not register
60
);
61
62
if
(
io
.
typeHeaderOk
<
IOdictionary
>())
63
{
64
IOdictionary
propDict(
io
);
65
66
dict
= std::move(propDict);
67
68
dict
.
readEntry
(
"surfaceFilmModel"
, modelType);
69
}
70
71
Info
<<
"Selecting surfaceFilmModel "
<< modelType <<
endl
;
72
73
auto
* ctorPtr = meshConstructorTable(modelType);
74
75
if
(!ctorPtr)
76
{
77
FatalIOErrorInLookup
78
(
79
dict
,
80
"surfaceFilmModel"
,
81
modelType,
82
*meshConstructorTablePtr_
83
) <<
exit
(
FatalIOError
);
84
}
85
86
return
autoPtr<surfaceFilmModel>
87
(
88
ctorPtr
89
(
90
modelType,
91
mesh
,
92
g
,
93
regionType
94
)
95
);
96
}
97
98
99
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100
101
}
// End namespace regionModels
102
}
// End namespace Foam
103
104
// ************************************************************************* //
g
const uniformDimensionedVectorField & g
Definition:
createFluidFields.H:26
Foam::IOdictionary
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Definition:
IOdictionary.H:57
Foam::IOobject
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Definition:
IOobject.H:170
Foam::IOobject::typeHeaderOk
bool typeHeaderOk(const bool checkType=true, const bool search=true, const bool verbose=true)
Read header (uses typeFilePath to find file) and check its info.
Definition:
IOobjectTemplates.C:39
Foam::IOobject::NO_WRITE
@ NO_WRITE
Definition:
IOobject.H:187
Foam::IOobject::MUST_READ
@ MUST_READ
Definition:
IOobject.H:179
Foam::TimePaths::constant
const word & constant() const
Return constant name.
Definition:
TimePathsI.H:96
Foam::Time::New
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
Definition:
Time.C:717
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition:
autoPtr.H:66
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition:
dictionary.H:126
Foam::dictionary::readEntry
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
Definition:
dictionaryTemplates.C:302
Foam::dimensioned< vector >
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition:
fvMesh.H:91
Foam::fvMesh::time
const Time & time() const
Return the top-level database.
Definition:
fvMesh.H:290
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:68
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
FatalIOErrorInLookup
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition:
error.H:478
io
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:34
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:372
Foam::FatalIOError
IOerror FatalIOError
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition:
errorManip.H:130
noFilm.H
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::ensightPTraits::typeName
static const char *const typeName
The type name used in ensight case files.
Definition:
ensightPTraits.H:56
surfaceFilmModel.H
src
regionModels
surfaceFilmModels
surfaceFilmModel
surfaceFilmModelNew.C
Generated by
1.9.5
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.