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

fvmLaplacian.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::fvm
00026 
00027 Description
00028     Calculate the matrix for the laplacian of the field.
00029 
00030 SourceFiles
00031     fvmLaplacian.C
00032 
00033 \*---------------------------------------------------------------------------*/
00034 
00035 #ifndef fvmLaplacian_H
00036 #define fvmLaplacian_H
00037 
00038 #include <finiteVolume/volFieldsFwd.H>
00039 #include <finiteVolume/surfaceFieldsFwd.H>
00040 #include <finiteVolume/fvMatrix.H>
00041 #include <OpenFOAM/geometricOneField.H>
00042 
00043 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00044 
00045 namespace Foam
00046 {
00047 
00048 /*---------------------------------------------------------------------------*\
00049                      Namespace fvm functions Declaration
00050 \*---------------------------------------------------------------------------*/
00051 
00052 namespace fvm
00053 {
00054     template<class Type>
00055     tmp<fvMatrix<Type> > laplacian
00056     (
00057         GeometricField<Type, fvPatchField, volMesh>&,
00058         const word&
00059     );
00060 
00061     template<class Type>
00062     tmp<fvMatrix<Type> > laplacian
00063     (
00064         GeometricField<Type, fvPatchField, volMesh>&
00065     );
00066 
00067 
00068     template<class Type>
00069     tmp<fvMatrix<Type> > laplacian
00070     (
00071         const zeroField&,
00072         GeometricField<Type, fvPatchField, volMesh>&,
00073         const word&
00074     );
00075 
00076     template<class Type>
00077     tmp<fvMatrix<Type> > laplacian
00078     (
00079         const zeroField&,
00080         GeometricField<Type, fvPatchField, volMesh>&
00081     );
00082 
00083 
00084     template<class Type>
00085     tmp<fvMatrix<Type> > laplacian
00086     (
00087         const geometricOneField&,
00088         GeometricField<Type, fvPatchField, volMesh>&,
00089         const word&
00090     );
00091 
00092     template<class Type>
00093     tmp<fvMatrix<Type> > laplacian
00094     (
00095         const geometricOneField&,
00096         GeometricField<Type, fvPatchField, volMesh>&
00097     );
00098 
00099 
00100     template<class Type, class GType>
00101     tmp<fvMatrix<Type> > laplacian
00102     (
00103         const dimensioned<GType>&,
00104         GeometricField<Type, fvPatchField, volMesh>&,
00105         const word&
00106     );
00107 
00108     template<class Type, class GType>
00109     tmp<fvMatrix<Type> > laplacian
00110     (
00111         const dimensioned<GType>&,
00112         GeometricField<Type, fvPatchField, volMesh>&
00113     );
00114 
00115 
00116     template<class Type, class GType>
00117     tmp<fvMatrix<Type> > laplacian
00118     (
00119         const GeometricField<GType, fvPatchField, volMesh>&,
00120         GeometricField<Type, fvPatchField, volMesh>&,
00121         const word&
00122     );
00123 
00124     template<class Type, class GType>
00125     tmp<fvMatrix<Type> > laplacian
00126     (
00127         const GeometricField<GType, fvPatchField, volMesh>&,
00128         GeometricField<Type, fvPatchField, volMesh>&
00129     );
00130 
00131 
00132     template<class Type, class GType>
00133     tmp<fvMatrix<Type> > laplacian
00134     (
00135         const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
00136         GeometricField<Type, fvPatchField, volMesh>&,
00137         const word&
00138     );
00139 
00140     template<class Type, class GType>
00141     tmp<fvMatrix<Type> > laplacian
00142     (
00143         const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
00144         GeometricField<Type, fvPatchField, volMesh>&
00145     );
00146 
00147 
00148     template<class Type, class GType>
00149     tmp<fvMatrix<Type> > laplacian
00150     (
00151         const GeometricField<GType, fvsPatchField, surfaceMesh>&,
00152         GeometricField<Type, fvPatchField, volMesh>&,
00153         const word&
00154     );
00155 
00156     template<class Type, class GType>
00157     tmp<fvMatrix<Type> > laplacian
00158     (
00159         const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
00160         GeometricField<Type, fvPatchField, volMesh>&,
00161         const word&
00162     );
00163 
00164     template<class Type, class GType>
00165     tmp<fvMatrix<Type> > laplacian
00166     (
00167         const GeometricField<GType, fvsPatchField, surfaceMesh>&,
00168         GeometricField<Type, fvPatchField, volMesh>&
00169     );
00170 
00171     template<class Type, class GType>
00172     tmp<fvMatrix<Type> > laplacian
00173     (
00174         const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
00175         GeometricField<Type, fvPatchField, volMesh>&
00176     );
00177 }
00178 
00179 
00180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00181 
00182 } // End namespace Foam
00183 
00184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00185 
00186 #ifdef NoRepository
00187 #   include <finiteVolume/fvmLaplacian.C>
00188 #endif
00189 
00190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
00191 
00192 #endif
00193 
00194 // ************************ vim: set sw=4 sts=4 et: ************************ //
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines