Extends the forces functionObject by providing coefficients for:
More...
Public Member Functions | |
| TypeName ("forceCoeffs") | |
| Runtime type information. More... | |
| forceCoeffs (const word &name, const Time &runTime, const dictionary &, const bool readFields=true) | |
| Construct from Time and dictionary. More... | |
| virtual | ~forceCoeffs ()=default |
| Destructor. More... | |
| virtual bool | read (const dictionary &) |
| Read the forces data. More... | |
| virtual bool | execute () |
| Execute. More... | |
| virtual bool | write () |
| Write the forces. More... | |
Public Member Functions inherited from forces | |
| TypeName ("forces") | |
| Runtime type information. More... | |
| forces (const word &name, const Time &runTime, const dictionary &dict, const bool readFields=true) | |
| Construct from Time and dictionary. More... | |
| forces (const word &name, const objectRegistry &obr, const dictionary &dict, const bool readFields=true) | |
| Construct from objectRegistry and dictionary. More... | |
| virtual | ~forces ()=default |
| Destructor. More... | |
| virtual void | calcForcesMoment () |
| Calculate the forces and moments. More... | |
| virtual vector | forceEff () const |
| Return the total force. More... | |
| virtual vector | momentEff () const |
| Return the total moment. More... | |
Public Member Functions inherited from fvMeshFunctionObject | |
| TypeName ("fvMeshFunctionObject") | |
| Runtime type information. More... | |
| fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. More... | |
| fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. More... | |
| virtual | ~fvMeshFunctionObject ()=default |
| Destructor. More... | |
Public Member Functions inherited from regionFunctionObject | |
| TypeName ("regionFunctionObject") | |
| Runtime type information. More... | |
| regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. More... | |
| regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. More... | |
| virtual | ~regionFunctionObject ()=default |
| Destructor. More... | |
| template<class ObjectType > | |
| const ObjectType * | lookupObjectPtr (const word &fieldName) const |
| Deprecated(2018-10) More... | |
| template<class ObjectType > | |
| ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
| Deprecated(2018-10) More... | |
Public Member Functions inherited from stateFunctionObject | |
| stateFunctionObject (const word &name, const Time &runTime) | |
| Construct from components. More... | |
| virtual | ~stateFunctionObject ()=default |
| Destructor. More... | |
| dictionary & | propertyDict () |
| Return access to the property dictionary. More... | |
| bool | foundProperty (const word &entryName) const |
| Return true if the property exists. More... | |
| label | getTrigger () const |
| Get the current trigger index. More... | |
| bool | setTrigger (const label triggeri) |
| Set the current trigger index. More... | |
| bool | getDict (const word &entryName, dictionary &dict) const |
| Set dictionary, return true if set. More... | |
| bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
| Set dictionary from named object, return true if set. More... | |
| template<class Type > | |
| Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property. More... | |
| template<class Type > | |
| bool | getProperty (const word &entryName, Type &value) const |
| Set generic property, return true if set. More... | |
| template<class Type > | |
| void | setProperty (const word &entryName, const Type &value) |
| Add generic property. More... | |
| template<class Type > | |
| Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from named object. More... | |
| template<class Type > | |
| bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
| Set generic property from named object, return true if set. More... | |
| template<class Type > | |
| void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
| Add generic property from named object. More... | |
| template<class Type > | |
| void | setResult (const word &entryName, const Type &value) |
| Add result. More... | |
| template<class Type > | |
| void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
| Add result from named object. More... | |
| template<class Type > | |
| Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result. More... | |
| template<class Type > | |
| Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result from named object. More... | |
| template<class Type > | |
| bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
| Set result from named object, return true if set. More... | |
| word | resultType (const word &entryName) const |
| Retrieve the result type. More... | |
| word | objectResultType (const word &objectName, const word &entryName) const |
| Return the type of result. More... | |
| List< word > | objectResultEntries () const |
| Retrieve the result entries. More... | |
| List< word > | objectResultEntries (const word &objectName) const |
| Return result entries for named object. More... | |
| void | writeResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. More... | |
| void | writeResultEntries (const word &objectName, Ostream &os) const |
| Write the results entries for named object to stream. More... | |
| void | writeAllResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. More... | |
Public Member Functions inherited from timeFunctionObject | |
| timeFunctionObject (const word &name, const Time &runTime) | |
| Construct from Time. More... | |
| virtual | ~timeFunctionObject ()=default |
| Destructor. More... | |
| const Time & | time () const |
| Return time database. More... | |
| objectRegistry & | storedObjects () |
| const objectRegistry & | storedObjects () const |
Public Member Functions inherited from functionObject | |
| virtual const word & | type () const =0 |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
| functionObject (const word &name) | |
| Construct from components. More... | |
| autoPtr< functionObject > | clone () const |
| Return clone. More... | |
| virtual | ~functionObject ()=default |
| Destructor. More... | |
| const word & | name () const |
| Return the name of this functionObject. More... | |
| virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. More... | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. More... | |
| virtual bool | adjustTimeStep () |
| Called at the end of Time::adjustDeltaT() if adjustTime is true. More... | |
| virtual bool | filesModified () const |
| Did any file get changed during execution? More... | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. More... | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. More... | |
Public Member Functions inherited from writeFile | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true) | |
| Construct from objectRegistry, prefix, fileName. More... | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true) | |
| writeFile (const writeFile &wf) | |
| Construct copy. More... | |
| virtual | ~writeFile ()=default |
| Destructor. More... | |
| virtual OFstream & | file () |
| Return access to the file (if only 1) More... | |
| virtual bool | writeToFile () const |
| Flag to allow writing to file. More... | |
| virtual bool | canWriteHeader () const |
| Flag to allow writing the header. More... | |
| virtual label | charWidth () const |
| Return width of character stream output. More... | |
| virtual void | writeCommented (Ostream &os, const string &str) const |
| Write a commented string to stream. More... | |
| virtual void | writeTabbed (Ostream &os, const string &str) const |
| Write a tabbed string to stream. More... | |
| virtual void | writeHeader (Ostream &os, const string &str) const |
| Write a commented header to stream. More... | |
| virtual void | writeCurrentTime (Ostream &os) const |
| Write the current time to stream. More... | |
| virtual void | writeBreak (Ostream &os) const |
| Write a break marker to the stream. More... | |
| template<class Type > | |
| void | writeHeaderValue (Ostream &os, const string &property, const Type &value) const |
| Write a (commented) header property and value pair. More... | |
Protected Member Functions | |
| void | createFiles () |
| Create the output files. More... | |
| void | writeIntegratedHeader (const word &header, Ostream &os) const |
| Write header for integrated data. More... | |
| void | writeBinHeader (const word &header, Ostream &os) const |
| Write header for binned data. More... | |
| void | writeIntegratedData (const word &title, const List< Field< scalar >> &coeff) const |
| Write integrated data. More... | |
| void | writeBinData (const List< Field< scalar >> coeffs, Ostream &os) const |
| Write binned data. More... | |
Protected Member Functions inherited from forces | |
| word | fieldName (const word &name) const |
| Create a field name. More... | |
| void | createFiles () |
| Create the output files. More... | |
| void | writeIntegratedHeader (const word &header, Ostream &os) const |
| Write header for integrated data. More... | |
| void | writeBinHeader (const word &header, Ostream &os) const |
| Write header for binned data. More... | |
| void | setCoordinateSystem (const dictionary &dict, const word &e3Name=word::null, const word &e1Name=word::null) |
| Set the co-ordinate system from dictionary and axes names. More... | |
| void | initialise () |
| Initialise the fields. More... | |
| void | initialiseBins () |
| Initialise the collection bins. More... | |
| void | resetFields () |
| Reset the fields prior to accumulation of force/moments. More... | |
| tmp< volSymmTensorField > | devRhoReff () const |
| Return the effective viscous stress (laminar + turbulent). More... | |
| tmp< volScalarField > | mu () const |
| Dynamic viscosity field. More... | |
| tmp< volScalarField > | rho () const |
| Return rho if specified otherwise rhoRef. More... | |
| scalar | rho (const volScalarField &p) const |
| Return rhoRef if the pressure field is dynamic, i.e. p/rho. More... | |
| void | applyBins (const vectorField &Md, const vectorField &fN, const vectorField &fT, const vectorField &fP, const vectorField &d) |
| Accumulate bin data. More... | |
| void | addToFields (const label patchi, const vectorField &Md, const vectorField &fN, const vectorField &fT, const vectorField &fP) |
| Add patch contributions to force and moment fields. More... | |
| void | addToFields (const labelList &cellIDs, const vectorField &Md, const vectorField &fN, const vectorField &fT, const vectorField &fP) |
| Add cell contributions to force and moment fields. More... | |
| void | writeIntegratedForceMoment (const string &descriptor, const vectorField &fm0, const vectorField &fm1, const vectorField &fm2, autoPtr< OFstream > &osPtr) const |
| Helper function to write integrated forces and moments. More... | |
| void | writeForces () |
| Write force data. More... | |
| void | writeBinnedForceMoment (const List< Field< vector >> &fm, autoPtr< OFstream > &osPtr) const |
| Helper function to write binned forces and moments. More... | |
| void | writeBins () |
| Write binned data. More... | |
| forces (const forces &)=delete | |
| No copy construct. More... | |
| void | operator= (const forces &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from fvMeshFunctionObject | |
| fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
| No copy construct. More... | |
| void | operator= (const fvMeshFunctionObject &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from regionFunctionObject | |
| virtual const objectRegistry & | obr () const |
| The region or sub-region registry being used. More... | |
| template<class ObjectType > | |
| bool | foundObject (const word &fieldName) const |
| Find object (eg, a field) in the (sub) objectRegistry. More... | |
| template<class ObjectType > | |
| const ObjectType * | cfindObject (const word &fieldName) const |
| template<class ObjectType > | |
| const ObjectType * | findObject (const word &fieldName) const |
| template<class ObjectType > | |
| ObjectType * | findObject (const word &fieldName) |
| template<class ObjectType > | |
| ObjectType * | getObjectPtr (const word &fieldName) const |
| template<class ObjectType > | |
| const ObjectType & | lookupObject (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
| template<class ObjectType > | |
| ObjectType & | lookupObjectRef (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. More... | |
| template<class ObjectType > | |
| bool | store (word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
| Store the field in the (sub) objectRegistry under the given name. More... | |
| bool | writeObject (const word &fieldName) |
| Write field if present in the (sub) objectRegistry. More... | |
| bool | clearObject (const word &fieldName) |
| Clear field from the (sub) objectRegistry if present. More... | |
| void | clearObjects (const wordList &objNames) |
| Clear fields from the (sub) objectRegistry if present. More... | |
| regionFunctionObject (const regionFunctionObject &)=delete | |
| No copy construct. More... | |
| void | operator= (const regionFunctionObject &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from stateFunctionObject | |
| const IOdictionary & | stateDict () const |
| Return a const reference to the state dictionary. More... | |
| IOdictionary & | stateDict () |
| Return non-const access to the state dictionary. More... | |
| stateFunctionObject (const stateFunctionObject &)=delete | |
| No copy construct. More... | |
| void | operator= (const stateFunctionObject &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from timeFunctionObject | |
| void | clearOutputObjects (const wordList &objNames) |
| Remove specified items from "functionObjectObjects". More... | |
| timeFunctionObject (const timeFunctionObject &)=delete | |
| No copy construct. More... | |
| void | operator= (const timeFunctionObject &)=delete |
| No copy assignment. More... | |
Protected Member Functions inherited from functionObject | |
| word | scopedName (const word &name) const |
| Return a scoped name, e.g. used to construct local field names. More... | |
Protected Member Functions inherited from writeFile | |
| void | initStream (Ostream &os) const |
| Initialise the output stream for writing. More... | |
| fileName | baseFileDir () const |
| Return the base directory for output. More... | |
| fileName | baseTimeDir () const |
| Return the base directory for the current time value. More... | |
| virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
| Return autoPtr to a new file for a given time. More... | |
| virtual autoPtr< OFstream > | createFile (const word &name) const |
| Return autoPtr to a new file using the simulation start time. More... | |
| virtual void | resetFile (const word &name) |
| Reset internal file pointer to new file with new name. More... | |
| Omanip< int > | valueWidth (const label offset=0) const |
| Return the value width when writing to stream with optional offset. More... | |
| void | operator= (const writeFile &)=delete |
| No copy assignment. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
| static autoPtr< functionObject > | New (const word &name, const Time &runTime, const dictionary &dict) |
| Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
| bool | log |
| Flag to write log into Info. More... | |
Static Public Attributes inherited from functionObject | |
| static int | debug |
| Flag to execute debug content. More... | |
| static bool | postProcess |
| Global post-processing mode switch. More... | |
| static word | outputPrefix |
| Directory prefix. More... | |
Static Public Attributes inherited from writeFile | |
| static label | addChars = 8 |
| Additional characters for writing. More... | |
Protected Attributes inherited from forces | |
| List< Field< vector > > | force_ |
| Pressure, viscous and porous force per bin. More... | |
| List< Field< vector > > | moment_ |
| Pressure, viscous and porous moment per bin. More... | |
| autoPtr< OFstream > | forceFilePtr_ |
| Forces. More... | |
| autoPtr< OFstream > | momentFilePtr_ |
| Moments. More... | |
| autoPtr< OFstream > | forceBinFilePtr_ |
| Force bins. More... | |
| autoPtr< OFstream > | momentBinFilePtr_ |
| Moment bins. More... | |
| labelHashSet | patchSet_ |
| Patches to integrate forces over. More... | |
| word | pName_ |
| Name of pressure field. More... | |
| word | UName_ |
| Name of velocity field. More... | |
| word | rhoName_ |
| Name of density field (optional) More... | |
| Switch | directForceDensity_ |
| Is the force density being supplied directly? More... | |
| word | fDName_ |
| The name of the force density (fD) field. More... | |
| scalar | rhoRef_ |
| Reference density needed for incompressible calculations. More... | |
| scalar | pRef_ |
| Reference pressure. More... | |
| coordSystem::cartesian | coordSys_ |
| Coordinate system used when evaluating forces/moments. More... | |
| bool | porosity_ |
| Flag to include porosity effects. More... | |
| label | nBin_ |
| Number of bins. More... | |
| vector | binDir_ |
| Direction used to determine bin orientation. More... | |
| scalar | binDx_ |
| Distance between bin divisions. More... | |
| scalar | binMin_ |
| Minimum bin bounds. More... | |
| scalar | binMax_ |
| Maximum bin bounds. More... | |
| List< point > | binPoints_ |
| Bin positions along binDir. More... | |
| bool | binCumulative_ |
| Should bin data be cumulative? More... | |
| bool | writeFields_ |
| Write fields flag. More... | |
| bool | initialised_ |
| Initialised flag. More... | |
Protected Attributes inherited from fvMeshFunctionObject | |
| const fvMesh & | mesh_ |
| Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
| word | subRegistryName_ |
| Name for alternative object registry. More... | |
| const objectRegistry & | obr_ |
| Reference to the region objectRegistry. More... | |
| const objectRegistry * | obrPtr_ |
| Pointer to alternative (eg, sub-region) objectRegistry. More... | |
Protected Attributes inherited from timeFunctionObject | |
| const Time & | time_ |
| Reference to the time database. More... | |
Protected Attributes inherited from writeFile | |
| const objectRegistry & | fileObr_ |
| Reference to the region objectRegistry. More... | |
| const fileName | prefix_ |
| Prefix. More... | |
| word | fileName_ |
| Name of file. More... | |
| autoPtr< OFstream > | filePtr_ |
| File pointer. More... | |
| label | writePrecision_ |
| Write precision. More... | |
| bool | writeToFile_ |
| Flag to enable/disable writing to file. More... | |
| bool | updateHeader_ |
| bool | writtenHeader_ |
| Flag to identify whether the header has been written. More... | |
| bool | useUserTime_ |
| scalar | startTime_ |
| Start time value. More... | |
Extends the forces functionObject by providing coefficients for:
- drag, side and lift forces (Cd, Cs, and Cl)
Cd(f/r) = 0.5*Cd \pm CmRoll
Cs(f/r) = 0.5*Cs \pm CmYaw
Cl(f/r) = 0.5*Cl \pm CmPitch
The data can optionally be output into bins, defined in a given direction.
The binned data provides the total and consitituent components per bin:
Data is written into multiple files in the postProcessing/<functionObjectName> directory:
forceCoeffs1
{
type forceCoeffs;
libs (forces);
...
log yes;
writeFields yes;
patches (walls);
// input keywords for directions of force/moment coefficients
// refer below for options, and relations
magUInf 100;
lRef 3.5;
Aref 2.2;
porosity no;
binData
{
nBin 20;
direction (1 0 0);
cumulative yes;
}
}
Where the entries comprise:
| Property | Description | Required | Default |
|---|---|---|---|
type | Type name: forceCoeffs | yes | |
log | Write force data to standard output | no | no |
writeFields | Write force,moment coefficient fields | no | no |
patches | Patches included in the forces calculation | yes | |
magUInf | Free stream velocity magnitude | yes | |
rhoInf | Free stream density | for compressible cases | |
lRef | Reference length scale for moment calculations | yes | |
Aref | Reference area | yes | |
porosity | Include porosity contributions | no | false |
Bin data is optional, but if the dictionary is present, the entries must be defined according to following:
| nBin | Number of data bins | yes | |
|---|---|---|---|
direction | Direction along which bins are defined | yes | |
cumulative | Bin data accumulated with incresing distance | yes |
Input of force/moment coefficient directions:
CofR (0 0 0); // Centre of rotation
dragDir (1 0 0);
liftDir (0 0 1); origin (0 0 0);
e1 (1 0 0);
e3 (0 0 1); // combinations: (e1, e2) or (e2, e3) or (e3, e1) coordinateSystem
{
origin (0 0 0);
rotation
{
type axes;
e1 (1 0 0);
e3 (0 0 1); // combinations: (e1, e2) or (e2, e3) or (e3, e1)
}
}The default direction relations are shown below:
| Property | Description | Alias | Direction |
|---|---|---|---|
dragDir | Drag direction | e1 | (1 0 0) |
sideDir | Side force direction | e2 | (0 1 0) |
liftDir | Lift direction | e3 | (0 0 1) |
rollAxis | Roll axis | e1 | (1 0 0) |
pitchAxis | Pitch axis | e2 | (0 1 0) |
yawAxis | Yaw axis | e3 | (0 0 1) |
Definition at line 281 of file forceCoeffs.H.
| forceCoeffs | ( | const word & | name, |
| const Time & | runTime, | ||
| const dictionary & | dict, | ||
| const bool | readFields = true |
||
| ) |
Construct from Time and dictionary.
Definition at line 233 of file forceCoeffs.C.
References dict, Foam::endl(), Foam::Info, and Foam::read().
|
virtualdefault |
Destructor.
|
protected |
Create the output files.
Definition at line 53 of file forceCoeffs.C.
References writeFile::createFile(), forces::nBin_, forceCoeffs::writeBinHeader(), forceCoeffs::writeIntegratedHeader(), and writeFile::writeToFile().
Write header for integrated data.
Definition at line 87 of file forceCoeffs.C.
References Foam::endl(), and Foam::writeHeader().
Referenced by forceCoeffs::createFiles().
Write header for binned data.
Definition at line 122 of file forceCoeffs.C.
References Foam::endl(), forAll, Foam::jn(), Foam::name(), Foam::nl, Foam::tab, and Foam::writeHeader().
Referenced by forceCoeffs::createFiles().
|
protected |
Write integrated data.
Definition at line 177 of file forceCoeffs.C.
References Foam::endl(), Foam::Info, Foam::sum(), and token::TAB.
Write binned data.
Definition at line 207 of file forceCoeffs.C.
References Foam::endl(), and Foam::tab.
| TypeName | ( | "forceCoeffs" | ) |
Runtime type information.
|
virtual |
Read the forces data.
Reimplemented from forces.
Definition at line 263 of file forceCoeffs.C.
References dict, Foam::dimless, IOobject::NO_READ, IOobject::NO_WRITE, forces::read(), and Foam::Zero.
|
virtual |
Execute.
Reimplemented from forces.
Definition at line 327 of file forceCoeffs.C.
References forces::calcForcesMoment(), Foam::dimForce, Foam::dimLength, dragCoeffs(), Foam::endl(), forAll, Log, Foam::name(), Foam::nl, pDyn(), List< T >::setSize(), Foam::sqr(), Foam::sum(), Foam::tab, and Foam::type().
|
virtual |