All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
wallShearStress.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) 2013-2020 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::functionObjects::wallShearStress
26 
27 Description
28  Calculates and write the shear-stress at wall patches as
29  the volVectorField field 'wallShearStress'.
30 
31  \f[
32  Stress = R \dot n
33  \f]
34 
35  where
36  \vartable
37  R | stress tensor
38  n | patch normal vector (into the domain)
39  \endvartable
40 
41  The shear-stress symmetric tensor field is retrieved from the turbulence
42  model. All wall patches are included by default; to restrict the
43  calculation to certain patches, use the optional 'patches' entry.
44 
45  Example of function object specification:
46  \verbatim
47  wallShearStress1
48  {
49  type wallShearStress;
50  libs ("libfieldFunctionObjects.so");
51  ...
52  patches (".*Wall");
53  }
54  \endverbatim
55 
56 Usage
57  \table
58  Property | Description | Required | Default value
59  type | type name: wallShearStress | yes |
60  patches | list of patches to process | no | all wall patches
61  \endtable
62 
63 Note
64  Writing field 'wallShearStress' is done by default, but it can be overridden
65  by defining an empty \c objects list. For details see writeLocalObjects.
66 
67 See also
68  Foam::functionObject
69  Foam::functionObjects::fvMeshFunctionObject
70  Foam::functionObjects::logFiles
71  Foam::functionObjects::writeLocalObjects
72  Foam::functionObjects::timeControl
73 
74 SourceFiles
75  wallShearStress.C
76 
77 \*---------------------------------------------------------------------------*/
78 
79 #ifndef functionObjects_wallShearStress_H
80 #define functionObjects_wallShearStress_H
81 
82 #include "fvMeshFunctionObject.H"
83 #include "logFiles.H"
84 #include "writeLocalObjects.H"
85 #include "volFieldsFwd.H"
86 #include "HashSet.H"
87 
88 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
89 
90 namespace Foam
91 {
92 namespace functionObjects
93 {
94 
95 /*---------------------------------------------------------------------------*\
96  Class wallShearStress Declaration
97 \*---------------------------------------------------------------------------*/
98 
99 class wallShearStress
100 :
101  public fvMeshFunctionObject,
102  public logFiles,
103  public writeLocalObjects
104 {
105 
106 protected:
107 
108  // Protected data
109 
110  //- Optional list of patches to process
112 
113 
114  // Protected Member Functions
115 
116  //- File header information
117  virtual void writeFileHeader(const label i);
118 
119  //- Calculate the shear-stress
120  tmp<volVectorField> calcShearStress
121  (
122  const volSymmTensorField& tau
123  );
124 
125 
126 public:
127 
128  //- Runtime type information
129  TypeName("wallShearStress");
130 
131 
132  // Constructors
134  //- Construct from Time and dictionary
136  (
137  const word& name,
138  const Time& runTime,
139  const dictionary&
140  );
141 
142  //- Disallow default bitwise copy construction
143  wallShearStress(const wallShearStress&) = delete;
144 
145 
146  //- Destructor
147  virtual ~wallShearStress();
148 
149 
150  // Member Functions
151 
152  //- Read the wallShearStress data
153  virtual bool read(const dictionary&);
154 
155  //- Calculate the wall shear-stress
156  virtual bool execute();
157 
158  //- Write the wall shear-stress
159  virtual bool write();
160 
161 
162  // Member Operators
163 
164  //- Disallow default bitwise assignment
165  void operator=(const wallShearStress&) = delete;
166 };
167 
168 
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 
171 } // End namespace functionObjects
172 } // End namespace Foam
173 
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 
176 #endif
177 
178 // ************************************************************************* //
tmp< volVectorField > calcShearStress(const volSymmTensorField &tau)
Calculate the shear-stress.
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
const word & name() const
Return the name of this functionObject.
virtual bool read(const dictionary &)
Read the wallShearStress data.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
engineTime & runTime
wallShearStress(const word &name, const Time &runTime, const dictionary &)
Construct from Time and dictionary.
labelHashSet patchSet_
Optional list of patches to process.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition: Time.H:68
virtual bool execute()
Calculate the wall shear-stress.
HashSet< label, Hash< label > > labelHashSet
A HashSet with label keys.
Definition: HashSet.H:211
virtual void writeFileHeader(const label i)
File header information.
A class for handling words, derived from string.
Definition: word.H:59
Calculates and write the shear-stress at wall patches as the volVectorField field &#39;wallShearStress&#39;...
void operator=(const wallShearStress &)=delete
Disallow default bitwise assignment.
virtual bool write()
Write the wall shear-stress.
TypeName("wallShearStress")
Runtime type information.
Namespace for OpenFOAM.