Calculates the forces and moments by integrating the pressure and skin-friction forces over a given list of patches. More...
#include <forces/forces.H>
Calculates the forces and moments by integrating the pressure and skin-friction forces over a given list of patches.
Member function calcForcesMoment()calculates and returns the forces and moments.
Member function forces::write() calls calcForcesMoment() and writes the forces and moments into the file <timeDir>/forces.dat
Definition at line 68 of file forces.H.
Classes | |
class | sumOp |
Sum operation class to accumulate the pressure, viscous forces and moments. More...
| |
Public Types | |
typedef Tuple2< vector, vector > | pressureViscous |
typedef Tuple2 < pressureViscous, pressureViscous > | forcesMoments |
Public Member Functions | |
TypeName ("forces") | |
Runtime type information.
| |
forces (const word &name, const objectRegistry &, const dictionary &, const bool loadFromFiles=false) | |
Construct for given objectRegistry and dictionary.
| |
virtual | ~forces () |
Destructor.
| |
virtual const word & | name () const |
Return name of the set of forces.
| |
virtual void | read (const dictionary &) |
Read the forces data.
| |
virtual void | execute () |
Execute, currently does nothing.
| |
virtual void | end () |
Execute at the final time-loop, currently does nothing.
| |
virtual void | write () |
Write the forces.
| |
virtual forcesMoments | calcForcesMoment () const |
Calculate and return forces and moment.
| |
virtual void | updateMesh (const mapPolyMesh &) |
Update for changes of mesh.
| |
virtual void | movePoints (const pointField &) |
Update for changes of mesh.
| |
Protected Member Functions | |
void | makeFile () |
If the forces file has not been created create it.
| |
virtual void | writeFileHeader () |
Output file header information.
| |
tmp< volSymmTensorField > | devRhoReff () const |
Return the effective viscous stress (laminar + turbulent).
| |
tmp< volScalarField > | rho () const |
Return rho if rhoName is specified otherwise rhoRef.
| |
scalar | rho (const volScalarField &p) const |
Return rhoRef if the pressure field is dynamic, i.e. p/rho.
| |
forces (const forces &) | |
Disallow default bitwise copy construct.
| |
void | operator= (const forces &) |
Disallow default bitwise assignment.
| |
Protected Attributes | |
word | name_ |
Name of this set of forces,.
| |
const objectRegistry & | obr_ |
bool | active_ |
on/off switch
| |
Switch | log_ |
Switch to send output to Info as well as to file.
| |
labelHashSet | patchSet_ |
Patches to integrate forces over.
| |
word | pName_ |
Name of pressure field.
| |
word | UName_ |
Name of velocity field.
| |
word | rhoName_ |
Name of density field (optional)
| |
Switch | directForceDensity_ |
Is the force density being supplied directly?
| |
word | fDName_ |
The name of the force density (fD) field.
| |
scalar | rhoRef_ |
Reference density needed for incompressible calculations.
| |
scalar | pRef_ |
Reference pressure.
| |
vector | CofR_ |
Centre of rotation.
| |
autoPtr< OFstream > | forcesFilePtr_ |
Forces/moment file ptr.
|
typedef Tuple2<pressureViscous, pressureViscous> forcesMoments |
forces | ( | const word & | name, |
const objectRegistry & | obr, | ||
const dictionary & | dict, | ||
const bool | loadFromFiles = false
|
||
) |
Construct for given objectRegistry and dictionary.
Allow the possibility to load fields from files
Definition at line 174 of file forces.C.
References Foam::endl(), and WarningIn.
void makeFile | ( | ) | [protected]
|
If the forces file has not been created create it.
Definition at line 302 of file forces.C.
References Foam::endl(), Foam::Info, Pstream::master(), Foam::mkDir(), Pstream::parRun(), fileName::path(), and Foam::type().
void writeFileHeader | ( | ) | [protected, virtual]
|
Output file header information.
Reimplemented in forceCoeffs.
Definition at line 343 of file forces.C.
References Foam::endl(), and Foam::tab.
Foam::tmp< Foam::volSymmTensorField > devRhoReff | ( | ) | const [protected]
|
Return the effective viscous stress (laminar + turbulent).
Definition at line 49 of file forces.C.
References Foam::dev(), Foam::exit(), Foam::FatalError, FatalErrorIn, objectRegistry::foundObject(), Foam::fvc::grad(), dictionary::lookup(), objectRegistry::lookupObject(), basicThermo::mu(), nu, singlePhaseTransportModel::nu(), GeometricField< symmTensor, fvPatchField, volMesh >::null(), forces::obr_, RASModel(), forces::rho(), thermo, transportProperties(), Foam::twoSymm(), U, and forces::UName_.
Foam::tmp< Foam::volScalarField > rho | ( | ) | const [protected]
|
Return rho if rhoName is specified otherwise rhoRef.
Definition at line 123 of file forces.C.
References Foam::dimDensity, mesh, fvMesh::time(), and Time::timeName().
Referenced by forces::devRhoReff().
Foam::scalar rho | ( | const volScalarField & | p ) | const [protected]
|
Return rhoRef if the pressure field is dynamic, i.e. p/rho.
otherwise return 1
Definition at line 151 of file forces.C.
References DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimPressure, Foam::exit(), Foam::FatalError, and FatalErrorIn.
void operator= | ( | const forces & | ) | [protected]
|
Disallow default bitwise assignment.
TypeName | ( | "forces" | ) |
Runtime type information.
virtual const word& name | ( | ) | const [inline, virtual]
|
Return name of the set of forces.
Definition at line 208 of file forces.H.
References forces::name_.
void read | ( | const dictionary & | dict ) | [virtual]
|
Read the forces data.
Reimplemented in forceCoeffs.
Definition at line 225 of file forces.C.
References polyMesh::boundaryMesh(), Foam::endl(), Foam::Info, dictionary::lookup(), dictionary::lookupOrDefault(), mesh, Foam::nl, polyBoundaryMesh::patchSet(), dictionary::readIfPresent(), Foam::readScalar(), and WarningIn.
Referenced by forceCoeffs::read().
void execute | ( | ) | [virtual]
|
Execute, currently does nothing.
Reimplemented in forceCoeffs.
void end | ( | ) | [virtual]
|
Execute at the final time-loop, currently does nothing.
Reimplemented in forceCoeffs.
void write | ( | ) | [virtual]
|
Write the forces.
Reimplemented in forceCoeffs.
Definition at line 367 of file forces.C.
References Foam::endl(), Tuple2< Type1, Type2 >::first(), Foam::Info, Pstream::master(), Foam::nl, Tuple2< Type1, Type2 >::second(), and Foam::tab.
Foam::forces::forcesMoments calcForcesMoment | ( | ) | const [virtual]
|
Calculate and return forces and moment.
Definition at line 392 of file forces.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Tuple2< Type1, Type2 >::first(), forAllConstIter, Foam::mag(), DimensionedField< Type, GeoMesh >::mesh(), mesh, p, Foam::reduce(), rho, Tuple2< Type1, Type2 >::second(), Foam::sum(), U, and Vector< Cmpt >::zero.
Referenced by sixDoFRigidBodyDisplacementPointPatchVectorField::updateCoeffs(), and forceCoeffs::write().
virtual void updateMesh | ( | const mapPolyMesh & | ) | [inline, virtual]
|
virtual void movePoints | ( | const pointField & | ) | [inline, virtual]
|
Name of this set of forces,.
Also used as the name of the probes directory.
Definition at line 113 of file forces.H.
Referenced by forces::name().
const objectRegistry& obr_ [protected]
|
Definition at line 115 of file forces.H.
Referenced by forces::devRhoReff().
labelHashSet patchSet_ [protected]
|
Name of velocity field.
Definition at line 132 of file forces.H.
Referenced by forces::devRhoReff().
Switch directForceDensity_ [protected]
|
scalar rhoRef_ [protected]
|
autoPtr<OFstream> forcesFilePtr_ [protected]
|