OpenFOAM: API Guide
v2112
The open source CFD toolbox
multiphaseSystemNew.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) 2015-2018 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 "
multiphaseSystem.H
"
30
31
// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * //
32
33
Foam::autoPtr<Foam::multiphaseSystem>
Foam::multiphaseSystem::New
34
(
35
const
fvMesh&
mesh
36
)
37
{
38
const
IOdictionary
dict
39
(
40
IOobject
41
(
42
propertiesName,
43
mesh
.time().constant(),
44
mesh
,
45
IOobject::MUST_READ_IF_MODIFIED
,
46
IOobject::NO_WRITE
,
47
false
// Do not register
48
)
49
);
50
51
const
word systemType(
dict
.get<word>(
"type"
));
52
53
Info
<<
"Selecting multiphaseSystem "
<< systemType <<
endl
;
54
55
auto
* ctorPtr = dictionaryConstructorTable(systemType);
56
57
if
(!ctorPtr)
58
{
59
FatalIOErrorInLookup
60
(
61
dict
,
62
"multiphaseSystem"
,
63
systemType,
64
*dictionaryConstructorTablePtr_
65
) <<
exit
(
FatalIOError
);
66
}
67
68
return
ctorPtr(
mesh
);
69
}
70
71
// ************************************************************************* //
Foam::IOobject::NO_WRITE
Definition:
IOobject.H:195
Foam::FatalIOError
IOerror FatalIOError
Foam::IOobject::IOobject
IOobject(const IOobject &)=default
Copy construct.
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:369
FatalIOErrorInLookup
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Definition:
error.H:478
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
Foam::IOdictionary::IOdictionary
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Definition:
IOdictionary.C:37
dict
dictionary dict
Definition:
searchingEngine.H:14
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
Foam::multiphaseSystem::New
static autoPtr< multiphaseSystem > New(const fvMesh &mesh)
Definition:
multiphaseSystemNew.C:33
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition:
errorManip.H:130
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition:
HashPtrTable.H:53
Foam::IOobject::MUST_READ_IF_MODIFIED
Definition:
IOobject.H:186
multiphaseSystem.H
src
phaseSystemModels
reactingEuler
multiphaseSystem
multiphaseSystem
multiphaseSystemNew.C
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.