initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / finiteVolume / finiteVolume / fvm / fvmLaplacian.H
blobcc06ec5008a7e8f9f940b63490ee0358f0451792
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
11     OpenFOAM is free software; you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
16     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 InNamespace
26     Foam::fvm
28 Description
29     Calculate the matrix for the laplacian of the field.
31 SourceFiles
32     fvmLaplacian.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef fvmLaplacian_H
37 #define fvmLaplacian_H
39 #include "volFieldsFwd.H"
40 #include "surfaceFieldsFwd.H"
41 #include "fvMatrix.H"
42 #include "oneField.H"
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 namespace Foam
49 /*---------------------------------------------------------------------------*\
50                      Namespace fvm functions Declaration
51 \*---------------------------------------------------------------------------*/
53 namespace fvm
55     template<class Type>
56     tmp<fvMatrix<Type> > laplacian
57     (
58         GeometricField<Type, fvPatchField, volMesh>&,
59         const word&
60     );
62     template<class Type>
63     tmp<fvMatrix<Type> > laplacian
64     (
65         GeometricField<Type, fvPatchField, volMesh>&
66     );
69     template<class Type>
70     tmp<fvMatrix<Type> > laplacian
71     (
72         const zeroField&,
73         GeometricField<Type, fvPatchField, volMesh>&,
74         const word&
75     );
77     template<class Type>
78     tmp<fvMatrix<Type> > laplacian
79     (
80         const zeroField&,
81         GeometricField<Type, fvPatchField, volMesh>&
82     );
85     template<class Type>
86     tmp<fvMatrix<Type> > laplacian
87     (
88         const oneField&,
89         GeometricField<Type, fvPatchField, volMesh>&,
90         const word&
91     );
93     template<class Type>
94     tmp<fvMatrix<Type> > laplacian
95     (
96         const oneField&,
97         GeometricField<Type, fvPatchField, volMesh>&
98     );
101     template<class Type, class GType>
102     tmp<fvMatrix<Type> > laplacian
103     (
104         const dimensioned<GType>&,
105         GeometricField<Type, fvPatchField, volMesh>&,
106         const word&
107     );
109     template<class Type, class GType>
110     tmp<fvMatrix<Type> > laplacian
111     (
112         const dimensioned<GType>&,
113         GeometricField<Type, fvPatchField, volMesh>&
114     );
117     template<class Type, class GType>
118     tmp<fvMatrix<Type> > laplacian
119     (
120         const GeometricField<GType, fvPatchField, volMesh>&,
121         GeometricField<Type, fvPatchField, volMesh>&,
122         const word&
123     );
125     template<class Type, class GType>
126     tmp<fvMatrix<Type> > laplacian
127     (
128         const GeometricField<GType, fvPatchField, volMesh>&,
129         GeometricField<Type, fvPatchField, volMesh>&
130     );
133     template<class Type, class GType>
134     tmp<fvMatrix<Type> > laplacian
135     (
136         const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
137         GeometricField<Type, fvPatchField, volMesh>&,
138         const word&
139     );
141     template<class Type, class GType>
142     tmp<fvMatrix<Type> > laplacian
143     (
144         const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
145         GeometricField<Type, fvPatchField, volMesh>&
146     );
149     template<class Type, class GType>
150     tmp<fvMatrix<Type> > laplacian
151     (
152         const GeometricField<GType, fvsPatchField, surfaceMesh>&,
153         GeometricField<Type, fvPatchField, volMesh>&,
154         const word&
155     );
157     template<class Type, class GType>
158     tmp<fvMatrix<Type> > laplacian
159     (
160         const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
161         GeometricField<Type, fvPatchField, volMesh>&,
162         const word&
163     );
165     template<class Type, class GType>
166     tmp<fvMatrix<Type> > laplacian
167     (
168         const GeometricField<GType, fvsPatchField, surfaceMesh>&,
169         GeometricField<Type, fvPatchField, volMesh>&
170     );
172     template<class Type, class GType>
173     tmp<fvMatrix<Type> > laplacian
174     (
175         const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
176         GeometricField<Type, fvPatchField, volMesh>&
177     );
181 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183 } // End namespace Foam
185 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
187 #ifdef NoRepository
188 #   include "fvmLaplacian.C"
189 #endif
191 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
193 #endif
195 // ************************************************************************* //