BUGFIX: Illegal use of uninitialised value (backport)
[foam-extend-3.2.git] / src / VectorN / finiteVolume / fields / fvPatchFields / wedgeFvPatchVectorNFields.C
blob45c9046466e3892a934ffbd818821a492c051070
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright held by original author
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 \*---------------------------------------------------------------------------*/
27 #include "wedgeFvPatchVectorNFields.H"
28 #include "addToRunTimeSelectionTable.H"
30 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
32 namespace Foam
35 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
37 #define makeVectorTensorNWedgeFuncDefs(Type)                                  \
38 template<>                                                                    \
39 tmp<Field<Type> > wedgeFvPatchField<Type>::snGrad() const                     \
40 {                                                                             \
41     return tmp<Field<Type> >                                                  \
42     (                                                                         \
43         new Field<Type>(size(), pTraits<Type>::zero)                          \
44     );                                                                        \
45 }                                                                             \
46                                                                               \
47 template<>                                                                    \
48 void wedgeFvPatchField<Type>::evaluate(                                       \
49     const Pstream::commsTypes commsType                                       \
50 )                                                                             \
51 {                                                                             \
52     if (!updated())                                                           \
53     {                                                                         \
54         updateCoeffs();                                                       \
55     }                                                                         \
56                                                                               \
57     operator==(patchInternalField());                                         \
58 }                                                                             \
59                                                                               \
60 template<>                                                                    \
61 tmp<Field<Type> > wedgeFvPatchField<Type>::snGradTransformDiag()              \
62 const                                                                         \
63 {                                                                             \
64     return tmp<Field<Type> >                                                  \
65     (                                                                         \
66         new Field<Type>(this->size(), pTraits<Type>::zero)                    \
67     );                                                                        \
71 #define doMakePatchTypeField(type, Type, args...)                             \
72                                                                               \
73 makeVectorTensorNWedgeFuncDefs(type)                                          \
74                                                                               \
75 makeTemplatePatchTypeField                                                    \
76 (                                                                             \
77     fvPatch##Type##Field,                                                     \
78     wedgeFvPatch##Type##Field                                                 \
82 forAllVectorNTypes(doMakePatchTypeField)
84 forAllTensorNTypes(doMakePatchTypeField)
86 forAllDiagTensorNTypes(doMakePatchTypeField)
88 forAllSphericalTensorNTypes(doMakePatchTypeField)
91 #undef doMakePatchTypeField
93 #undef makeVectorTensorNWedgeFuncDefs
95 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
97 } // End namespace Foam
99 // ************************************************************************* //