Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / finiteVolume / fvMesh / wallDist / reflectionVectors.C
blobefd3d5eb1b3c893da60f434d8080ba085fa2468b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend 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 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 \*---------------------------------------------------------------------------*/
26 #include "reflectionVectors.H"
27 #include "surfaceFields.H"
29 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
31 // Construct from components
32 Foam::reflectionVectors::reflectionVectors(const Foam::fvMesh& mesh)
34     n_
35     (
36         IOobject
37         (
38             "reflectionVectors",
39             mesh.time().timeName(),
40             mesh
41         ),
42         mesh,
43         dimensionedVector("n", dimless, vector::zero)
44     )
46     correct();
50 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
52 void Foam::reflectionVectors::correct()
54     const fvMesh& mesh = n_.mesh();
55     const fvPatchList& patches = mesh.boundary();
57     forAll (patches, patchi)
58     {
59         // find the nearest face for every cell
60         if (patches[patchi].isWall())
61         {
62             n_.boundaryField()[patchi] =
63                 mesh.Sf().boundaryField()[patchi]
64                /mesh.magSf().boundaryField()[patchi];
65         }
66     }
70 // ************************************************************************* //