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 "viscosityModel.H"
00027 #include <finiteVolume/volFields.H>
00028 #include <finiteVolume/surfaceFields.H>
00029
00030
00031
00032 namespace Foam
00033 {
00034
00035
00036
00037 autoPtr<viscosityModel> viscosityModel::New
00038 (
00039 const word& name,
00040 const dictionary& viscosityProperties,
00041 const volVectorField& U,
00042 const surfaceScalarField& phi
00043 )
00044 {
00045 word viscosityModelTypeName(viscosityProperties.lookup("transportModel"));
00046
00047 Info<< "Selecting incompressible transport model "
00048 << viscosityModelTypeName << endl;
00049
00050 dictionaryConstructorTable::iterator cstrIter =
00051 dictionaryConstructorTablePtr_->find(viscosityModelTypeName);
00052
00053 if (cstrIter == dictionaryConstructorTablePtr_->end())
00054 {
00055 FatalErrorIn
00056 (
00057 "viscosityModel::New(const volVectorField&, "
00058 "const surfaceScalarField&)"
00059 ) << "Unknown viscosityModel type "
00060 << viscosityModelTypeName << endl << endl
00061 << "Valid viscosityModels are : " << endl
00062 << dictionaryConstructorTablePtr_->sortedToc()
00063 << exit(FatalError);
00064 }
00065
00066 return autoPtr<viscosityModel>
00067 (cstrIter()(name, viscosityProperties, U, phi));
00068 }
00069
00070
00071
00072
00073 }
00074
00075