Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <OpenFOAM/error.H>
00027
00028 #include "collisionModel.H"
00029 #include <dieselSpray/noCollision.H>
00030 #include <dieselSpray/ORourkeCollisionModel.H>
00031 #include <dieselSpray/trajectoryModel.H>
00032
00033
00034
00035 namespace Foam
00036 {
00037
00038
00039
00040 autoPtr<collisionModel> collisionModel::New
00041 (
00042 const dictionary& dict,
00043 spray& sm,
00044 Random& rndGen
00045 )
00046 {
00047 word collisionModelType
00048 (
00049 dict.lookup("collisionModel")
00050 );
00051
00052 Info<< "Selecting collisionModel "
00053 << collisionModelType << endl;
00054
00055
00056 dictionaryConstructorTable::iterator cstrIter =
00057 dictionaryConstructorTablePtr_->find(collisionModelType);
00058
00059 if (cstrIter == dictionaryConstructorTablePtr_->end())
00060 {
00061 FatalError
00062 << "collisionModel::New(const dictionary&, const spray&) : "
00063 << nl
00064 << " unknown collisionModelType type "
00065 << collisionModelType
00066 << ", constructor not in hash table" << nl << nl
00067 << " Valid collisionModel types are :" << nl
00068 << dictionaryConstructorTablePtr_->sortedToc()
00069 << abort(FatalError);
00070 }
00071
00072 return autoPtr<collisionModel>(cstrIter()(dict, sm, rndGen));
00073 }
00074
00075
00076
00077
00078 }
00079
00080