OpenFOAM
5.0
The OpenFOAM Foundation
src
lagrangian
distributionModels
distributionModel
distributionModelNew.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 | Copyright (C) 2011-2017 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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.
15
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.
20
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/>.
23
24
\*---------------------------------------------------------------------------*/
25
26
#include "
distributionModel.H
"
27
28
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
29
30
Foam::autoPtr<Foam::distributionModel>
Foam::distributionModel::New
31
(
32
const
dictionary
& dict,
33
cachedRandom
& rndGen
34
)
35
{
36
const
word
modelType(dict.
lookup
(
"type"
));
37
38
Info
<<
"Selecting distribution model "
<< modelType <<
endl
;
39
40
dictionaryConstructorTable::iterator cstrIter =
41
dictionaryConstructorTablePtr_->find(modelType);
42
43
if
(cstrIter == dictionaryConstructorTablePtr_->end())
44
{
45
FatalErrorInFunction
46
<<
"Unknown distribution model type "
<< modelType <<
nl
<<
nl
47
<<
"Valid distribution model types are:"
<<
nl
48
<< dictionaryConstructorTablePtr_->sortedToc()
49
<<
exit
(
FatalError
);
50
}
51
52
return
autoPtr<distributionModel>
(cstrIter()(
dict
,
rndGen
));
53
}
54
55
56
// ************************************************************************* //
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::exit
errorManipArg< error, int > exit(error &err, const int errNo=1)
Definition:
errorManip.H:124
Foam::FatalError
error FatalError
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition:
dictionary.H:137
FatalErrorInFunction
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Definition:
error.H:319
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition:
Ostream.H:253
Foam::cachedRandom
Random number generator.
Definition:
cachedRandom.H:63
Foam::word
A class for handling words, derived from string.
Definition:
word.H:59
rndGen
cachedRandom rndGen(label(0), -1)
Foam::distributionModel::New
static autoPtr< distributionModel > New(const dictionary &dict, cachedRandom &rndGen)
Selector.
Definition:
distributionModelNew.C:31
Foam::nl
static const char nl
Definition:
Ostream.H:262
distributionModel.H
Foam::Info
messageStream Info
Foam::autoPtr< Foam::distributionModel >
Foam::dictionary::lookup
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
Definition:
dictionary.C:576
Generated by
1.8.13