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 
00027 
00028 
00029 #include <finiteVolume/fv.H>
00030 #include "multivariateSurfaceInterpolationScheme.H"
00031 #include <finiteVolume/volFields.H>
00032 #include <finiteVolume/surfaceFields.H>
00033 
00034 
00035 
00036 namespace Foam
00037 {
00038 
00039 
00040 
00041 
00042 template<class Type>
00043 multivariateSurfaceInterpolationScheme<Type>::
00044 multivariateSurfaceInterpolationScheme
00045 (
00046     const fvMesh& mesh,
00047     const multivariateSurfaceInterpolationScheme<Type>::fieldTable& vtfs,
00048     const surfaceScalarField&,
00049     Istream&
00050 )
00051 :
00052     mesh_(mesh),
00053     fields_(vtfs)
00054 {}
00055 
00056 
00057 
00058 
00059 
00060 template<class Type>
00061 tmp<multivariateSurfaceInterpolationScheme<Type> >
00062 multivariateSurfaceInterpolationScheme<Type>::New
00063 (
00064     const fvMesh& mesh,
00065     const multivariateSurfaceInterpolationScheme<Type>::fieldTable& vtfs,
00066     const surfaceScalarField& faceFlux,
00067     Istream& schemeData
00068 )
00069 {
00070     if (fv::debug)
00071     {
00072         Info<< "multivariateSurfaceInterpolationScheme<Type>::New"
00073                "(const fvMesh& mesh, const fieldTable&, "
00074                "const surfaceScalarField&, Istream&) : "
00075                "constructing surfaceInterpolationScheme<Type>"
00076             << endl;
00077     }
00078 
00079     word schemeName(schemeData);
00080 
00081     typename IstreamConstructorTable::iterator constructorIter =
00082         IstreamConstructorTablePtr_->find(schemeName);
00083 
00084     if (constructorIter == IstreamConstructorTablePtr_->end())
00085     {
00086         FatalIOErrorIn
00087         (
00088             "multivariateSurfaceInterpolationScheme<Type>::New"
00089             "(const fvMesh& mesh, const fieldTable&, "
00090             "const surfaceScalarField&, Istream&)",
00091             schemeData
00092         )   << "unknown discretisation scheme " << schemeName << endl << endl
00093             << "Valid schemes are :" << endl
00094             << IstreamConstructorTablePtr_->sortedToc()
00095             << exit(FatalIOError);
00096     }
00097 
00098     return constructorIter()(mesh, vtfs, faceFlux, schemeData);
00099 }
00100 
00101 
00102 
00103 
00104 template<class Type>
00105 multivariateSurfaceInterpolationScheme<Type>::
00106 ~multivariateSurfaceInterpolationScheme()
00107 {}
00108 
00109 
00110 
00111 
00112 } 
00113 
00114