Go to the documentation of this file.
41 namespace functionObjects
68 shearStress.dimensions().reset(Reff.dimensions());
70 for (
const label patchi : patchSet_)
73 const vectorField& Sfp = mesh_.Sf().boundaryField()[patchi];
74 const scalarField& magSfp = mesh_.magSf().boundaryField()[patchi];
77 ssp = (-Sfp/magSfp) & Reffp;
97 writeFileHeader(file());
106 mesh_.time().timeName(),
116 mesh_.objectRegistry::store(wallShearStressPtr);
137 if (patchSet_.empty())
141 if (isA<wallPolyPatch>(pbm[patchi]))
143 patchSet_.insert(patchi);
147 Info<<
" processing all wall patches" <<
nl <<
endl;
151 Info<<
" processing wall patches: " <<
nl;
153 for (
const label patchi : patchSet_)
155 if (isA<wallPolyPatch>(pbm[patchi]))
157 filteredPatchSet.
insert(patchi);
163 <<
"Requested wall shear stress on non-wall boundary "
164 <<
"type patch: " << pbm[patchi].
name() <<
endl;
170 patchSet_ = filteredPatchSet;
186 const turbType* modelPtr =
200 const turbType* modelPtr =
211 <<
"Unable to find turbulence model in the "
230 for (
const label patchi : patchSet_)
241 writeCurrentTime(file());
250 Log <<
" min/max(" << pp.
name() <<
") = "
251 << minSsp <<
", " << maxSsp <<
endl;
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const word & name() const
Return name.
A class for handling words, derived from Foam::string.
virtual bool read(const dictionary &)
Read the wallShearStress data.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const ObjectType & lookupObject(const word &fieldName) const
Lookup and return object (eg, a field) from the (sub) objectRegistry.
static constexpr const zero Zero
Global zero (0)
bool read(const char *buf, int32_t &val)
Same as readInt32.
ObjectType & lookupObjectRef(const word &fieldName) const
Lookup and return object (eg, a field) from the (sub) objectRegistry.
static const word propertiesName
Default name of the turbulence properties dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual const word & name() const
Return name.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
#define forAll(list, i)
Loop across all elements in list.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
virtual void writeHeader(Ostream &os, const string &str) const
Write a commented header to stream.
virtual void writeFileHeader(Ostream &os) const
File header information.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual bool read(const dictionary &dict)
Read.
virtual bool execute()
Calculate the wall shear-stress.
Computes the wall-shear stress at selected wall patches.
messageStream Info
Information stream (uses stdout - output is on the master only)
word name(const complex &c)
Return string representation of complex.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual bool read(const dictionary &dict)
Read optional controls.
Macros for easy insertion into run-time selection tables.
errorManipArg< error, int > exit(error &err, const int errNo=1)
static bool master(const label communicator=0)
Am I the master process.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
virtual void writeCommented(Ostream &os, const string &str) const
Write a commented string to stream.
const word & name() const
Return the name of this functionObject.
addToRunTimeSelectionTable(functionObject, ObukhovLength, dictionary)
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Return a reference to the boundary field.
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
virtual bool write()
Write the wall shear-stress.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A List of wordRe with additional matching capabilities.
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool useGroups=true) const
Return the set of patch IDs corresponding to the given names.
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
defineTypeNameAndDebug(ObukhovLength, 0)
const polyBoundaryMesh & patches
Base class for writing single files from the function objects.
Templated abstract base class for single-phase incompressible turbulence models.
wallShearStress(const word &name, const Time &runTime, const dictionary &)
Construct from Time and dictionary.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Type gMin(const FieldField< Field, Type > &f)
#define WarningInFunction
Report a warning using Foam::Warning.
void calcShearStress(const volSymmTensorField &Reff, volVectorField &shearStress)
Calculate the shear-stress.
virtual void writeTabbed(Ostream &os, const string &str) const
Write a tabbed string to stream.
Type gMax(const FieldField< Field, Type > &f)
const Boundary & boundaryField() const
Return const-reference to the boundary field.