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 <dynamicFvMesh/solidBodyMotionFunction.H>
00027
00028
00029
00030 Foam::autoPtr<Foam::solidBodyMotionFunction> Foam::solidBodyMotionFunction::New
00031 (
00032 const dictionary& SBMFCoeffs,
00033 const Time& runTime
00034 )
00035 {
00036 word solidBodyMotionFunctionTypeName =
00037 SBMFCoeffs.lookup("solidBodyMotionFunction");
00038
00039 Info<< "Selecting solid-body motion function "
00040 << solidBodyMotionFunctionTypeName << endl;
00041
00042 dictionaryConstructorTable::iterator cstrIter =
00043 dictionaryConstructorTablePtr_->find(solidBodyMotionFunctionTypeName);
00044
00045 if (cstrIter == dictionaryConstructorTablePtr_->end())
00046 {
00047 FatalErrorIn
00048 (
00049 "solidBodyMotionFunction::New"
00050 "("
00051 " const dictionary& SBMFCoeffs,"
00052 " const Time& runTime"
00053 ")"
00054 ) << "Unknown solidBodyMotionFunction type "
00055 << solidBodyMotionFunctionTypeName << endl << endl
00056 << "Valid solidBodyMotionFunctions are : " << endl
00057 << dictionaryConstructorTablePtr_->sortedToc()
00058 << exit(FatalError);
00059 }
00060
00061 return autoPtr<solidBodyMotionFunction>(cstrIter()(SBMFCoeffs, runTime));
00062 }
00063
00064
00065