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 #include "IntegrationScheme.H"
00028
00029
00030
00031 template<class Type>
00032 Foam::autoPtr<Foam::IntegrationScheme<Type> >
00033 Foam::IntegrationScheme<Type>::New
00034 (
00035 const word& phiName,
00036 const dictionary& dict
00037 )
00038 {
00039 word IntegrationSchemeTypeName;
00040
00041 dict.lookup(phiName) >> IntegrationSchemeTypeName;
00042
00043 Info<< "Selecting " << phiName << " IntegrationScheme "
00044 << IntegrationSchemeTypeName << endl;
00045
00046 typename dictionaryConstructorTable::iterator cstrIter =
00047 dictionaryConstructorTablePtr_->find(IntegrationSchemeTypeName);
00048
00049 if (cstrIter == dictionaryConstructorTablePtr_->end())
00050 {
00051 FatalErrorIn
00052 (
00053 "IntegrationScheme::New(const dictionary&)"
00054 ) << "Unknown IntegrationScheme type "
00055 << IntegrationSchemeTypeName << nl << nl
00056 << "Valid IntegrationScheme types are:" << nl
00057 << dictionaryConstructorTablePtr_->sortedToc() << nl
00058 << exit(FatalError);
00059 }
00060
00061 return autoPtr<IntegrationScheme<Type> >(cstrIter()(phiName, dict));
00062 }
00063
00064