OpenFOAM
4.1
The OpenFOAM Foundation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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-2015 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::distributionModels::distributionModel>
31
Foam::distributionModels::distributionModel::New
32
(
33
const
dictionary
& dict,
34
cachedRandom
& rndGen
35
)
36
{
37
const
word
modelType(dict.
lookup
(
"type"
));
38
39
Info
<<
"Selecting distribution model "
<< modelType <<
endl
;
40
41
dictionaryConstructorTable::iterator cstrIter =
42
dictionaryConstructorTablePtr_->find(modelType);
43
44
if
(cstrIter == dictionaryConstructorTablePtr_->end())
45
{
46
FatalErrorInFunction
47
<<
"Unknown distribution model type "
<< modelType <<
nl
<<
nl
48
<<
"Valid distribution model types are:"
<<
nl
49
<< dictionaryConstructorTablePtr_->sortedToc()
50
<<
exit
(
FatalError
);
51
}
52
53
return
autoPtr<distributionModel>
(cstrIter()(
dict
,
rndGen
));
54
}
55
56
57
// ************************************************************************* //
rndGen
cachedRandom rndGen(label(0),-1)
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::distributionModels::distributionModel::New
static autoPtr< distributionModel > New(const dictionary &dict, cachedRandom &rndGen)
Selector.
Definition:
distributionModelNew.C:32
Foam::word
A class for handling words, derived from string.
Definition:
word.H:59
Foam::nl
static const char nl
Definition:
Ostream.H:262
distributionModel.H
Foam::Info
messageStream Info
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition:
PtrList.H:53
Foam::dictionary::lookup
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
Definition:
dictionary.C:451
Generated by
1.8.11