surfaceFieldValueI.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-2016 OpenFOAM Foundation
9  Copyright (C) 2017-2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
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 #include "Time.H"
30 #include "sampledSurface.H"
31 
32 // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
33 
35 withSurfaceFields() const
36 {
37  return
38  (
41  || (sampledPtr_ && sampledPtr_->withSurfaceFields())
42  );
43 }
44 
45 
48 {
49  return (stFaceZone == regionType_ || stPatch == regionType_);
50 }
51 
52 
53 inline const Foam::labelList&
55 const noexcept
56 {
57  return faceId_;
58 }
59 
60 
61 inline const Foam::labelList&
63 const noexcept
64 {
65  return facePatchId_;
66 }
67 
68 
69 inline const Foam::boolList&
71 const noexcept
72 {
73  return faceFlip_;
74 }
75 
76 
77 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
78 
80 is_magOp()
81 const noexcept
82 {
83  // Operation specifically tagged to use mag
84  return (operation_ & typeAbsolute);
85 }
86 
87 
89 is_weightedOp() const noexcept
90 {
91  // Operation specifically tagged to require a weight field
92  return (operation_ & typeWeighted);
93 }
94 
95 
98 const noexcept
99 {
100  return regionType_;
101 }
102 
103 
104 inline Foam::fileName
106 {
107  return baseFileDir()/name()/"surface"/time_.timeName();
108 }
109 
110 
111 // ************************************************************************* //
A class for handling file names.
Definition: fileName.H:72
bool withSurfaceFields() const
Can the surface definition sample surface-fields?
fileName outputDir() const
Return the output directory.
regionTypes regionType() const noexcept
Return the region type.
const labelList & faceId() const noexcept
Return the local list of face IDs.
const boolList & faceFlip() const noexcept
Return the local true/false list representing the face flip map.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
Definition: exprTraits.C:127
autoPtr< sampledSurface > sampledPtr_
The sampledSurface (when operating on sampledSurface)
const direction noexcept
Definition: Scalar.H:258
bool withTopologicalMerge() const noexcept
Can use mesh topological merge?
bool is_magOp() const noexcept
True if the operation variant uses mag.
bool is_weightedOp() const noexcept
True if the operation variant uses a weight-field.
const labelList & facePatch() const noexcept
Return the local list of patch ID per face.