164 #ifndef functionObjects_propellerInfo_H 165 #define functionObjects_propellerInfo_H 181 namespace functionObjects
215 autoPtr<Function1<scalar>>
URefPtr_;
350 const Type& defaultValue
400 virtual bool write();
autoPtr< OFstream > propellerPerformanceFilePtr_
Propeller performance file.
Base class for coordinate system specification, the default coordinate system type is cartesian ...
virtual bool execute()
Execute, currently does nothing.
autoPtr< OFstream > axialWakeFilePtr_
Axial wake field file.
void createFiles()
Create output files.
tmp< Field< Type > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &psi, const Type &defaultValue) const
Interpolate from the mesh onto the sample surface.
void writePropellerPerformance()
Write the wake fields.
TypeName("propellerInfo")
Runtime type information.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void setRotationalSpeed()
Set the rotational speed.
propellerInfo(const propellerInfo &)=delete
No copy construct.
void movePoints(const polyMesh &mesh)
Update for changes of mesh.
virtual bool write()
Write the forces.
word MRFName_
Name of MRF zone (if applicable)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
label nRadial_
Number of surface divisions in radial direction.
autoPtr< OFstream > wakeFilePtr_
Wake field file.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const word & name() const noexcept
Return the name of this functionObject.
static const Enum< rotationMode > rotationModeNames_
List< face > faceList
List of faces.
labelList cellIds_
Surface point sample cell IDs.
vectorField pointField
pointField is a vectorField.
word interpolationScheme_
Interpolation scheme.
virtual ~propellerInfo()=default
Destructor.
void writeWakeFields(const scalar URef)
Write the wake fields.
void writeAxialWake(const vectorField &U, const scalar URef)
Write the axial wake text file.
void operator=(const propellerInfo &)=delete
No copy assignment.
bool initialised_
Initialised flag.
bool writeWakeFields_
Flag to write wake fields.
A class for handling words, derived from Foam::string.
void setCoordinateSystem(const dictionary &dict)
Set the coordinate system.
dictionary dict_
Copy of dictionary used during construction.
scalar meanSampleDiskField(const scalarField &field) const
Return the area average of a field.
rotationMode rotationMode_
Rotation mode.
void updateSampleDiskCells()
Set the sample cells corresponding to the sample points.
scalar n_
Propeller speed (revolutions per second)
const volVectorField & U() const
Return the velocity field.
autoPtr< surfaceWriter > surfaceWriterPtr_
Surface writer.
void setSampleDiskGeometry(const coordinateSystem &coordSys, const scalar r1, const scalar r2, const scalar nTheta, const label nRadius, faceList &faces, pointField &points) const
Set the faces and points for the sample surface.
Reads fields from the time directories and adds them to the mesh database for further post-processing...
pointField points_
Surface points.
scalar nanValue_
Default value when a sample point is not found; default = scalar::min.
void writeWake(const vectorField &U, const scalar URef)
Write the wake text file.
void writeSampleDiskSurface(const vectorField &U, const vectorField &Ur, const scalar URef)
Write the sample surface.
boolList pointMask_
List of participating points (parallel reduced)
void setSampleDiskSurface(const dictionary &dict)
Set the sample surface based on dictionary settings.
bool writePropellerPerformance_
Flag to write performance data.
bool errorOnPointNotFound_
Flag to raise an error if the sample point is not found in the mesh. Default = false to enable...
Calculates propeller performance and wake field properties.
label nTheta_
Number of surface divisions in theta direction.
virtual bool read(const dictionary &)
Read the forces data.
faceList faces_
Surface faces.
const volScalarField & psi
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
A class for managing temporary objects.
Registry of regIOobjects.
List< bool > boolList
A List of bools.
scalar radius_
Propeller radius.
virtual const objectRegistry & obr() const
The region or sub-region registry being used.
autoPtr< Function1< scalar > > URefPtr_
Reference velocity.
void UpdateMesh(const mapPolyMesh &mpm)