Loading...
Searching...
No Matches
cyclicAMIPolyPatchI.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2013 OpenFOAM Foundation
9 Copyright (C) 2019-2020 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27\*---------------------------------------------------------------------------*/
28
29// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
34}
35
38{
39 return createAMIFaces_;
40}
41
44{
45 return updatingAMI_;
46}
47
48
50{
51 if (nbrPatchName_.empty())
52 {
53 // Try and use patchGroup to find samplePatch and sampleRegion
54 label patchID = coupleGroup_.findOtherPatchID(*this);
57 }
58 return nbrPatchName_;
59}
60
62inline Foam::scalar Foam::cyclicAMIPolyPatch::fraction() const
63{
64 return fraction_;
65}
66
67
69{
70 if (owner())
71 {
72 return AMI().srcWeights();
73 }
74
75 return neighbPatch().AMI().tgtWeights();
76}
77
78
80{
81 if (owner())
82 {
83 return AMI().srcWeightsSum();
84 }
85
86 return neighbPatch().AMI().tgtWeightsSum();
87}
88
93}
98 return faceCentres0_;
99}
102{
103 return rotationAxis_;
104}
105
110}
111
112
114{
115 return separationVector_;
116}
117
118
119// ************************************************************************* //
bool processorCase() const noexcept
True if this is a processor case.
Definition TimePathsI.H:52
static bool & parRun() noexcept
Test if this a parallel run.
Definition UPstream.H:1681
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
vectorField & faceAreas0() const
Return access to the initial face areas.
vector separationVector_
Translation vector.
word nbrPatchName_
Name of other half.
bool createAMIFaces_
Flag to indicate that new AMI faces will created.
const scalarField & weightsSum() const
Helper function to return the weights sum.
const word & neighbPatchName() const
Neighbour patch name.
const scalarListList & weights() const
Helper function to return the weights.
virtual bool owner() const
Does this side own the patch?
const scalar fraction_
Particle displacement fraction across AMI.
bool canResetAMI() const
Flag to indicate whether the AMI can be reset.
vectorField faceCentres0_
Temporary storage for AMI face centres.
const vector & separationVector() const
Translation vector for translational cyclic AMI.
scalar fraction() const
Particle fraction increase between AMI pathces.
vectorField faceAreas0_
Temporary storage for AMI face areas.
const point & rotationCentre() const
Point on axis of rotation for rotational cyclic AMI.
const vector & rotationAxis() const
Axis of rotation for rotational cyclic AMI.
const AMIPatchToPatchInterpolation & AMI() const
Return a reference to the AMI interpolator.
point rotationCentre_
Point on axis of rotation for rotational cyclics.
virtual const cyclicAMIPolyPatch & neighbPatch() const
Return a reference to the neighbour patch.
vectorField & faceCentres0() const
Return access to the initial face centres.
bool createAMIFaces() const
Return access to the createAMIFaces flag.
const coupleGroupIdentifier coupleGroup_
Optional patchGroup to find neighbPatch.
bool updatingAMI() const
Return access to the updated flag.
vector rotationAxis_
Axis of rotation for rotational cyclics.
const Time & time() const noexcept
Return time registry.
const polyMesh & mesh() const noexcept
Return the mesh reference.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
Definition polyPatch.C:295
A class for handling words, derived from Foam::string.
Definition word.H:66
List< scalarList > scalarListList
List of scalarList.
Definition scalarList.H:35
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
Definition point.H:37
Vector< scalar > vector
Definition vector.H:57