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 <potential/energyScalingFunction.H>
00027
00028
00029
00030 namespace Foam
00031 {
00032
00033
00034
00035 autoPtr<energyScalingFunction> energyScalingFunction::New
00036 (
00037 const word& name,
00038 const dictionary& energyScalingFunctionProperties,
00039 const pairPotential& pairPot
00040 )
00041 {
00042 word energyScalingFunctionTypeName
00043 (
00044 energyScalingFunctionProperties.lookup("energyScalingFunction")
00045 );
00046
00047 Info<< "Selecting energy scaling function "
00048 << energyScalingFunctionTypeName << " for "
00049 << name << " potential energy." << endl;
00050
00051 dictionaryConstructorTable::iterator cstrIter =
00052 dictionaryConstructorTablePtr_->find(energyScalingFunctionTypeName);
00053
00054 if (cstrIter == dictionaryConstructorTablePtr_->end())
00055 {
00056 FatalErrorIn
00057 (
00058 "energyScalingFunction::New()"
00059 ) << "Unknown energyScalingFunction type "
00060 << energyScalingFunctionTypeName << nl << nl
00061 << "Valid energyScalingFunctions are: " << nl
00062 << dictionaryConstructorTablePtr_->sortedToc()
00063 << exit(FatalError);
00064 }
00065
00066 return autoPtr<energyScalingFunction>
00067 (cstrIter()(name, energyScalingFunctionProperties, pairPot));
00068 }
00069
00070
00071
00072
00073 }
00074
00075