All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fvmDiv.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
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 divergence of the given field and flux.
29 
30 SourceFiles
31  fvmDiv.C
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef fvmDiv_H
36 #define fvmDiv_H
37 
38 #include "volFieldsFwd.H"
39 #include "surfaceFieldsFwd.H"
41 
42 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43 
44 namespace Foam
45 {
46 
47 template<class Type> class fvMatrix;
48 
49 /*---------------------------------------------------------------------------*\
50  Namespace fvm functions Declaration
51 \*---------------------------------------------------------------------------*/
52 
53 namespace fvm
54 {
55  template<class Type>
56  tmp<fvMatrix<Type>> div
57  (
58  const surfaceScalarField&,
59  const VolField<Type>&,
60  const word& name
61  );
62 
63  template<class Type>
64  tmp<fvMatrix<Type>> div
65  (
66  const tmp<surfaceScalarField>&,
67  const VolField<Type>&,
68  const word& name
69  );
70 
71 
72  template<class Type>
73  tmp<fvMatrix<Type>> div
74  (
75  const surfaceScalarField&,
76  const VolField<Type>&
77  );
78 
79  template<class Type>
80  tmp<fvMatrix<Type>> div
81  (
82  const tmp<surfaceScalarField>&,
83  const VolField<Type>&
84  );
85 
86  //- Return the explicit div matrix
87  // containing the div(flux) source
88  // and the cached flux if fluxRequired
89  template<class Type>
90  tmp<fvMatrix<Type>> divc
91  (
92  const tmp<SurfaceField<Type>>& flux,
93  const VolField<Type>& vf
94  );
95 }
96 
97 
98 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
99 
100 } // End namespace Foam
101 
102 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 
104 #ifdef NoRepository
105  #include "fvmDiv.C"
106 #endif
107 
108 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
109 
110 #endif
111 
112 // ************************************************************************* //
tmp< SurfaceField< typename innerProduct< vector, Type >::type > > flux(const VolField< Type > &vf)
Return the face-flux field obtained from the given volVectorField.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
Definition: fvmDiv.C:48
tmp< fvMatrix< Type > > divc(const tmp< SurfaceField< Type >> &tflux, const VolField< Type > &vf)
Return the explicit div matrix.
Definition: fvmDiv.C:105
Namespace for OpenFOAM.
word name(const bool)
Return a word representation of a bool.
Definition: boolIO.C:39
SurfaceField< scalar > surfaceScalarField