nonConformalMappedPolyFacesFvsPatchLabelField.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) 2023-2024 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 Class
25  Foam::nonConformalMappedPolyFacesFvsPatchLabelField
26 
27 SourceFiles
28  nonConformalMappedPolyFacesFvsPatchLabelField.C
29 
30 \*---------------------------------------------------------------------------*/
31 
32 #ifndef nonConformalMappedPolyFacesFvsPatchLabelField_H
33 #define nonConformalMappedPolyFacesFvsPatchLabelField_H
34 
35 #include "fvsPatchFields.H"
36 
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
38 
39 namespace Foam
40 {
41 
42 /*---------------------------------------------------------------------------*\
43  Class nonConformalMappedPolyFacesFvsPatchLabel Declaration
44 \*---------------------------------------------------------------------------*/
45 
47 :
48  public fvsPatchLabelField
49 {
50 private:
51 
52  // Private Member Data
53 
54  //- The offsets of the processor sub-ranges
55  labelList procOffsets_;
56 
57 
58 public:
59 
60  //- Runtime type information
61  TypeName("nonConformalMappedPolyFaces");
62 
63 
64  // Constructors
65 
66  //- Construct from patch and internal field
68  (
69  const fvPatch&,
71  );
72 
73  //- Construct from patch, internal field and dictionary
75  (
76  const fvPatch&,
78  const dictionary&
79  );
80 
81  //- Construct by mapping given patchField<Type> onto a new patch
83  (
85  const fvPatch&,
87  const fieldMapper&
88  );
89 
90  //- Disallow copy without setting internal field reference
92  (
94  ) = delete;
95 
96  //- Copy constructor setting internal field reference
98  (
101  );
102 
103  //- Construct and return a clone setting internal field reference
105  (
107  ) const
108  {
110  (
112  );
113  }
114 
115 
116  // Member Functions
117 
118  // Mapping functions
119 
120  //- Reset the fvPatchField to the given fvPatchField
121  // Used for mesh to mesh mapping
122  virtual void reset(const fvsPatchLabelField&);
123 
124 
125  //- Return the offsets of the processor sub-ranges
126  inline const labelList& procOffsets() const
127  {
128  return procOffsets_;
129  }
130 
131  //- Access the offsets of the processor sub-ranges
132  inline labelList& procOffsets()
133  {
134  return procOffsets_;
135  }
136 
137  //- Return the sizes of the processor sub-ranges
138  labelList procSizes() const;
139 
140  //- Write
141  virtual void write(Ostream&) const;
142 };
143 
144 
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 
147 } // End namespace Foam
148 
149 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
150 
151 #endif
152 
153 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:57
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Abstract base class for field mapping.
Definition: fieldMapper.H:48
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Definition: fvPatch.H:64
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Definition: fvsPatchField.H:83
tmp< fvsPatchField< Type > > clone() const
Disallow clone without setting internal field reference.
const labelList & procOffsets() const
Return the offsets of the processor sub-ranges.
nonConformalMappedPolyFacesFvsPatchLabelField(const fvPatch &, const DimensionedField< label, surfaceMesh > &)
Construct from patch and internal field.
virtual void reset(const fvsPatchLabelField &)
Reset the fvPatchField to the given fvPatchField.
labelList procSizes() const
Return the sizes of the processor sub-ranges.
TypeName("nonConformalMappedPolyFaces")
Runtime type information.
A class for managing temporary objects.
Definition: tmp.H:55
Namespace for OpenFOAM.