fvmSup.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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 InNamespace
27  Foam::fvm
28 
29 Description
30  Calculate the matrix for implicit and explicit sources.
31 
32 SourceFiles
33  fvmSup.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 #ifndef fvmSup_H
38 #define fvmSup_H
39 
40 #include "volFieldsFwd.H"
41 #include "fvMatrix.H"
42 #include "zeroField.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 /*---------------------------------------------------------------------------*\
50  Namespace fvm functions Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 namespace fvm
54 {
55  // Explicit source
56 
57  template<class Type>
58  tmp<fvMatrix<Type>> Su
59  (
60  const DimensionedField<Type, volMesh>&,
61  const GeometricField<Type, fvPatchField, volMesh>&
62  );
63 
64  template<class Type>
65  tmp<fvMatrix<Type>> Su
66  (
67  const tmp<DimensionedField<Type, volMesh>>&,
68  const GeometricField<Type, fvPatchField, volMesh>&
69  );
70 
71  template<class Type>
72  tmp<fvMatrix<Type>> Su
73  (
74  const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
75  const GeometricField<Type, fvPatchField, volMesh>&
76  );
77 
78  template<class Type>
80  (
81  const zero&,
82  const GeometricField<Type, fvPatchField, volMesh>&
83  );
84 
85 
86  // Implicit source
87 
88  template<class Type>
89  tmp<fvMatrix<Type>> Sp
90  (
92  const GeometricField<Type, fvPatchField, volMesh>&
93  );
94 
95  template<class Type>
96  tmp<fvMatrix<Type>> Sp
97  (
98  const tmp<volScalarField::Internal>&,
99  const GeometricField<Type, fvPatchField, volMesh>&
100  );
101 
102  template<class Type>
103  tmp<fvMatrix<Type>> Sp
104  (
105  const tmp<volScalarField>&,
106  const GeometricField<Type, fvPatchField, volMesh>&
107  );
108 
109 
110  template<class Type>
111  tmp<fvMatrix<Type>> Sp
112  (
113  const dimensionedScalar&,
114  const GeometricField<Type, fvPatchField, volMesh>&
115  );
116 
117 
118  template<class Type>
119  zeroField Sp
120  (
121  const zero&,
122  const GeometricField<Type, fvPatchField, volMesh>&
123  );
124 
125 
126  // Implicit/Explicit source depending on sign of coefficient
127 
128  template<class Type>
129  tmp<fvMatrix<Type>> SuSp
130  (
132  const GeometricField<Type, fvPatchField, volMesh>&
133  );
134 
135  template<class Type>
136  tmp<fvMatrix<Type>> SuSp
137  (
138  const tmp<volScalarField::Internal>&,
139  const GeometricField<Type, fvPatchField, volMesh>&
140  );
141 
142  template<class Type>
143  tmp<fvMatrix<Type>> SuSp
144  (
145  const tmp<volScalarField>&,
146  const GeometricField<Type, fvPatchField, volMesh>&
147  );
148 
149  template<class Type>
151  (
152  const zero&,
153  const GeometricField<Type, fvPatchField, volMesh>&
154  );
155 }
156 
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 } // End namespace Foam
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 #ifdef NoRepository
165  #include "fvmSup.C"
166 #endif
167 
168 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 
170 #endif
171 
172 // ************************************************************************* //
volFieldsFwd.H
Foam::vtk::Tools::zeroField
vtkSmartPointer< vtkFloatArray > zeroField(const word &name, const label size)
Create named field initialized to zero.
Definition: foamVtkToolsTemplates.C:327
fvMatrix.H
Foam::fvm::Su
tmp< fvMatrix< Type > > Su(const DimensionedField< Type, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
zeroField.H
Foam::fvm::SuSp
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Foam::fvm::Sp
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Foam::GeometricField< scalar, fvPatchField, volMesh >::Internal
DimensionedField< scalar, volMesh > Internal
Type of the internal field from which this GeometricField is derived.
Definition: GeometricField.H:107
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
fvmSup.C