FreeFOAM The Cross-Platform CFD Toolkit
fvmLaplacian.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
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
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
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.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 InNamespace
25  Foam::fvm
26 
27 Description
28  Calculate the matrix for the laplacian of the field.
29 
30 SourceFiles
31  fvmLaplacian.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef fvmLaplacian_H
36 #define fvmLaplacian_H
37 
40 #include <finiteVolume/fvMatrix.H>
42 
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
44 
45 namespace Foam
46 {
47 
48 /*---------------------------------------------------------------------------*\
49  Namespace fvm functions Declaration
50 \*---------------------------------------------------------------------------*/
51 
52 namespace fvm
53 {
54  template<class Type>
55  tmp<fvMatrix<Type> > laplacian
56  (
57  GeometricField<Type, fvPatchField, volMesh>&,
58  const word&
59  );
60 
61  template<class Type>
62  tmp<fvMatrix<Type> > laplacian
63  (
64  GeometricField<Type, fvPatchField, volMesh>&
65  );
66 
67 
68  template<class Type>
69  tmp<fvMatrix<Type> > laplacian
70  (
71  const zeroField&,
72  GeometricField<Type, fvPatchField, volMesh>&,
73  const word&
74  );
75 
76  template<class Type>
77  tmp<fvMatrix<Type> > laplacian
78  (
79  const zeroField&,
80  GeometricField<Type, fvPatchField, volMesh>&
81  );
82 
83 
84  template<class Type>
85  tmp<fvMatrix<Type> > laplacian
86  (
87  const geometricOneField&,
88  GeometricField<Type, fvPatchField, volMesh>&,
89  const word&
90  );
91 
92  template<class Type>
93  tmp<fvMatrix<Type> > laplacian
94  (
95  const geometricOneField&,
96  GeometricField<Type, fvPatchField, volMesh>&
97  );
98 
99 
100  template<class Type, class GType>
101  tmp<fvMatrix<Type> > laplacian
102  (
103  const dimensioned<GType>&,
104  GeometricField<Type, fvPatchField, volMesh>&,
105  const word&
106  );
107 
108  template<class Type, class GType>
109  tmp<fvMatrix<Type> > laplacian
110  (
111  const dimensioned<GType>&,
112  GeometricField<Type, fvPatchField, volMesh>&
113  );
114 
115 
116  template<class Type, class GType>
117  tmp<fvMatrix<Type> > laplacian
118  (
119  const GeometricField<GType, fvPatchField, volMesh>&,
120  GeometricField<Type, fvPatchField, volMesh>&,
121  const word&
122  );
123 
124  template<class Type, class GType>
125  tmp<fvMatrix<Type> > laplacian
126  (
127  const GeometricField<GType, fvPatchField, volMesh>&,
128  GeometricField<Type, fvPatchField, volMesh>&
129  );
130 
131 
132  template<class Type, class GType>
133  tmp<fvMatrix<Type> > laplacian
134  (
135  const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
136  GeometricField<Type, fvPatchField, volMesh>&,
137  const word&
138  );
139 
140  template<class Type, class GType>
141  tmp<fvMatrix<Type> > laplacian
142  (
143  const tmp<GeometricField<GType, fvPatchField, volMesh> >&,
144  GeometricField<Type, fvPatchField, volMesh>&
145  );
146 
147 
148  template<class Type, class GType>
149  tmp<fvMatrix<Type> > laplacian
150  (
151  const GeometricField<GType, fvsPatchField, surfaceMesh>&,
152  GeometricField<Type, fvPatchField, volMesh>&,
153  const word&
154  );
155 
156  template<class Type, class GType>
157  tmp<fvMatrix<Type> > laplacian
158  (
159  const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
160  GeometricField<Type, fvPatchField, volMesh>&,
161  const word&
162  );
163 
164  template<class Type, class GType>
165  tmp<fvMatrix<Type> > laplacian
166  (
167  const GeometricField<GType, fvsPatchField, surfaceMesh>&,
168  GeometricField<Type, fvPatchField, volMesh>&
169  );
170 
171  template<class Type, class GType>
172  tmp<fvMatrix<Type> > laplacian
173  (
174  const tmp<GeometricField<GType, fvsPatchField, surfaceMesh> >&,
175  GeometricField<Type, fvPatchField, volMesh>&
176  );
177 }
178 
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 } // End namespace Foam
183 
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
185 
186 #ifdef NoRepository
187 # include <finiteVolume/fvmLaplacian.C>
188 #endif
189 
190 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
191 
192 #endif
193 
194 // ************************ vim: set sw=4 sts=4 et: ************************ //