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;
92 writeFile(mesh_,
name, typeName,
dict),
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;
179 auto& wallShearStress =
186 const turbType* modelPtr =
191 calcShearStress(modelPtr->devRhoReff(), wallShearStress);
200 const turbType* modelPtr =
205 calcShearStress(modelPtr->devReff(), wallShearStress);
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.
A class for handling words, derived from Foam::string.
virtual OFstream & file()
virtual bool read(const dictionary &)
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
static constexpr const zero Zero
bool read(const char *buf, int32_t &val)
ObjectType & lookupObjectRef(const word &fieldName) const
static word timeName(const scalar t, const int precision=precision_)
static const word propertiesName
static bool master(const label communicator=worldComm)
Ostream & endl(Ostream &os)
virtual const word & name() const
A HashTable with keys but without contents that is similar to std::unordered_set.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
Abstract base-class for Time/database function objects.
virtual void writeHeader(Ostream &os, const string &str) const
virtual void writeFileHeader(Ostream &os) const
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual bool read(const dictionary &dict)
Generic templated field type.
Computes the wall-shear stress at selected wall patches.
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)
OBJstream os(runTime.globalPath()/outputName)
Macros for easy insertion into run-time selection tables.
Generic dimensioned Type class.
errorManipArg< error, int > exit(error &err, const int errNo=1)
word scopedName(const word &name) const
const word & name() const noexcept
#define FatalErrorInFunction
const word & name() const noexcept
dimensionedSymmTensor sqr(const dimensionedVector &dv)
virtual void writeCommented(Ostream &os, const string &str) const
addToRunTimeSelectionTable(functionObject, ObukhovLength, dictionary)
Boundary & boundaryFieldRef(const bool updateAccessTime=true)
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
fileName::Type type(const fileName &name, const bool followLink=true)
A List of wordRe with additional matching capabilities.
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool useGroups=true) const
bool insert(const Key &key)
defineTypeNameAndDebug(ObukhovLength, 0)
const polyBoundaryMesh & patches
word name(const expressions::valueTypeCode typeCode)
const Time & time() const
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 &)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Type gMin(const FieldField< Field, Type > &f)
IncompressibleTurbulenceModel< transportModel > turbulenceModel
Generic GeometricField class.
#define WarningInFunction
void calcShearStress(const volSymmTensorField &Reff, volVectorField &shearStress)
virtual void writeTabbed(Ostream &os, const string &str) const
Type gMax(const FieldField< Field, Type > &f)
const Boundary & boundaryField() const