FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

surfaceInterpolate.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002   =========                 |
00003   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
00004    \\    /   O peration     |
00005     \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
00006      \\/     M anipulation  |
00007 -------------------------------------------------------------------------------
00008 License
00009     This file is part of OpenFOAM.
00010 
00011     OpenFOAM is free software: you can redistribute it and/or modify it
00012     under the terms of the GNU General Public License as published by
00013     the Free Software Foundation, either version 3 of the License, or
00014     (at your option) any later version.
00015 
00016     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
00017     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00018     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00019     for more details.
00020 
00021     You should have received a copy of the GNU General Public License
00022     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
00023 
00024 InNamespace
00025     Foam::fvc
00026 
00027 Description
00028     Surface Interpolation
00029 
00030 SourceFiles
00031     surfaceInterpolate.C
00032 
00033 \*---------------------------------------------------------------------------*/
00034 
00035 #ifndef surfaceInterpolate_H
00036 #define surfaceInterpolate_H
00037 
00038 #include <OpenFOAM/tmp.H>
00039 #include <finiteVolume/volFieldsFwd.H>
00040 #include <finiteVolume/surfaceFieldsFwd.H>
00041 #include <finiteVolume/surfaceInterpolationScheme.H>
00042 
00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00044 
00045 namespace Foam
00046 {
00047 
00048 /*---------------------------------------------------------------------------*\
00049                      Namespace fvc functions Declaration
00050 \*---------------------------------------------------------------------------*/
00051 
00052 namespace fvc
00053 {
00054     //- Return weighting factors for scheme given from Istream
00055     template<class Type>
00056     static tmp<surfaceInterpolationScheme<Type> > scheme
00057     (
00058         const surfaceScalarField& faceFlux,
00059         Istream& schemeData
00060     );
00061 
00062     //- Return weighting factors for scheme given by name in dictionary
00063     template<class Type>
00064     static tmp<surfaceInterpolationScheme<Type> > scheme
00065     (
00066         const surfaceScalarField& faceFlux,
00067         const word& name
00068     );
00069 
00070 
00071     //- Return weighting factors for scheme given from Istream
00072     template<class Type>
00073     static tmp<surfaceInterpolationScheme<Type> > scheme
00074     (
00075         const fvMesh& mesh,
00076         Istream& schemeData
00077     );
00078 
00079     //- Return weighting factors for scheme given by name in dictionary
00080     template<class Type>
00081     static tmp<surfaceInterpolationScheme<Type> > scheme
00082     (
00083         const fvMesh& mesh,
00084         const word& name
00085     );
00086 
00087 
00088     //- Interpolate field onto faces using scheme given by Istream
00089     template<class Type>
00090     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00091     (
00092         const GeometricField<Type, fvPatchField, volMesh>& tvf,
00093         const surfaceScalarField& faceFlux,
00094         Istream& schemeData
00095     );
00096 
00097     //- Interpolate field onto faces using scheme given by name in fvSchemes
00098     template<class Type>
00099     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00100     (
00101         const GeometricField<Type, fvPatchField, volMesh>& tvf,
00102         const surfaceScalarField& faceFlux,
00103         const word& name
00104     );
00105 
00106     //- Interpolate field onto faces using scheme given by name in fvSchemes
00107     template<class Type>
00108     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00109     (
00110         const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf,
00111         const surfaceScalarField& faceFlux,
00112         const word& name
00113     );
00114 
00115     //- Interpolate field onto faces using scheme given by name in fvSchemes
00116     template<class Type>
00117     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00118     (
00119         const GeometricField<Type, fvPatchField, volMesh>& tvf,
00120         const tmp<surfaceScalarField>& faceFlux,
00121         const word& name
00122     );
00123 
00124     //- Interpolate field onto faces using scheme given by name in fvSchemes
00125     template<class Type>
00126     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00127     (
00128         const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf,
00129         const tmp<surfaceScalarField>& faceFlux,
00130         const word& name
00131     );
00132 
00133 
00134     //- Interpolate field onto faces using scheme given by Istream
00135     template<class Type>
00136     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00137     (
00138         const GeometricField<Type, fvPatchField, volMesh>& tvf,
00139         Istream& schemeData
00140     );
00141 
00142     //- Interpolate field onto faces using scheme given by name in fvSchemes
00143     template<class Type>
00144     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00145     (
00146         const GeometricField<Type, fvPatchField, volMesh>& tvf,
00147         const word& name
00148     );
00149 
00150     //- Interpolate field onto faces using scheme given by name in fvSchemes
00151     template<class Type>
00152     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00153     (
00154         const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf,
00155         const word& name
00156     );
00157 
00158 
00159     //- Interpolate tmp field onto faces using central differencing
00160     template<class Type>
00161     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00162     (
00163         const tmp<GeometricField<Type, fvPatchField, volMesh> >& tvf
00164     );
00165 
00166     //- Interpolate field onto faces using central differencing
00167     template<class Type>
00168     static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > interpolate
00169     (
00170         const GeometricField<Type, fvPatchField, volMesh>& tvf
00171     );
00172 }
00173 
00174 
00175 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00176 
00177 } // End namespace Foam
00178 
00179 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00180 
00181 #ifdef NoRepository
00182 #   include <finiteVolume/surfaceInterpolate.C>
00183 #endif
00184 
00185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00186 
00187 #endif
00188 
00189 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines