142#ifndef Foam_functionObjects_bladeForces_H
143#define Foam_functionObjects_bladeForces_H
219 coordSystem::cylindrical cylCoord_;
251 label fieldsInterval_;
266 bool useGeometricVelocity_;
278 autoPtr<OFstream> forceFilePtr_;
281 autoPtr<OFstream> areaFilePtr_;
284 autoPtr<OFstream> CdFilePtr_;
287 autoPtr<OFstream> ClFilePtr_;
290 autoPtr<OFstream> CpFilePtr_;
299 void writeSurface()
const;
305 tmp<symmTensorField> devRhoReff
312 tmp<volScalarField>
mu()
const;
315 tmp<volScalarField>
rho()
const;
318 tmp<scalarField>
rho(
const label patchi)
const;
328 void createIntegratedDataFiles();
331 void writeIntegratedDataFiles();
395 virtual bool write();
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cylindrical coordinate system (r-theta-z). The coordinate system angle theta is always in radians.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Computes forces and coefficients over a given list of patches by integrating pressure and viscous for...
scalar torque() const noexcept
The integrated torque.
bladeForces(const bladeForces &)=delete
No copy construct.
scalar thrust() const noexcept
The integrated thrust force (axial).
virtual bool execute()
Execute the function-object operations.
TypeName("bladeForces")
Runtime type information.
virtual bool write()
Write the function-object results.
void operator=(const bladeForces &)=delete
No copy assignment.
virtual bool read(const dictionary &)
Read the function-object dictionary.
bladeForces(const word &name, const Time &runTime, const dictionary &dict, const bool readFields=true)
Construct from name, Time and dictionary.
scalar drag() const noexcept
The integrated drag force (tangential).
bladeForces(const word &name, const objectRegistry &obr, const dictionary &dict, const bool readFields=true)
Construct from objectRegistry and dictionary.
virtual ~bladeForces()=default
Destructor.
void calculate()
Calculate forces, torque, coefficients.
Specialization of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
fvMeshFunctionObject(const fvMeshFunctionObject &)=delete
No copy construct.
Reads fields from the time directories and adds them to the mesh database for further post-processing...
virtual const objectRegistry & obr() const
The region or sub-region registry being used.
Base class for writing single files from the function objects.
writeFile(const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true, const string &ext=".dat")
Construct from objectRegistry, prefix, fileName.
Registry of regIOobjects.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Function objects are OpenFOAM utilities to ease workflow configurations and enhance workflows.
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
List< scalar > scalarList
List of scalar.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Forwards and collection of common volume field types.