Computes forces and moments over a given list of patches by integrating pressure and viscous forces and moments, and optionally resistance forces and moments from porous zones.
More...
|
| 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...
|
|
| forces (const forces &)=delete |
| No copy construct. More...
|
|
void | operator= (const forces &)=delete |
| No copy assignment. More...
|
|
virtual | ~forces ()=default |
| Destructor. More...
|
|
virtual bool | read (const dictionary &dict) |
| Read the dictionary. More...
|
|
virtual void | calcForcesMoments () |
| Calculate forces and moments. More...
|
|
virtual vector | forceEff () const |
| Return the total force. More...
|
|
virtual vector | momentEff () const |
| Return the total moment. More...
|
|
virtual bool | execute () |
| Execute the function object. More...
|
|
virtual bool | write () |
| Write to data files/fields and to streams. More...
|
|
| 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...
|
|
| 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...
|
|
virtual bool | read (const dictionary &dict) |
| Read optional controls. 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...
|
|
| 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...
|
|
void | clearTrigger () |
| Remove the trigger index from the properties. More...
|
|
label | getTrigger () const |
| Get the current trigger index. More...
|
|
bool | setTrigger (const label triggeri) |
| Set new 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...
|
|
wordList | objectResultEntries () const |
| Retrieve the result entries. More...
|
|
wordList | 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...
|
|
| 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 |
|
| 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. More...
|
|
autoPtr< functionObject > | clone () const |
| Return clone. More...
|
|
virtual | ~functionObject ()=default |
| Destructor. More...
|
|
virtual const word & | type () const =0 |
| Runtime type information. More...
|
|
const word & | name () const noexcept |
| Return the name of this functionObject. More...
|
|
bool | useNamePrefix () const noexcept |
| Return the flag for adding a scoping name prefix. More...
|
|
bool | useNamePrefix (bool on) noexcept |
| Modify the flag for adding a scoping name prefix. More...
|
|
virtual bool | read (const dictionary &dict) |
| Read and set the function object if its data have changed. More...
|
|
virtual bool | execute ()=0 |
| Called at each ++ or += of the time-loop. More...
|
|
virtual bool | execute (const label subIndex) |
| Execute using the specified subIndex. More...
|
|
virtual bool | write ()=0 |
| Called at each ++ or += of the time-loop. 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...
|
|
| 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 bool | read (const dictionary &dict) |
| Read. 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...
|
|
template<class Type > |
void | writeValue (Ostream &os, const Type &val) const |
| Write a given value to stream with the space delimiter. 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...
|
|
volVectorField & | force () |
| Return access to the force field. More...
|
|
volVectorField & | moment () |
| Return access to the moment field. More...
|
|
void | initialise () |
| Initialise containers and fields. More...
|
|
void | reset () |
| Reset containers and fields. More...
|
|
tmp< volSymmTensorField > | devRhoReff () const |
| Return the effective stress (viscous + turbulent) More...
|
|
tmp< volScalarField > | mu () const |
| Return dynamic viscosity field. More...
|
|
tmp< volScalarField > | rho () const |
| Return rho if specified otherwise rhoRef. More...
|
|
scalar | rho (const volScalarField &p) const |
|
void | addToPatchFields (const label patchi, const vectorField &Md, const vectorField &fP, const vectorField &fV) |
| Add patch contributions to force and moment fields. More...
|
|
void | addToInternalField (const labelList &cellIDs, const vectorField &Md, const vectorField &f) |
|
void | createIntegratedDataFiles () |
| Create the integrated-data files. More...
|
|
void | writeIntegratedDataFileHeader (const word &header, OFstream &os) const |
| Write header for an integrated-data file. More...
|
|
void | writeIntegratedDataFiles () |
| Write integrated data to files. More...
|
|
void | writeIntegratedDataFile (const vector &pres, const vector &vis, const vector &internal, OFstream &os) const |
| Write integrated data to a file. More...
|
|
void | logIntegratedData (const string &descriptor, const vector &pres, const vector &vis, const vector &internal) const |
| Write integrated data to stream. More...
|
|
| fvMeshFunctionObject (const fvMeshFunctionObject &)=delete |
| No copy construct. More...
|
|
void | operator= (const fvMeshFunctionObject &)=delete |
| No copy assignment. More...
|
|
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...
|
|
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. 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...
|
|
const functionObjects::properties & | stateDict () const |
| Return a const reference to the state dictionary. More...
|
|
functionObjects::properties & | 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...
|
|
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...
|
|
word | scopedName (const word &name) const |
| Return a scoped (prefixed) name. More...
|
|
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...
|
|
Computes forces and moments over a given list of patches by integrating pressure and viscous forces and moments, and optionally resistance forces and moments from porous zones.
Forces and moments are output in their total and constituent components:
- total forces and moments
- pressure contributions
- viscous contributions
- porous resistance contributions (optional)
Forces and moments can be computed and output in:
- the global Cartesian coordinate system (default)
- a user-defined Cartesian coordinate system
Operands:
Operand | Type | Location |
input | - | - |
output file | dat | postProcessing/<FO>/<time>/<file>s |
output field | volVectorField | <time>/<outField>s |
where <file>s:
force.dat | Forces
moment.dat | Moments
where <outField>s:
<namePrefix>:force | Force field
<namePrefix>:moment | Moment field
- Usage
- Minimal example by using
system/controlDict.functions
: <namePrefix>
{
// Mandatory entries
type forces;
libs (forces);
patches (<wordRes>);
// Optional entries
directForceDensity <bool>;
porosity <bool>;
writeFields <bool>;
useNamePrefix <bool>;
// Conditional mandatory entries
// if directForceDensity == true
fD <word>;
// Cartesian coordinate system specification when
// evaluating forces and moments, either of the below
// Option-1, i.e. the centre of rotation
// by inherently using e3=(0 0 1) and e1=(1 0 0)
CofR (0 0 0); // Centre of rotation
// Option-2, i.e. local coordinate system specification
origin (0 0 0);
e1 (1 0 0);
e3 (0 0 1); // (e1, e2) or (e2, e3) or (e3, e1)
// Option-3, i.e. general coordinate system specification
coordinateSystem
{
type cartesian;
origin (0 0 0);
rotation
{
type axes;
e3 (0 0 1);
e1 (1 0 0); // (e1, e2) or (e2, e3) or (e3, e1)
}
}
// Conditional optional entries
// if directForceDensity == false
p <word>;
U <word>;
rho <word>;
rhoInf <scalar>; // enabled if rho=rhoInf
pRef <scalar>;
// Inherited entries
...
}
where the entries mean:
Property | Description | Type | Reqd | Deflt |
type | Type name: forces | word | yes | - |
libs | Library name: forces | word | yes | - |
patches | Names of operand patches | wordRes | 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 | - |
p | Name of pressure field | word | cndtnl | p |
U | Name of velocity field | word | cndtnl | U |
rho | Name of density field | word | cndtnl | rho |
rhoInf | Value of reference density | scalar | cndtnl | - |
pRef | Value of reference pressure | scalar | cndtnl | 0 |
The inherited entries are elaborated in:
- Note
- For incompressible cases, set
rho
to rhoInf
. You will then be required to provide a rhoInf
value corresponding to the constant freestream density.
writeControl
and writeInterval
entries of function object do control when to output force and moment files and fields.
- Source files
-
Definition at line 321 of file forces.H.