29 #include "surfaceInterpolate.H" 38 namespace functionObjects
51 writeHeader(file(),
"Wall heat-flux");
52 writeCommented(file(),
"Time");
53 writeTabbed(file(),
"patch");
54 writeTabbed(file(),
"min");
55 writeTabbed(file(),
"max");
56 writeTabbed(file(),
"integral");
73 volScalarField::Boundary& wallHeatFluxBf =
76 const surfaceScalarField::Boundary& heatFluxBf =
84 if (foundObject<volScalarField>(
"qr"))
88 const volScalarField::Boundary& radHeatFluxBf =
101 Foam::functionObjects::wallHeatFlux::wallHeatFlux
120 mesh_.time().timeName(),
130 mesh_.objectRegistry::store(wallHeatFluxPtr);
134 resetLocalObjectName(typeName);
161 if (patchSet_.empty())
165 if (isA<wallPolyPatch>(pbm[
patchi]))
167 patchSet_.insert(patchi);
171 Info<<
" processing all wall patches" << nl <<
endl;
175 Info<<
" processing wall patches: " <<
nl;
180 if (isA<wallPolyPatch>(pbm[patchi]))
182 filteredPatchSet.
insert(patchi);
188 <<
"Requested wall heat-flux on non-wall boundary " 195 patchSet_ = filteredPatchSet;
208 foundObject<compressible::turbulenceModel>
215 lookupObject<compressible::turbulenceModel>
223 turbModel.transport().he(),
232 calcHeatFlux(thermo.
alpha(), thermo.
he(), wallHeatFlux);
237 <<
"Unable to find compressible turbulence model in the " 258 const surfaceScalarField::Boundary& magSf =
259 mesh_.magSf().boundaryField();
268 const scalar minHfp =
gMin(hfp);
269 const scalar maxHfp =
gMax(hfp);
270 const scalar integralHfp =
gSum(magSf[patchi]*hfp);
275 << mesh_.time().value()
283 Log <<
" min/max/integ(" << pp.
name() <<
") = " 284 << minHfp <<
", " << maxHfp <<
", " << integralHfp <<
endl;
virtual bool write()
Write function.
#define forAll(list, i)
Loop across all elements in list.
virtual bool write()
Write function.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const word & name() const
Return name.
virtual bool execute()
Calculate the wall heat-flux.
dimensionedScalar log(const dimensionedScalar &ds)
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Type gMin(const FieldField< Field, Type > &f)
const Boundary & boundaryField() const
Return const-reference to the boundary field.
virtual bool write()
Write the wall heat-flux.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual ~wallHeatFlux()
Destructor.
static bool master(const label communicator=0)
Am I the master process.
virtual const volScalarField & alpha() const
Thermal diffusivity for enthalpy of mixture [kg/m/s].
Calculate the snGrad of the given volField.
Templated wrapper class to provide compressible turbulence models thermal diffusivity based thermal t...
bool insert(const Key &key)
Insert a new entry.
labelHashSet patchSet(const UList< wordRe > &patchNames, const bool warnNotFound=true, const bool usePatchGroups=true) const
Return the set of patch IDs corresponding to the given names.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const word & name() const
Return name.
Macros for easy insertion into run-time selection tables.
virtual volScalarField & he()=0
Enthalpy/Internal energy [J/kg].
const word dictName() const
Return the local dictionary name (final part of scoped name)
virtual tmp< volScalarField > alphaEff() const
Return the effective turbulent thermal diffusivity for enthalpy.
virtual bool read(const dictionary &)
Read optional controls.
bool read(const char *, int32_t &)
Type gSum(const FieldField< Field, Type > &f)
static const word propertiesName
Default name of the turbulence properties dictionary.
A class for handling words, derived from string.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
Type gMax(const FieldField< Field, Type > &f)
virtual void writeFileHeader(const label i)
File header information.
Fundamental solid thermodynamic properties.
void calcHeatFlux(const volScalarField &alpha, const volScalarField &he, volScalarField &wallHeatFlux)
Calculate the heat-flux.
word name(const complex &)
Return a string representation of a complex.
fileName::Type type(const fileName &, const bool followLink=true)
Return the file type: DIRECTORY or FILE.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
dimensionedScalar pow3(const dimensionedScalar &ds)
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
#define WarningInFunction
Report a warning using Foam::Warning.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
FunctionObject base class for managing a list of objects on behalf of the inheriting function object...
virtual bool read(const dictionary &)
Read the list of objects to be written.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
#define Log
Report write to Foam::Info if the local log switch is true.
virtual bool read(const dictionary &)
Read the wallHeatFlux data.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
defineTypeNameAndDebug(fvMeshFunctionObject, 0)
List< wordRe > wordReList
A List of wordRe (word or regular expression)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
addToRunTimeSelectionTable(functionObject, add, dictionary)
functionObject base class for creating, maintaining and writing log files e.g. integrated of averaged...