Calculates the forces and moments by integrating the pressure and skin-friction forces over a given list of patches. More...
Public Member Functions | |
TypeName ("forcesBase") | |
Runtime type information. More... | |
forcesBase (const word &name, const Time &runTime, const dictionary &dict) | |
Construct from Time and dictionary. More... | |
forcesBase (const word &name, const objectRegistry &obr, const dictionary &) | |
Construct from objectRegistry and dictionary. More... | |
forcesBase (const forcesBase &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~forcesBase () |
Destructor. More... | |
virtual bool | read (const dictionary &) |
Read the forces data. More... | |
virtual wordList | fields () const |
Return the list of fields required. More... | |
virtual void | calcForcesMoments () |
Calculate the 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, currently does nothing. More... | |
virtual bool | write () |
Write the forces. More... | |
void | operator= (const forcesBase &)=delete |
Disallow default bitwise assignment. 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... | |
fvMeshFunctionObject (const fvMeshFunctionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~fvMeshFunctionObject () |
Destructor. More... | |
void | operator= (const fvMeshFunctionObject &)=delete |
Disallow default bitwise assignment. 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... | |
regionFunctionObject (const regionFunctionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~regionFunctionObject () |
Destructor. More... | |
void | operator= (const regionFunctionObject &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from functionObject | |
ClassName ("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, const Time &runTime) | |
Construct from components. More... | |
autoPtr< functionObject > | clone () const |
Return clone. More... | |
functionObject (const functionObject &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~functionObject () |
Destructor. More... | |
const word & | name () const |
Return the name of this functionObject. More... | |
virtual bool | executeAtStart () const |
Return true if the functionObject should be executed at the start. More... | |
virtual bool | end () |
Called when Time::run() determines that the time-loop exits. More... | |
virtual scalar | timeToNextAction () |
Called by Time::adjustTimeStep(). Allows the functionObject to. More... | |
virtual scalar | maxDeltaT () const |
Return the maximum time-step for stable operation. More... | |
virtual void | movePoints (const polyMesh &mesh) |
Update topology using the given map. More... | |
virtual void | topoChange (const polyTopoChangeMap &map) |
Update topology using the given map. More... | |
virtual void | mapMesh (const polyMeshMap &) |
Update from another mesh using the given map. More... | |
virtual void | distribute (const polyDistributionMap &) |
Redistribute or update using the given distribution map. More... | |
void | operator= (const functionObject &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from logFiles | |
logFiles (const objectRegistry &obr, const word &prefix) | |
Construct from objectRegistry and prefix. More... | |
logFiles (const logFiles &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~logFiles () |
Destructor. More... | |
const wordList & | toc () const |
Return the list of log file names. More... | |
const wordList & | names () const |
Return the list of log file names. More... | |
PtrList< OFstream > & | files () |
Return access to the files. More... | |
OFstream & | file () |
Return access to the file (if only 1) More... | |
OFstream & | file (const label i) |
Return file 'i'. More... | |
void | operator= (const logFiles &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from writeFile | |
writeFile (const objectRegistry &obr, const word &prefix) | |
Construct from objectRegistry and prefix. More... | |
writeFile (const writeFile &)=delete | |
Disallow default bitwise copy construction. More... | |
~writeFile () | |
Destructor. 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... | |
Omanip< int > | valueWidth (const label offset=0) const |
Return the value width when writing to stream with optional offset. More... | |
void | writeCommented (Ostream &os, const string &str) const |
Write a commented string to stream. More... | |
void | writeTabbed (Ostream &os, const string &str) const |
Write a tabbed string to stream. More... | |
void | writeHeader (Ostream &os, const string &str) const |
Write a commented header to stream. More... | |
void | writeTime (Ostream &os) const |
Write the current time to 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... | |
label | charWidth () const |
Return width of character stream output. More... | |
void | operator= (const writeFile &)=delete |
Disallow default bitwise assignment. More... | |
Protected Types | |
enum class | fileID { mainFile = 0 , binsFile = 1 } |
Enumeration for ensuring the right file is accessed. More... | |
Protected Member Functions | |
Ostream & | file (const fileID fid) |
wordList | createFileNames (const dictionary &dict) const |
Create file names for forces and bins. More... | |
virtual void | writeFileHeader (const label i) |
Output file header information. More... | |
void | initialise () |
Initialise the fields. More... | |
tmp< volSymmTensorField > | devTau () 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... | |
tmp< volScalarField > | alpha () const |
Get the volume fraction field. More... | |
tmp< scalarField > | alpha (const label patchi) const |
Get the volume fraction field on a patch. More... | |
void | applyBins (const vectorField &Md, const vectorField &fN, const vectorField &fT, const vectorField &fP, const vectorField &d) |
Accumulate bin data. More... | |
void | calcForcesMoments (const vector &CofR) |
Calculate the forces and moments. More... | |
virtual vector | CofR () const =0 |
Return the current centre of the rigid body. More... | |
virtual void | writeCoRValueHeader (Ostream &file) |
Write the constant centre of rotation value in the header. More... | |
virtual void | writeCoRHeader (Ostream &file) |
Write the time varying centre of rotation column header. More... | |
virtual void | writeCofR (Ostream &file) |
Write the time varying centre of rotation. More... | |
void | writeForces () |
Helper function to write force data. More... | |
void | writeBins () |
Helper function to write bin data. More... | |
OFstream & | file () |
Return access to the file (if only 1) More... | |
OFstream & | file (const label i) |
Return file 'i'. More... | |
Protected Member Functions inherited from fvMeshFunctionObject | |
labelHashSet | patchSet (const dictionary &, const bool optional=false) const |
Return the patch set corresponding to the patch selection entries. More... | |
Protected Member Functions inherited from regionFunctionObject | |
template<class ObjectType > | |
bool | foundObject (const word &fieldName) const |
Find field in the objectRegistry. More... | |
template<class ObjectType > | |
void | cannotFindObject (const word &fieldName) |
Prints a warning message that fieldName cannot be found. More... | |
void | cannotFindObject (const word &fieldName) |
Prints a warning message that fieldName cannot be found. More... | |
void | cannotFindObjects (const wordList &fieldNames) |
Prints a warning message that fieldNames cannot be found. More... | |
template<class ObjectType > | |
const ObjectType & | lookupObject (const word &fieldName) const |
Lookup object from the objectRegistry. More... | |
template<class ObjectType > | |
ObjectType & | lookupObjectRef (const word &fieldName) |
Lookup non-const object reference from the objectRegistry. More... | |
template<class ObjectType > | |
bool | store (const tmp< ObjectType > &tfield) |
Store the given field in the objectRegistry. More... | |
template<class ObjectType > | |
bool | store (const word &fieldName, const tmp< ObjectType > &tfield, bool cacheable=false) |
Store the given field in the objectRegistry under the given name. More... | |
bool | writeObject (const word &fieldName) |
Write field if present in objectRegistry. More... | |
bool | clearObject (const word &fieldName) |
Clear field from the objectRegistry if present. More... | |
Protected Member Functions inherited from logFiles | |
virtual void | createFiles () |
Create the output file. More... | |
virtual void | resetNames (const wordList &names) |
Reset the list of names from a wordList. More... | |
virtual void | resetName (const word &name) |
Reset the list of names to a single name entry. More... | |
Protected Attributes | |
List< Field< vector > > | force_ |
Pressure, viscous and porous force per bin. More... | |
List< Field< vector > > | moment_ |
Pressure, viscous and porous moment per bin. 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... | |
word | phaseName_ |
The name of the phase (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... | |
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... | |
List< point > | binPoints_ |
Bin positions along binDir. More... | |
bool | binCumulative_ |
Should bin data be cumulative? More... | |
bool | initialised_ |
Initialised flag. More... | |
Protected Attributes inherited from fvMeshFunctionObject | |
const fvMesh & | mesh_ |
Reference to the fvMesh. More... | |
Protected Attributes inherited from regionFunctionObject | |
const objectRegistry & | obr_ |
Reference to the region objectRegistry. More... | |
Protected Attributes inherited from functionObject | |
const Time & | time_ |
Reference to time. More... | |
Protected Attributes inherited from logFiles | |
wordList | names_ |
File names. More... | |
PtrList< OFstream > | filePtrs_ |
File pointer. More... | |
Protected Attributes inherited from writeFile | |
const objectRegistry & | fileObr_ |
Reference to the region objectRegistry. More... | |
const word | prefix_ |
Prefix. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from functionObject | |
static autoPtr< functionObject > | New (const word &name, const Time &, const dictionary &) |
Select from dictionary, based on its "type" entry. More... | |
Public Attributes inherited from functionObject | |
Switch | log |
Switch write log to Info. More... | |
Switch | executeAtStart_ |
Switch write log to Info. More... | |
Static Public Attributes inherited from functionObject | |
static bool | postProcess |
Global post-processing mode switch. More... | |
Static Public Attributes inherited from writeFile | |
static const word | outputPrefix |
Directory prefix. More... | |
static label | addChars = 8 |
Additional characters for writing. More... | |
Calculates the forces and moments by integrating the pressure and skin-friction forces over a given list of patches.
Definition at line 60 of file forcesBase.H.
|
strongprotected |
Enumeration for ensuring the right file is accessed.
Enumerator | |
---|---|
mainFile | |
binsFile |
Definition at line 71 of file forcesBase.H.
forcesBase | ( | const word & | name, |
const Time & | runTime, | ||
const dictionary & | dict | ||
) |
Construct from Time and dictionary.
Definition at line 579 of file forcesBase.C.
References dict, and forcesBase::read().
forcesBase | ( | const word & | name, |
const objectRegistry & | obr, | ||
const dictionary & | dict | ||
) |
Construct from objectRegistry and dictionary.
Definition at line 612 of file forcesBase.C.
References dict, and forcesBase::read().
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 647 of file forcesBase.C.
Definition at line 146 of file forcesBase.H.
References logFiles::file().
|
protected |
Create file names for forces and bins.
Definition at line 49 of file forcesBase.C.
References List< T >::append(), dict, dictionary::lookup(), and logFiles::names().
|
protectedvirtual |
Output file header information.
Implements logFiles.
Reimplemented in forceCoeffs.
Definition at line 76 of file forcesBase.C.
References Foam::abort(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, Foam::file, forAll, Foam::jn(), Foam::name(), Foam::nl, Foam::tab, and Foam::vtkWriteOps::writeHeader().
|
protected |
Initialise the fields.
Definition at line 161 of file forcesBase.C.
References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.
|
protected |
Return the effective viscous stress (laminar + turbulent).
Definition at line 208 of file forcesBase.C.
References alpha(), Foam::dev(), incompressibleMomentumTransportModel::devSigma(), Foam::dimKinematicViscosity, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::fvc::grad(), IOobject::groupName(), dictionary::lookup(), GeometricField< Type, PatchField, GeoMesh >::null(), word::null, rho, Foam::twoSymm(), and U.
|
protected |
Dynamic viscosity field.
Definition at line 278 of file forcesBase.C.
References Foam::dimKinematicViscosity, Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::groupName(), dictionary::lookup(), momentumTransportModel::nu(), GeometricField< Type, PatchField, GeoMesh >::null(), word::null, and rho.
|
protected |
Return rho if specified otherwise rhoRef.
Definition at line 346 of file forcesBase.C.
References Foam::dimDensity, and GeometricField< Type, PatchField, GeoMesh >::New().
|
protected |
Return rhoRef if the pressure field is dynamic, i.e. p/rho.
otherwise return 1
Definition at line 364 of file forcesBase.C.
References Foam::dimPressure, Foam::exit(), Foam::FatalError, FatalErrorInFunction, and p.
|
protected |
Get the volume fraction field.
Definition at line 387 of file forcesBase.C.
References Foam::dimless, IOobject::groupName(), GeometricField< Type, PatchField, GeoMesh >::New(), and word::null.
|
protected |
Get the volume fraction field on a patch.
Definition at line 408 of file forcesBase.C.
References IOobject::groupName(), word::null, and patchi.
|
protected |
Accumulate bin data.
Definition at line 430 of file forcesBase.C.
References forAll, Foam::max(), Foam::min(), and Foam::sum().
|
protected |
Calculate the forces and moments.
Porous force
Definition at line 797 of file forcesBase.C.
References alpha(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), HashTable< T, Key, Hash >::empty(), Foam::endl(), forAllConstIter, porosityModel::force(), Pstream::listCombineGather(), Pstream::listCombineScatter(), Foam::mag(), Foam::constant::physicoChemical::mu, p, patchi, rho, List< T >::size(), U, WarningInFunction, Foam::Zero, and porosityModel::zoneName().
|
protectedpure virtual |
Return the current centre of the rigid body.
Implemented in rigidBodyForces, movingForces, and forces.
|
protectedvirtual |
Write the constant centre of rotation value in the header.
Not written by default
Reimplemented in forces.
Definition at line 467 of file forcesBase.C.
|
protectedvirtual |
Write the time varying centre of rotation column header.
Reimplemented in forces.
Definition at line 471 of file forcesBase.C.
References Foam::file, and Foam::tab.
|
protectedvirtual |
Write the time varying centre of rotation.
Reimplemented in forces.
Definition at line 477 of file forcesBase.C.
References Foam::file.
|
protected |
Helper function to write force data.
Definition at line 483 of file forcesBase.C.
References Foam::endl(), Foam::file, Log, Foam::name(), Foam::nl, Foam::setw(), Foam::sum(), Foam::tab, and Foam::type().
|
protected |
Helper function to write bin data.
Definition at line 522 of file forcesBase.C.
References Foam::endl(), f(), Foam::file, forAll, Foam::setw(), and Foam::tab.
TypeName | ( | "forcesBase" | ) |
Runtime type information.
|
virtual |
Read the forces data.
Reimplemented from regionFunctionObject.
Reimplemented in rigidBodyForces, movingForces, forces, and forceCoeffs.
Definition at line 653 of file forcesBase.C.
References dict, Foam::endl(), Foam::exit(), polyPatch::faceCentres(), Foam::FatalIOError, FatalIOErrorInFunction, forAll, forAllConstIter, IOobject::groupName(), Log, dictionary::lookup(), Foam::mag(), Foam::max(), Foam::min(), Foam::name(), Foam::nl, word::null, patchi, regionFunctionObject::read(), Foam::reduce(), and Foam::type().
Referenced by forcesBase::forcesBase(), forces::read(), movingForces::read(), and rigidBodyForces::read().
|
inlinevirtual |
Return the list of fields required.
Implements functionObject.
Definition at line 250 of file forcesBase.H.
References List< word >::null().
|
virtual |
Calculate the forces and moments.
Definition at line 925 of file forcesBase.C.
Referenced by forceCoeffs::write().
|
virtual |
Return the total force.
Definition at line 931 of file forcesBase.C.
References Foam::sum().
|
virtual |
Return the total moment.
Definition at line 937 of file forcesBase.C.
References Foam::sum().
|
virtual |
Execute, currently does nothing.
Implements functionObject.
Reimplemented in forceCoeffs.
Definition at line 943 of file forcesBase.C.
|
virtual |
Write the forces.
Reimplemented from logFiles.
Reimplemented in forceCoeffs.
Definition at line 949 of file forcesBase.C.
References Foam::endl(), Log, UPstream::master(), and logFiles::write().
|
delete |
Disallow default bitwise assignment.
|
protected |
Return access to the file (if only 1)
Definition at line 119 of file logFiles.C.
Referenced by forceCoeffs::writeFileHeader().
|
protected |
Return file 'i'.
Definition at line 122 of file logFiles.C.
References Foam::endl(), and WarningInFunction.
Pressure, viscous and porous force per bin.
Definition at line 78 of file forcesBase.H.
Pressure, viscous and porous moment per bin.
Definition at line 81 of file forcesBase.H.
|
protected |
Patches to integrate forces over.
Definition at line 87 of file forcesBase.H.
|
protected |
Name of pressure field.
Definition at line 90 of file forcesBase.H.
|
protected |
Name of velocity field.
Definition at line 93 of file forcesBase.H.
|
protected |
Name of density field (optional)
Definition at line 96 of file forcesBase.H.
|
protected |
The name of the phase (optional)
Definition at line 99 of file forcesBase.H.
|
protected |
Is the force density being supplied directly?
Definition at line 102 of file forcesBase.H.
|
protected |
The name of the force density (fD) field.
Definition at line 105 of file forcesBase.H.
|
protected |
Reference density needed for incompressible calculations.
Definition at line 108 of file forcesBase.H.
|
protected |
Reference pressure.
Definition at line 111 of file forcesBase.H.
|
protected |
Flag to include porosity effects.
Definition at line 114 of file forcesBase.H.
|
protected |
Number of bins.
Definition at line 120 of file forcesBase.H.
Referenced by forceCoeffs::writeFileHeader().
|
protected |
Direction used to determine bin orientation.
Definition at line 123 of file forcesBase.H.
Referenced by forceCoeffs::writeFileHeader().
|
protected |
Distance between bin divisions.
Definition at line 126 of file forcesBase.H.
Referenced by forceCoeffs::writeFileHeader().
|
protected |
Minimum bin bounds.
Definition at line 129 of file forcesBase.H.
Referenced by forceCoeffs::writeFileHeader().
Bin positions along binDir.
Definition at line 132 of file forcesBase.H.
|
protected |
Should bin data be cumulative?
Definition at line 135 of file forcesBase.H.
|
protected |
Initialised flag.
Definition at line 139 of file forcesBase.H.