Computes force and moment coefficients over a given list of patches, and optionally over given porous zones. The following coefficients can be selected and output: More...
#include <forceCoeffs.H>


Classes | |
| class | forceComponents |
| struct | coeffDesc |
| Coefficients description. More... | |
Public Member Functions | |
| TypeName ("forceCoeffs") | |
| Runtime type information. | |
| forceCoeffs (const word &name, const Time &runTime, const dictionary &dict, const bool readFields=true) | |
| Construct from name, Time and dictionary. | |
| forceCoeffs (const forceCoeffs &)=delete | |
| No copy construct. | |
| void | operator= (const forceCoeffs &)=delete |
| No copy assignment. | |
| virtual | ~forceCoeffs ()=default |
| Destructor. | |
| virtual bool | read (const dictionary &) |
| Read the function-object dictionary. | |
| virtual bool | execute () |
| Execute the function-object operations. | |
| virtual bool | write () |
| Write the function-object results. | |
| Public Member Functions inherited from forces | |
| TypeName ("forces") | |
| Runtime type information. | |
| forces (const word &name, const Time &runTime, const dictionary &dict, const bool readFields=true) | |
| Construct from name, Time and dictionary. | |
| forces (const word &name, const objectRegistry &obr, const dictionary &dict, const bool readFields=true) | |
| Construct from objectRegistry and dictionary. | |
| forces (const forces &)=delete | |
| No copy construct. | |
| void | operator= (const forces &)=delete |
| No copy assignment. | |
| virtual | ~forces ()=default |
| Destructor. | |
| virtual void | calcForcesMoments () |
| Calculate forces and moments. | |
| virtual vector | forceEff () const |
| Return the total force. | |
| virtual vector | momentEff () const |
| Return the total moment. | |
| Public Member Functions inherited from fvMeshFunctionObject | |
| TypeName ("fvMeshFunctionObject") | |
| Runtime type information. | |
| fvMeshFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| fvMeshFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~fvMeshFunctionObject ()=default |
| Destructor. | |
| Public Member Functions inherited from regionFunctionObject | |
| TypeName ("regionFunctionObject") | |
| Runtime type information. | |
| regionFunctionObject (const word &name, const Time &runTime, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| regionFunctionObject (const word &name, const objectRegistry &obr, const dictionary &dict) | |
| Construct from the region objectRegistry and dictionary. | |
| virtual | ~regionFunctionObject ()=default |
| Destructor. | |
| template<class ObjectType> | |
| const ObjectType * | lookupObjectPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| template<class ObjectType> | |
| ObjectType * | lookupObjectRefPtr (const word &fieldName) const |
| Deprecated(2018-10). | |
| Public Member Functions inherited from stateFunctionObject | |
| stateFunctionObject (const word &name, const Time &runTime) | |
| Construct from components. | |
| virtual | ~stateFunctionObject ()=default |
| Destructor. | |
| dictionary & | propertyDict () |
| Return access to the property dictionary. | |
| bool | foundProperty (const word &entryName) const |
| Return true if the property exists. | |
| void | clearTrigger () |
| Remove the trigger index from the properties. | |
| label | getTrigger () const |
| Get the current trigger index. | |
| bool | setTrigger (const label triggeri) |
| Set new trigger index. | |
| bool | getDict (const word &entryName, dictionary &dict) const |
| Set dictionary, return true if set. | |
| bool | getObjectDict (const word &objectName, const word &entryName, dictionary &dict) const |
| Set dictionary from named object, return true if set. | |
| template<class Type> | |
| Type | getProperty (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property. | |
| template<class Type> | |
| bool | getProperty (const word &entryName, Type &value) const |
| Set generic property, return true if set. | |
| template<class Type> | |
| void | setProperty (const word &entryName, const Type &value) |
| Add generic property. | |
| template<class Type> | |
| Type | getObjectProperty (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve generic property from named object. | |
| template<class Type> | |
| bool | getObjectProperty (const word &objectName, const word &entryName, Type &value) const |
| Set generic property from named object, return true if set. | |
| template<class Type> | |
| void | setObjectProperty (const word &objectName, const word &entryName, const Type &value) |
| Add generic property from named object. | |
| bool | getObjectResultDict (const word &objectName, dictionary &dict) const |
| template<class Type> | |
| void | setResult (const word &entryName, const Type &value) |
| Add result. | |
| template<class Type> | |
| void | setObjectResult (const word &objectName, const word &entryName, const Type &value) |
| Add result from named object. | |
| template<class Type> | |
| Type | getResult (const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result. | |
| template<class Type> | |
| Type | getObjectResult (const word &objectName, const word &entryName, const Type &defaultValue=Type(Zero)) const |
| Retrieve result from named object. | |
| template<class Type> | |
| bool | getObjectResult (const word &objectName, const word &entryName, Type &value) const |
| Set result from named object, return true if set. | |
| word | resultType (const word &entryName) const |
| Retrieve the result type. | |
| word | objectResultType (const word &objectName, const word &entryName) const |
| Return the type of result. | |
| wordList | objectResultEntries () const |
| Retrieve the result entries. | |
| wordList | objectResultEntries (const word &objectName) const |
| Return result entries for named object. | |
| void | writeResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| void | writeResultEntries (const word &objectName, Ostream &os) const |
| Write the results entries for named object to stream. | |
| void | writeAllResultEntries (Ostream &os) const |
| Write the results entries for all objects to stream. | |
| Public Member Functions inherited from timeFunctionObject | |
| timeFunctionObject (const word &name, const Time &runTime) | |
| Construct from Time. | |
| virtual | ~timeFunctionObject ()=default |
| Destructor. | |
| const Time & | time () const |
| Return time database. | |
| objectRegistry & | storedObjects () |
| Write access to the output objects ("functionObjectObjects") registered on Time. | |
| const objectRegistry & | storedObjects () const |
| Const access to the output objects ("functionObjectObjects") registered on Time. | |
| Public Member Functions inherited from functionObject | |
| declareRunTimeSelectionTable (autoPtr, functionObject, dictionary,(const word &name, const Time &runTime, const dictionary &dict),(name, runTime, dict)) | |
| functionObject (const word &name, const bool withNamePrefix=defaultUseNamePrefix) | |
| Construct from components. | |
| autoPtr< functionObject > | clone () const |
| Return clone. | |
| virtual | ~functionObject ()=default |
| Destructor. | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| const word & | name () const noexcept |
| Return the name of this functionObject. | |
| bool | useNamePrefix () const noexcept |
| Return the flag for adding a scoping name prefix. | |
| bool | useNamePrefix (bool on) noexcept |
| Modify the flag for adding a scoping name prefix. | |
| virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. | |
| virtual bool | end () |
| Called when Time::run() determines that the time-loop exits. | |
| virtual bool | adjustTimeStep () |
| Called at the end of Time::adjustDeltaT() if adjustTime is true. | |
| virtual bool | filesModified () const |
| Did any file get changed during execution? | |
| virtual void | updateMesh (const mapPolyMesh &mpm) |
| Update for changes of mesh. | |
| virtual void | movePoints (const polyMesh &mesh) |
| Update for changes of mesh. | |
| Public Member Functions inherited from writeFile | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true, const string &ext=".dat") | |
| Construct from objectRegistry, prefix, fileName. | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true, const string &ext=".dat") | |
| Construct from objectRegistry, prefix, fileName and read options from dictionary. | |
| writeFile (const writeFile &wf) | |
| Construct copy. | |
| virtual | ~writeFile ()=default |
| Destructor. | |
| virtual const string & | setExt (const string &ext) |
| Set extension. | |
| virtual OFstream & | file () |
| Return access to the file (if only 1). | |
| virtual bool | writeToFile () const |
| Flag to allow writing to file. | |
| virtual bool | canWriteToFile () const |
| Flag to allow writing to the file. | |
| virtual bool | canResetFile () const |
| Flag to allow resetting the file. | |
| virtual bool | canWriteHeader () const |
| Flag to allow writing the header. | |
| virtual label | charWidth () const |
| Return width of character stream output. | |
| virtual void | writeCommented (Ostream &os, const string &str) const |
| Write a commented string to stream. | |
| virtual void | writeTabbed (Ostream &os, const string &str) const |
| Write a tabbed string to stream. | |
| virtual void | writeHeader (Ostream &os, const string &str) const |
| Write a commented header to stream. | |
| virtual void | writeCurrentTime (Ostream &os) const |
| Write the current time to stream. | |
| virtual void | writeBreak (Ostream &os) const |
| Write a break marker to the stream. | |
| template<class Type> | |
| void | writeHeaderValue (Ostream &os, const string &property, const Type &value) const |
| Write a (commented) header property and value pair. | |
| template<class Type> | |
| void | writeValue (Ostream &os, const Type &val) const |
| Write a given value to stream with the space delimiter. | |
Protected Member Functions | |
| void | initialise () |
| Initialise containers and fields. | |
| volVectorField & | forceCoeff () |
| Return access to the force coefficients field. | |
| volVectorField & | momentCoeff () |
| Return access to the moment coefficients field. | |
| void | reset () |
| Reset containers and fields. | |
| HashTable< coeffDesc > | selectCoeffs () const |
| Return the operand coefficients. | |
| void | calcForceCoeffs () |
| Calculate force coefficients. | |
| void | calcMomentCoeffs () |
| Calculate moment coefficients. | |
| List< scalar > | integrateData (const List< Field< scalar > > &coeff) const |
| Return integrated {total, pressure, viscous, porous} components. | |
| void | createIntegratedDataFile () |
| Create the integrated-coefficient file. | |
| void | writeIntegratedDataFileHeader (const word &header, OFstream &os) const |
| Write header to the integrated-coefficient file. | |
| void | writeIntegratedDataFile () |
| Write integrated coefficients to the integrated-coefficient file. | |
| Protected Member Functions inherited from forces | |
| 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. | |
| volVectorField & | force () |
| Return access to the force field. | |
| volVectorField & | moment () |
| Return access to the moment field. | |
| void | initialise () |
| Initialise containers and fields. | |
| void | reset () |
| Reset containers and fields. | |
| tmp< symmTensorField > | devRhoReff (const tensorField &gradUp, const label patchi) const |
| Return the effective stress (viscous + turbulent) for patch. | |
| tmp< volScalarField > | mu () const |
| Return dynamic viscosity field. | |
| tmp< volScalarField > | rho () const |
| Return rho if specified otherwise rhoRef. | |
| tmp< scalarField > | rho (const label patchi) const |
| Return rho if specified otherwise rhoRef for patch. | |
| scalar | rho (const volScalarField &p) const |
| Return rhoRef if the pressure field is dynamic (i.e. p/rho), otherwise return 1. | |
| void | addToPatchFields (const label patchi, const vectorField &Md, const vectorField &fP, const vectorField &fV) |
| Add patch contributions to force and moment fields. | |
| void | addToInternalField (const labelList &cellIDs, const vectorField &Md, const vectorField &f) |
| Add cell contributions to force and moment fields, and include porosity effects. | |
| void | createIntegratedDataFiles () |
| Create the integrated-data files. | |
| void | writeIntegratedDataFileHeader (const word &header, OFstream &os) const |
| Write header for an integrated-data file. | |
| void | writeIntegratedDataFiles () |
| Write integrated data to files. | |
| void | writeIntegratedDataFile (const vector &pres, const vector &vis, const vector &internal, OFstream &os) const |
| Write integrated data to a file. | |
| void | logIntegratedData (const string &descriptor, const vector &pres, const vector &vis, const vector &internal) const |
| Write integrated data to stream. | |
| Protected Member Functions inherited from fvMeshFunctionObject | |
| fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const fvMeshFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from regionFunctionObject | |
| virtual const objectRegistry & | obr () const |
| The region or sub-region registry being used. | |
| template<class ObjectType> | |
| bool | foundObject (const word &fieldName) const |
| Find object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | cfindObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| const ObjectType * | findObject (const word &fieldName) const |
| Return const pointer to the object (eg, a field) in the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | findObject (const word &fieldName) |
| Return non-const pointer to the object of the given Type, (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType * | getObjectPtr (const word &fieldName) const |
| Return non-const pointer to the object of the given Type, using a const-cast to have it behave like a mutable. | |
| template<class ObjectType> | |
| const ObjectType & | lookupObject (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| template<class ObjectType> | |
| ObjectType & | lookupObjectRef (const word &fieldName) const |
| Lookup and return object (eg, a field) from the (sub) objectRegistry. | |
| 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. | |
| template<class ObjectType> | |
| bool | storeInDb (const word &fieldName, const tmp< ObjectType > &tfield, const objectRegistry &obr) |
| Store the field in an optional objectRegistry under the given name. | |
| bool | writeObject (const word &fieldName) |
| Write field if present in the (sub) objectRegistry. | |
| bool | clearObject (const word &fieldName) |
| Clear field from the (sub) objectRegistry if present. | |
| void | clearObjects (const wordList &objNames) |
| Clear fields from the (sub) objectRegistry if present. | |
| regionFunctionObject (const regionFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const regionFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from stateFunctionObject | |
| const functionObjects::properties & | stateDict () const |
| Return a const reference to the state dictionary. | |
| functionObjects::properties & | stateDict () |
| Return non-const access to the state dictionary. | |
| stateFunctionObject (const stateFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const stateFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from timeFunctionObject | |
| void | clearOutputObjects (const wordList &objNames) |
| Remove specified items from "functionObjectObjects". | |
| timeFunctionObject (const timeFunctionObject &)=delete | |
| No copy construct. | |
| void | operator= (const timeFunctionObject &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from functionObject | |
| word | scopedName (const word &name) const |
| Return a scoped (prefixed) name. | |
| Protected Member Functions inherited from writeFile | |
| void | initStream (Ostream &os) const |
| Initialise the output stream for writing. | |
| fileName | baseFileDir () const |
| Return the base directory for output. | |
| fileName | baseTimeDir () const |
| Return the base directory for the current time value. | |
| fileName | filePath (const fileName &fName) const |
| Return the full path for the supplied file name. | |
| virtual autoPtr< OFstream > | newFile (const fileName &fName) const |
| Return autoPtr to a new file using file name. | |
| virtual autoPtr< OFstream > | newFileAtTime (const word &name, scalar timeValue) const |
| Return autoPtr to a new file for a given time. | |
| virtual autoPtr< OFstream > | newFileAtStartTime (const word &name) const |
| Return autoPtr to a new file using the simulation start time. | |
| virtual void | resetFile (const word &name) |
| Reset internal file pointer to new file with new name. | |
| Omanip< int > | valueWidth (const label offset=0) const |
| Return the value width when writing to stream with optional offset. | |
| void | operator= (const writeFile &)=delete |
| No copy assignment. | |
| virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
| Deprecated(2022-09) Return autoPtr to a new file for a given time. | |
| virtual autoPtr< OFstream > | createFile (const word &name) const |
| Deprecated(2022-09) Return autoPtr to a new file using the simulation start time. | |
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. | |
| Public Attributes inherited from functionObject | |
| bool | log |
| Flag to write log into Info. | |
| Static Public Attributes inherited from functionObject | |
| static int | debug |
| Flag to execute debug content. | |
| static bool | postProcess |
| Global post-processing mode switch. | |
| static bool | defaultUseNamePrefix |
| Global default for useNamePrefix. | |
| static word | outputPrefix |
| Directory prefix. | |
| Static Public Attributes inherited from writeFile | |
| static label | addChars = 8 |
| Additional characters for writing. | |
| Protected Attributes inherited from forces | |
| vector | sumPatchForcesP_ |
| Sum of patch pressure forces. | |
| vector | sumPatchForcesV_ |
| Sum of patch viscous forces. | |
| vector | sumPatchMomentsP_ |
| Sum of patch pressure moments. | |
| vector | sumPatchMomentsV_ |
| Sum of patch viscous moments. | |
| vector | sumInternalForces_ |
| Sum of internal forces. | |
| vector | sumInternalMoments_ |
| Sum of internal moments. | |
| autoPtr< OFstream > | forceFilePtr_ |
| File stream for forces. | |
| autoPtr< OFstream > | momentFilePtr_ |
| File stream for moments. | |
| autoPtr< coordinateSystem > | coordSysPtr_ |
| Coordinate system used when evaluating forces and moments. | |
| labelList | patchIDs_ |
| Selected operand patches. | |
| scalar | rhoRef_ |
| Reference density needed for incompressible calculations. | |
| scalar | pRef_ |
| Reference pressure. | |
| word | pName_ |
| Name of pressure field. | |
| word | UName_ |
| Name of velocity field. | |
| word | rhoName_ |
| Name of density field. | |
| word | fDName_ |
| Name of force density field. | |
| bool | directForceDensity_ |
| Flag to directly supply force density. | |
| bool | porosity_ |
| Flag to include porosity effects. | |
| bool | writeFields_ |
| Flag to write force and moment fields. | |
| bool | initialised_ |
| Flag of initialisation (internal). | |
| Protected Attributes inherited from fvMeshFunctionObject | |
| const fvMesh & | mesh_ |
| Reference to the fvMesh. | |
| Protected Attributes inherited from regionFunctionObject | |
| word | subRegistryName_ |
| Name for alternative object registry. | |
| const objectRegistry & | obr_ |
| Reference to the region objectRegistry. | |
| const objectRegistry * | obrPtr_ |
| Pointer to alternative (eg, sub-region) objectRegistry. | |
| Protected Attributes inherited from timeFunctionObject | |
| const Time & | time_ |
| Reference to the time database. | |
| Protected Attributes inherited from writeFile | |
| const objectRegistry & | fileObr_ |
| Reference to the region objectRegistry. | |
| const fileName | prefix_ |
| Prefix. | |
| word | fileName_ |
| Name of file. | |
| autoPtr< OFstream > | filePtr_ |
| File pointer. | |
| label | writePrecision_ |
| Write precision. | |
| bool | writeToFile_ |
| Flag to enable/disable writing to file. | |
| bool | updateHeader_ |
| Flag to update the header, e.g. on mesh changes. Default is true. | |
| bool | writtenHeader_ |
| Flag to identify whether the header has been written. | |
| bool | useUserTime_ |
| Flag to use the specified user time, e.g. CA deg instead of seconds. Default = true. | |
| scalar | startTime_ |
| Start time value. | |
| string | ext_ |
| File extension; default = .dat. | |
Computes force and moment coefficients over a given list of patches, and optionally over given porous zones. The following coefficients can be selected and output:
Cd | Drag coefficient Cs | Side-force coefficient Cl | Lift coefficient CmRoll | Roll-moment coefficient CmPitch | Pitch-moment coefficient CmYaw | Yaw-moment coefficient
The force coefficients can also be optionally output in terms of their front and rear axle constituents:
Cd{f,r} = 0.5*Cd {+,-} CmRoll
Cs{f,r} = 0.5*Cs {+,-} CmYaw
Cl{f,r} = 0.5*Cl {+,-} CmPitch
where f and r represent front and rear axles, respectively.
Force and moment coefficients are output in their total and constituent components:
Force and moment coefficients can be computed and output in:
Operands:
| Operand | Type | Location |
|---|---|---|
input | - | - |
output file | dat | postProcessing/<FO>/<time>/files |
output field | volVectorField | <time>/outputFields |
where files:
coefficient.dat | Integrated coefficients over all patches
where outputFields:
<namePrefix>:forceCoeff | Force coefficient field
<namePrefix>:momentCoeff | Moment coefficient field
system/controlDict.functions: forceCoeffsFO
{
// Mandatory entries
type forceCoeffs;
libs (forces);
patches (<wordRes>); // (wall1 "(wall2|wall3)");
magUInf <scalar>;
lRef <scalar>;
Aref <scalar>;
// Optional entries
coefficients (<wordHashSet>);
directForceDensity <bool>;
porosity <bool>;
writeFields <bool>;
useNamePrefix <bool>;
// Conditional mandatory entries
// Cartesian coordinate system specification when evaluating
// force and moment coefficients, either of the below
// Define the centre of rotation
// with implicit directions e1=(1 0 0) and e3=(0 0 1)
CofR (0 0 0); // Centre of rotation
// Define local coordinate system by origin + axes
origin (0 0 0);
e1 (1 0 0);
e3 (0 0 1); // (e1, e2) or (e2, e3) or (e3, e1)
// General coordinate system specification (always cartesian)
coordinateSystem
{
origin (0 0 0);
rotation
{
type ...;
...
}
}
// Conditional optional entries
// if directForceDensity == true
fD <word>;
// if directForceDensity == false
p <word>;
U <word>;
rho <word>;
rhoInf <scalar>; // redundant for incompressible-flow cases
pRef <scalar>;
// Inherited entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Deflt |
|---|---|---|---|---|
type | Type name: forceCoeffs | word | yes | - |
libs | Library name: forces | word | yes | - |
patches | Names of operand patches | wordRes | yes | - |
coefficients | Names of operand coefficients | wordHashSet | no | - |
magUInf | Reference velocity magnitude | scalar | yes | - |
lRef | Reference length scale for moment calculations | scalar | yes | - |
Aref | Reference area | scalar | yes | - |
directForceDensity | Flag to directly supply force density | bool | no | false |
porosity | Flag to include porosity contributions | bool | no | false |
writeFields | Flag to write force and moment fields | bool | no | false |
useNamePrefix | Flag to include prefix for field names | bool | no | false |
CofR | Centre of rotation | vector | cndtnl | - |
origin | Origin of coordinate system | vector | cndtnl | - |
e3 | e3 coordinate axis | vector | cndtnl | - |
e1 | e1 coordinate axis | vector | cndtnl | - |
coordinateSystem | Coordinate system specifier | dictionary | cndtnl | - |
fD | Name of force density field | word | cndtnl-no | fD |
p | Name of pressure field | word | cndtnl-no | p |
U | Name of velocity field | word | cndtnl-no | U |
rho | Name of density field | word | cndtnl-no | rho |
rhoInf | Value of reference density | scalar | cndtnl-yes | - |
pRef | Value of reference pressure | scalar | cndtnl-no | 0 |
Options for the coefficients entry:
Cd | Drag coefficient
Cs | Side-force coefficient
Cl | Lift coefficient
CmRoll | Roll-moment coefficient
CmPitch | Pitch-moment coefficient
CmYaw | Yaw-moment coefficient
Cd(f) | Front-axle drag coefficient
Cs(f) | Front-axle side-force coefficient
Cl(f) | Front-axle lift coefficient
Cd(r) | Rear-axle drag coefficient
Cs(r) | Rear-axle side-force coefficient
Cl(r) | Rear-axle lift coefficient
The inherited entries are elaborated in:
rhoInf is always redundant for incompressible computations. That is, rhoInf is always equal to 1 in incompressible computations no matter which input value is assigned to rhoInf. The value of rhoInf is only used for compressible computations.writeControl and writeInterval entries of function object do control when to output force and moment files and fields.| 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) |
coordinateSystem entry exists, it is taken in favour of CofR.Definition at line 434 of file forceCoeffs.H.
| forceCoeffs | ( | const word & | name, |
| const Time & | runTime, | ||
| const dictionary & | dict, | ||
| const bool | readFields = true ) |
Construct from name, Time and dictionary.
Definition at line 266 of file forceCoeffs.C.
References dict, Foam::endl(), forces::forces(), Foam::Info, Foam::name(), read(), runTime, forces::setCoordinateSystem(), and Foam::Zero.
Referenced by forceCoeffs(), and operator=().


|
delete |
|
virtualdefault |
Destructor.
|
protected |
Initialise containers and fields.
Definition at line 46 of file forceCoeffs.C.
Referenced by execute().

|
protected |
Return access to the force coefficients field.
Definition at line 57 of file forceCoeffs.C.
References Foam::dimless, fvMeshFunctionObject::mesh_, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER, functionObject::scopedName(), regIOobject::store(), timeFunctionObject::time_, and Foam::Zero.
Referenced by calcForceCoeffs(), reset(), and write().


|
protected |
Return access to the moment coefficients field.
Definition at line 85 of file forceCoeffs.C.
References Foam::dimless, fvMeshFunctionObject::mesh_, IOobjectOption::NO_READ, IOobjectOption::NO_WRITE, IOobjectOption::REGISTER, functionObject::scopedName(), regIOobject::store(), timeFunctionObject::time_, and Foam::Zero.
Referenced by calcMomentCoeffs(), reset(), and write().


|
protected |
Reset containers and fields.
Definition at line 113 of file forceCoeffs.C.
References forceCoeff(), momentCoeff(), and Foam::Zero.

|
protected |
Return the operand coefficients.
Definition at line 124 of file forceCoeffs.C.
References forAllConstIters, and HashTable< T, Key, Hash >::insert().
Referenced by read().


|
protected |
Calculate force coefficients.
Definition at line 150 of file forceCoeffs.C.
References forces::coordSysPtr_, Foam::dimForce, Foam::dimless, forces::force(), forceCoeff(), pDyn(), forces::rhoRef_, Foam::sqr(), forces::sumInternalForces_, forces::sumPatchForcesP_, forces::sumPatchForcesV_, and dimensioned< Type >::value().
Referenced by execute().


|
protected |
Calculate moment coefficients.
Definition at line 174 of file forceCoeffs.C.
References forces::coordSysPtr_, Foam::dimForce, Foam::dimLength, Foam::dimless, forces::moment(), momentCoeff(), pDyn(), forces::rhoRef_, Foam::sqr(), forces::sumInternalMoments_, forces::sumPatchMomentsP_, forces::sumPatchMomentsV_, and dimensioned< Type >::value().
Referenced by execute().


Return integrated {total, pressure, viscous, porous} components.
References os().

|
protected |
Create the integrated-coefficient file.
Definition at line 198 of file forceCoeffs.C.
References writeFile::newFileAtStartTime(), and writeIntegratedDataFileHeader().
Referenced by write().


Write header to the integrated-coefficient file.
Definition at line 208 of file forceCoeffs.C.
References forces::coordSysPtr_, Foam::endl(), os(), writeFile::writeCommented(), Foam::writeHeader(), writeFile::writeHeaderValue(), and writeFile::writeTabbed().
Referenced by createIntegratedDataFile().


|
protected |
Write integrated coefficients to the integrated-coefficient file.
Definition at line 243 of file forceCoeffs.C.
References Foam::endl(), os(), Foam::tab, writeFile::writeCurrentTime(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by write().


| TypeName | ( | "forceCoeffs" | ) |
Runtime type information.
References dict, Foam::name(), and runTime.

|
delete |
|
virtual |
Read the function-object dictionary.
Reimplemented from forces.
Definition at line 294 of file forceCoeffs.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::Info, Foam::min(), Foam::nl, forces::read(), forces::rhoName_, forces::rhoRef_, and selectCoeffs().
Referenced by forceCoeffs().


|
virtual |
Execute the function-object operations.
Reimplemented from forces.
Definition at line 375 of file forceCoeffs.C.
References calcForceCoeffs(), forces::calcForcesMoments(), calcMomentCoeffs(), Foam::endl(), Foam::Info, initialise(), Log, Foam::name(), name, Foam::nl, os(), reset(), stateFunctionObject::setResult(), Foam::tab, Foam::type(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

|
virtual |
Write the function-object results.
Reimplemented from forces.
Definition at line 431 of file forceCoeffs.C.
References createIntegratedDataFile(), Foam::endl(), forceCoeff(), Log, momentCoeff(), forces::writeFields_, writeIntegratedDataFile(), and writeFile::writeToFile().
