mappedPatchBaseBaseI.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 \*---------------------------------------------------------------------------*/
25 
26 #include "mappedPatchBaseBase.H"
27 
28 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
29 
31 {
32  if (coupleGroup_.valid() && nbrRegionName_.empty())
33  {
34  // Try and use the couple group to find nbrPatch and nbrRegion. Note:
35  // This call sets nbrRegionName_.
36  const label nbrPatchID =
37  coupleGroup_.findOtherPatchID(patch_, nbrRegionName_);
38 
39  nbrPatchName_ = nbrMesh().boundaryMesh()[nbrPatchID].name();
40  }
41 
42  return nbrRegionName_;
43 }
44 
45 
47 {
48  if (nbrPatchName_.empty())
49  {
50  nbrRegionName();
51  }
52 
53  return nbrPatchName_;
54 }
55 
56 
58 {
59  return transform_.transform();
60 }
61 
62 
64 {
65  return nbrRegionName() == patch_.boundaryMesh().mesh().name();
66 }
67 
68 
70 {
71  return sameRegion() && nbrPatchName() == patch_.name();
72 }
73 
74 
76 {
77  return
78  samePatch()
79  && (
80  !transform_.transformComplete()
81  || !transform_.transform().transformsPosition()
82  );
83 }
84 
85 
86 // ************************************************************************* //
const word & name() const
Return name.
Definition: IOobject.H:310
bool valid() const
Is a valid patchGroup.
const transformer & transform() const
The transformation between the patches.
word nbrRegionName_
Name of the region to map from.
word nbrPatchName_
Name of the patch to map from.
bool samePatch() const
Is the neighbour patch the same as this patch?
const polyPatch & patch_
Patch to map to.
const polyMesh & nbrMesh() const
Get the mesh for the region to map from.
const word & nbrPatchName() const
Name of the patch to map from.
const word & nbrRegionName() const
Name of the region to map from.
bool sameUntransformedPatch() const
Is the neighbour patch the same as this patch with no transform?
bool sameRegion() const
Is the neighbour region the same as for this patch?
const coupleGroupIdentifier coupleGroup_
Couple group for the region/patch to map from.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Definition: polyMesh.H:404
Vector-tensor class used to perform translations, rotations and scaling operations in 3D space.
Definition: transformer.H:84
Type transform(const Type &) const
Transform the given type.
A class for handling words, derived from string.
Definition: word.H:62
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59