OpenFOAM logo
Open Source CFD Toolkit

edgeInterpolate.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-2005 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 the
00013     Free Software Foundation; either version 2 of the License, or (at your
00014     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, write to the Free Software Foundation,
00023     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00024 
00025 Namespace
00026     fac
00027 
00028 Description
00029 
00030 SourceFiles
00031     edgeInterpolate.C
00032 
00033 \*---------------------------------------------------------------------------*/
00034 
00035 #ifndef edgeInterpolate_H
00036 #define edgeInterpolate_H
00037 
00038 #include "tmp.H"
00039 #include "areaFieldsFwd.H"
00040 #include "edgeFieldsFwd.H"
00041 #include "edgeInterpolationScheme.H"
00042 
00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00044 
00045 namespace Foam
00046 {
00047 
00048 /*---------------------------------------------------------------------------*\
00049                      Namespace fa functions Declaration
00050 \*---------------------------------------------------------------------------*/
00051 
00052 namespace fac
00053 {
00054     //- Return weighting factors for scheme given from Istream
00055     template<class Type>
00056     static tmp<edgeInterpolationScheme<Type> > scheme
00057     (
00058         const edgeScalarField& faceFlux,
00059         Istream& schemeData
00060     );
00061 
00062     //- Return weighting factors for scheme given by name in dictionary
00063     template<class Type>
00064     static tmp<edgeInterpolationScheme<Type> > scheme
00065     (
00066         const edgeScalarField& faceFlux,
00067         const word& name
00068     );
00069 
00070 
00071     //- Return weighting factors for scheme given from Istream
00072     template<class Type>
00073     static tmp<edgeInterpolationScheme<Type> > scheme
00074     (
00075         const faMesh& mesh,
00076         Istream& schemeData
00077     );
00078 
00079     //- Return weighting factors for scheme given by name in dictionary
00080     template<class Type>
00081     static tmp<edgeInterpolationScheme<Type> > scheme
00082     (
00083         const faMesh& 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, faPatchField, edgeMesh> > interpolate
00091     (
00092         const GeometricField<Type, faPatchField, areaMesh>& tvf,
00093         const edgeScalarField& faceFlux,
00094         Istream& schemeData
00095     );
00096 
00097     //- Interpolate field onto faces using scheme given by name in faSchemes
00098     template<class Type>
00099     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00100     (
00101         const GeometricField<Type, faPatchField, areaMesh>& tvf,
00102         const edgeScalarField& faceFlux,
00103         const word& name
00104     );
00105 
00106     //- Interpolate field onto faces using scheme given by name in faSchemes
00107     template<class Type>
00108     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00109     (
00110         const tmp<GeometricField<Type, faPatchField, areaMesh> >& tvf,
00111         const edgeScalarField& faceFlux,
00112         const word& name
00113     );
00114 
00115     //- Interpolate field onto faces using scheme given by name in faSchemes
00116     template<class Type>
00117     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00118     (
00119         const GeometricField<Type, faPatchField, areaMesh>& tvf,
00120         const tmp<edgeScalarField>& faceFlux,
00121         const word& name
00122     );
00123 
00124     //- Interpolate field onto faces using scheme given by name in faSchemes
00125     template<class Type>
00126     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00127     (
00128         const tmp<GeometricField<Type, faPatchField, areaMesh> >& tvf,
00129         const tmp<edgeScalarField>& 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, faPatchField, edgeMesh> > interpolate
00137     (
00138         const GeometricField<Type, faPatchField, areaMesh>& tvf,
00139         Istream& schemeData
00140     );
00141 
00142     //- Interpolate field onto faces using scheme given by name in faSchemes
00143     template<class Type>
00144     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00145     (
00146         const GeometricField<Type, faPatchField, areaMesh>& tvf,
00147         const word& name
00148     );
00149 
00150     //- Interpolate field onto faces using scheme given by name in faSchemes
00151     template<class Type>
00152     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00153     (
00154         const tmp<GeometricField<Type, faPatchField, areaMesh> >& 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, faPatchField, edgeMesh> > interpolate
00162     (
00163         const tmp<GeometricField<Type, faPatchField, areaMesh> >& tvf
00164     );
00165 
00166     //- Interpolate field onto faces using central differencing
00167     template<class Type>
00168     static tmp<GeometricField<Type, faPatchField, edgeMesh> > interpolate
00169     (
00170         const GeometricField<Type, faPatchField, areaMesh>& tvf
00171     );
00172 }
00173 
00174 
00175 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00176 
00177 } // End namespace Foam
00178 
00179 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00180 
00181 #ifdef NoRepository
00182 #   include "edgeInterpolate.C"
00183 #endif
00184 
00185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00186 
00187 #endif
00188 
00189 // ************************************************************************* //
For further information go to www.openfoam.org