fvcDdt.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-2017 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::fvc
28 
29 Description
30  Calculate the first temporal derivative.
31 
32 SourceFiles
33  fvcDdt.C
34 
35 \*---------------------------------------------------------------------------*/
36 
37 
38 #ifndef fvcDdt_H
39 #define fvcDdt_H
40 
41 #include "volFieldsFwd.H"
42 #include "surfaceFieldsFwd.H"
43 #include "dimensionedTypes.H"
44 #include "one.H"
45 #include "geometricZeroField.H"
46 
47 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 
49 namespace Foam
50 {
51 
52 /*---------------------------------------------------------------------------*\
53  Namespace fvc functions Declaration
54 \*---------------------------------------------------------------------------*/
55 
56 namespace fvc
57 {
58  template<class Type>
59  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
60  (
61  const dimensioned<Type>,
62  const fvMesh&
63  );
64 
65  template<class Type>
66  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
67  (
68  const GeometricField<Type, fvPatchField, volMesh>&
69  );
70 
71  template<class Type>
72  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
73  (
74  const dimensionedScalar&,
75  const GeometricField<Type, fvPatchField, volMesh>&
76  );
77 
78  template<class Type>
79  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
80  (
81  const volScalarField&,
82  const GeometricField<Type, fvPatchField, volMesh>&
83  );
84 
85  template<class Type>
86  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
87  (
88  const volScalarField&,
89  const volScalarField&,
90  const GeometricField<Type, fvPatchField, volMesh>&
91  );
92 
93  template<class Type>
94  tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> ddt
95  (
96  const GeometricField<Type, fvsPatchField, surfaceMesh>&
97  );
98 
99  template<class Type>
100  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
101  (
102  const one&,
103  const GeometricField<Type, fvPatchField, volMesh>&
104  );
105 
106  template<class Type>
107  tmp<GeometricField<Type, fvPatchField, volMesh>> ddt
108  (
109  const GeometricField<Type, fvPatchField, volMesh>&,
110  const one&
111  );
112 
113  inline geometricZeroField ddt
114  (
115  const one&,
116  const one&
117  )
118  {
119  return geometricZeroField();
120  }
121 
122  template<class Type>
123  tmp
124  <
126  <
127  typename Foam::flux<Type>::type,
130  >
131  >
132  ddtCorr
133  (
136  );
137 
138  template<class Type>
139  tmp
140  <
142  <
143  typename Foam::flux<Type>::type,
146  >
147  >
148  ddtCorr
149  (
151  const GeometricField
152  <
153  typename Foam::flux<Type>::type,
156  >& phi
157  );
158 
159  template<class Type>
160  tmp
161  <
163  <
164  typename Foam::flux<Type>::type,
167  >
168  >
169  ddtCorr
170  (
172  const GeometricField
173  <
174  typename Foam::flux<Type>::type,
177  >& phi,
179  );
180 
181  template<class Type>
182  tmp
183  <
185  <
186  typename Foam::flux<Type>::type,
189  >
190  >
191  ddtCorr
192  (
193  const volScalarField& rho,
196  );
197 
198  template<class Type>
199  tmp
200  <
202  <
203  typename Foam::flux<Type>::type,
206  >
207  >
208  ddtCorr
209  (
210  const volScalarField& rho,
212  const GeometricField
213  <
214  typename Foam::flux<Type>::type,
217  >& phi
218  );
219 
220  template<class Type>
221  tmp
222  <
224  <
225  typename Foam::flux<Type>::type,
228  >
229  >
230  ddtCorr
231  (
232  const volScalarField& rho,
234  const GeometricField
235  <
236  typename Foam::flux<Type>::type,
239  >& phi,
241  );
242 }
243 
244 
245 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
246 
247 } // End namespace Foam
248 
249 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
250 
251 #ifdef NoRepository
252  #include "fvcDdt.C"
253 #endif
254 
255 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
256 
257 #endif
258 
259 // ************************************************************************* //
volFieldsFwd.H
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::surfaceMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: surfaceMesh.H:49
Foam::fvsPatchField
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Definition: fvsPatchField.H:68
Uf
autoPtr< surfaceVectorField > Uf
Definition: createUfIfPresent.H:33
Foam::one
A class representing the concept of 1 (one) that can be used to avoid manipulating objects known to b...
Definition: one.H:61
rho
rho
Definition: readInitialConditions.H:88
one.H
Foam::geometricZeroField
A class representing the concept of a GeometricField of 0 used to avoid unnecessary manipulations for...
Definition: geometricZeroField.H:55
Foam::fvc::ddtCorr
tmp< GeometricField< typename flux< Type >::type, fvsPatchField, surfaceMesh > > ddtCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)
Definition: fvcDdt.C:172
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:42
phi
surfaceScalarField & phi
Definition: setRegionFluidFields.H:8
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
U
U
Definition: pEqn.H:72
fvcDdt.C
surfaceFieldsFwd.H
dimensionedTypes.H
Foam::fvc::ddt
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
Definition: fvcDdt.C:47
Foam::GeometricField
Generic GeometricField class.
Definition: areaFieldsFwd.H:53
geometricZeroField.H
Foam::innerProduct< vector, Type >::type
typeOfRank< typename pTraits< vector >::cmptType, direction(pTraits< vector >::rank)+direction(pTraits< Type >::rank) - 2 >::type type
Definition: products.H:149