Fix tutorials: typo in tutorials/viscoelastic/viscoelasticFluidFoam/S-MDCPP/constant...
[OpenFOAM-1.6-ext.git] / src / dynamicMesh / polyMeshModifiers / slidingInterface / enrichedPatch / enrichedPatchPointMap.C
blob1ab6143d5100c5ae3100cd4c6a4ba143b33cd310
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 Description
26     Enriched patch point map
28 Author
29     Hrvoje Jasak, Wikki Ltd.  All rights reserved.  Copyright Hrvoje Jasak.
31 \*---------------------------------------------------------------------------*/
33 #include "enrichedPatch.H"
35 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
37 void Foam::enrichedPatch::completePointMap() const
39     if (pointMapComplete_)
40     {
41         FatalErrorIn("void enrichedPatch::completePointMap() const")
42             << "Point map already completed"
43             << abort(FatalError);
44     }
46     pointMapComplete_ = true;
48     const Map<label>& pmm = pointMergeMap();
50     // Get the mesh points for both patches.  If the point has not been
51     // merged away, add it to the map
53     // Do master patch
54     const labelList& masterMeshPoints = masterPatch_.meshPoints();
55     const pointField& masterLocalPoints = masterPatch_.localPoints();
57     forAll (masterMeshPoints, pointI)
58     {
59         if 
60         (
61             !pmm.found(masterMeshPoints[pointI])
62          && !pointMap_.found(masterMeshPoints[pointI])
63         )
64         {
65             pointMap_.insert
66             (
67                 masterMeshPoints[pointI],
68                 masterLocalPoints[pointI]
69             );
70         }
71     }
73     // Do slave patch
74     const labelList& slaveMeshPoints = slavePatch_.meshPoints();
75     const pointField& slaveLocalPoints = slavePatch_.localPoints();
77     forAll (slaveMeshPoints, pointI)
78     {
79         if
80         (
81             !pmm.found(slaveMeshPoints[pointI])
82          && !pointMap_.found(slaveMeshPoints[pointI])
83         )
84         {
85             pointMap_.insert
86             (
87                 slaveMeshPoints[pointI],
88                 slaveLocalPoints[pointI]
89             );
90         }
91     }
95 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
98 Foam::Map<Foam::point>& Foam::enrichedPatch::pointMap()
100     return pointMap_;
104 const Foam::Map<Foam::point>& Foam::enrichedPatch::pointMap() const
106     return pointMap_;
110 // ************************************************************************* //