Public Member Functions | List of all members
engineTime Class Reference

Manage time in terms of engine RPM and crank-angle. More...

Inheritance diagram for engineTime:
Inheritance graph
[legend]
Collaboration diagram for engineTime:
Collaboration graph
[legend]

Public Member Functions

 engineTime (const word &name, const fileName &rootPath, const fileName &caseName, const fileName &systemName="system", const fileName &constantName="constant", const fileName &dictName="engineGeometry")
 Construct from objectRegistry arguments. More...
 
virtual ~engineTime ()
 Destructor. More...
 
scalar degToTime (const scalar theta) const
 Convert degrees to seconds (for given engine speed in RPM) More...
 
scalar timeToDeg (const scalar t) const
 Convert seconds to degrees (for given engine speed in RPM) More...
 
scalar pistonPosition (const scalar theta) const
 Calculate the piston position from the engine geometry. More...
 
const IOdictionaryengineDict () const
 Return the engine geometry dictionary. More...
 
const dimensionedScalarrpm () const
 Return the engines current operating RPM. More...
 
const dimensionedScalarconRodLength () const
 Return the engines connecting-rod length. More...
 
const dimensionedScalarbore () const
 Return the engines bore. More...
 
const dimensionedScalarstroke () const
 Return the engines stroke. More...
 
const dimensionedScalarclearance () const
 Return the engines clearance-gap. More...
 
scalar theta () const
 Return current crank-angle. More...
 
scalar thetaRevolution () const
 Return current crank-angle translated to a single revolution. More...
 
scalar deltaTheta () const
 Return crank-angle increment. More...
 
dimensionedScalar pistonPosition () const
 Return current piston position. More...
 
dimensionedScalar pistonDisplacement () const
 Return piston displacement for current time step. More...
 
dimensionedScalar pistonSpeed () const
 Return piston speed for current time step. More...
 
virtual scalar userTimeToTime (const scalar theta) const
 Convert the user-time (CA deg) to real-time (s). More...
 
virtual scalar timeToUserTime (const scalar t) const
 Convert the real-time (s) into user-time (CA deg) More...
 
virtual void readDict ()
 Read the control dictionary and set the write controls etc. More...
 
virtual bool read ()
 Read the controlDict and set all the parameters. More...
 
- Public Member Functions inherited from Time
 TypeName ("time")
 
 Time (const word &name, const argList &args, const word &systemName="system", const word &constantName="constant")
 Construct given name of dictionary to read and argument list. More...
 
 Time (const word &name, const fileName &rootPath, const fileName &caseName, const word &systemName="system", const word &constantName="constant", const bool enableFunctionObjects=true)
 Construct given name of dictionary to read, rootPath and casePath. More...
 
 Time (const dictionary &dict, const fileName &rootPath, const fileName &caseName, const word &systemName="system", const word &constantName="constant", const bool enableFunctionObjects=true)
 Construct given dictionary, rootPath and casePath. More...
 
 Time (const fileName &rootPath, const fileName &caseName, const word &systemName="system", const word &constantName="constant", const bool enableFunctionObjects=true)
 Construct given endTime, rootPath and casePath. More...
 
virtual ~Time ()
 Destructor. More...
 
const fileNamerootPath () const
 Return root path. More...
 
const fileNamecaseName () const
 Return case name. More...
 
fileName path () const
 Return path. More...
 
const dictionarycontrolDict () const
 
virtual const fileNamedbDir () const
 Local directory path of this objectRegistry relative to the time. More...
 
fileName timePath () const
 Return current time path. More...
 
IOstream::streamFormat writeFormat () const
 Default write format. More...
 
IOstream::versionNumber writeVersion () const
 Default write version number. More...
 
IOstream::compressionType writeCompression () const
 Default write compression. More...
 
const wordgraphFormat () const
 Default graph format. More...
 
const SwitchrunTimeModifiable () const
 Supports re-reading. More...
 
void readModifiedObjects ()
 Read the objects that have been modified. More...
 
label addWatch (const fileName &) const
 Add watching of a file. Returns handle. More...
 
bool removeWatch (const label) const
 Remove watch on a file (using handle) More...
 
const fileNamegetFile (const label) const
 Get name of file being watched (using handle) More...
 
fileMonitor::fileState getState (const label) const
 Get current state of file (using handle) More...
 
void setUnmodified (const label) const
 Set current state of file (using handle) to unmodified. More...
 
word findInstance (const fileName &dir, const word &name=word::null, const IOobject::readOption rOpt=IOobject::MUST_READ, const word &stopInstance=word::null) const
 Return the location of "dir" containing the file "name". More...
 
instantList times () const
 Search the case for valid time directories. More...
 
word findInstancePath (const instant &) const
 Search the case for the time directory path. More...
 
instant findClosestTime (const scalar) const
 Search the case for the time closest to the given time. More...
 
virtual bool writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType) const
 Write using given format, version and compression. More...
 
bool writeNow ()
 Write the objects now (not at end of iteration) and continue. More...
 
bool writeAndEnd ()
 Write the objects now (not at end of iteration) and end the run. More...
 
void writeOnce ()
 Write the objects once (one shot) and continue the run. More...
 
virtual word timeName () const
 Return current time name. More...
 
virtual label startTimeIndex () const
 Return start time index. More...
 
virtual dimensionedScalar startTime () const
 Return start time. More...
 
virtual dimensionedScalar endTime () const
 Return end time. More...
 
const functionObjectListfunctionObjects () const
 Return the list of function objects. More...
 
const dlLibraryTablelibs () const
 External access to the loaded libraries. More...
 
dlLibraryTablelibs ()
 External access to the loaded libraries. More...
 
bool subCycling () const
 Return true if time currently being sub-cycled, otherwise false. More...
 
const TimeStateprevTimeState () const
 Return previous TimeState if time is being sub-cycled. More...
 
virtual bool run () const
 Return true if run should continue,. More...
 
virtual bool loop ()
 Return true if run should continue and if so increment time. More...
 
virtual bool end () const
 Return true if end of run,. More...
 
virtual bool stopAt (const stopAtControls) const
 Adjust the current stopAtControl. Note that this value. More...
 
virtual void setTime (const Time &)
 Reset the time and time-index to those of the given time. More...
 
virtual void setTime (const instant &, const label newIndex)
 Reset the time and time-index. More...
 
virtual void setTime (const dimensionedScalar &, const label newIndex)
 Reset the time and time-index. More...
 
virtual void setTime (const scalar, const label newIndex)
 Reset the time and time-index. More...
 
virtual void setEndTime (const dimensionedScalar &)
 Reset end time. More...
 
virtual void setEndTime (const scalar)
 Reset end time. More...
 
virtual void setDeltaT (const dimensionedScalar &, const bool adjustDeltaT=true)
 Reset time step. More...
 
virtual void setDeltaT (const scalar, const bool adjustDeltaT=true)
 Reset time step. More...
 
virtual TimeState subCycle (const label nSubCycles)
 Set time to sub-cycle for the given number of steps. More...
 
virtual void endSubCycle ()
 Reset time after sub-cycling back to previous TimeState. More...
 
functionObjectListfunctionObjects ()
 Return non-const access to the list of function objects. More...
 
virtual Timeoperator+= (const dimensionedScalar &)
 Set deltaT to that specified and increment time via operator++() More...
 
virtual Timeoperator+= (const scalar)
 Set deltaT to that specified and increment time via operator++() More...
 
virtual Timeoperator++ ()
 Prefix increment,. More...
 
virtual Timeoperator++ (int)
 Postfix increment, this is identical to the prefix increment. More...
 
- Public Member Functions inherited from clock
 clock ()
 Null constructor which stores the start time. More...
 
time_t elapsedClockTime () const
 Returns wall-clock time from clock instantiation. More...
 
time_t clockTimeIncrement () const
 Returns wall-clock time from last call of clockTimeIncrement() More...
 
- Public Member Functions inherited from cpuTime
 cpuTime ()
 Construct with the current clock time. More...
 
double elapsedCpuTime () const
 Return CPU time (in seconds) from the start. More...
 
double cpuTimeIncrement () const
 Return CPU time (in seconds) since last call to cpuTimeIncrement() More...
 
- Public Member Functions inherited from TimePaths
 TimePaths (const fileName &rootPath, const fileName &caseName, const word &systemName, const word &constantName)
 Construct given database name, rootPath and casePath. More...
 
 TimePaths (const bool processorCase, const fileName &rootPath, const fileName &globalCaseName, const fileName &caseName, const word &systemName, const word &constantName)
 Construct given database name, rootPath and casePath. More...
 
bool processorCase () const
 Return true if this is a processor case. More...
 
const fileNamerootPath () const
 Return root path. More...
 
const fileNameglobalCaseName () const
 Return global case name. More...
 
const fileNamecaseName () const
 Return case name. More...
 
const wordsystem () const
 Return system name. More...
 
fileName caseSystem () const
 Return system name for the case. More...
 
const wordconstant () const
 Return constant name. More...
 
fileName caseConstant () const
 Return constant name for the case. More...
 
fileName path () const
 Return path. More...
 
fileName systemPath () const
 Return system path. More...
 
fileName constantPath () const
 Return constant path. More...
 
- Public Member Functions inherited from objectRegistry
 TypeName ("objectRegistry")
 Declare type name for this IOobject. More...
 
 objectRegistry (const Time &db, const label nIoObjects=128)
 Construct the time objectRegistry given an initial estimate. More...
 
 objectRegistry (const IOobject &io, const label nIoObjects=128)
 Construct a sub-registry given an IObject to describe the registry. More...
 
virtual ~objectRegistry ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistryparent () const
 Return the parent objectRegistry. More...
 
wordList names () const
 Return the list of names of the IOobjects. More...
 
wordList sortedNames () const
 Return the sorted list of names of the IOobjects. More...
 
wordList names (const word &className) const
 Return the list of names of IOobjects of given class name. More...
 
wordList sortedNames (const word &className) const
 Return the sorted list of names of IOobjects of given class name. More...
 
template<class Type >
wordList names () const
 Return the list of names of the IOobjects of given type. More...
 
template<class Type >
wordList names (const wordRe &name) const
 Return the list of objects whose name matches the input regExp. More...
 
template<class Type >
wordList names (const wordReList &name) const
 Return the list of objects whose name matches the input regExp. More...
 
const objectRegistrysubRegistry (const word &name, const bool forceCreate=false) const
 Lookup and return a const sub-objectRegistry. Optionally create. More...
 
template<class Type >
HashTable< const Type * > lookupClass (const bool strict=false) const
 Lookup and return all objects of the given Type. More...
 
template<class Type >
HashTable< Type * > lookupClass (const bool strict=false)
 Lookup and return all objects of the given Type. More...
 
template<class Type >
bool foundObject (const word &name) const
 Is the named Type found? More...
 
template<class Type >
const Type & lookupObject (const word &name) const
 Lookup and return the object of the given Type. More...
 
label getEvent () const
 Return new event number. More...
 
virtual void rename (const word &newName)
 Rename. More...
 
bool checkIn (regIOobject &) const
 Add an regIOobject to registry. More...
 
bool checkOut (regIOobject &) const
 Remove an regIOobject from registry. More...
 
virtual bool modified () const
 Return true if any of the object's files have been modified. More...
 
void readModifiedObjects ()
 Read the objects that have been modified. More...
 
virtual bool readIfModified ()
 Read object if modified. More...
 
virtual bool writeData (Ostream &) const
 writeData function required by regIOobject but not used More...
 
template<class Type >
Foam::wordList names () const
 
template<class Type >
Foam::wordList names (const wordRe &name) const
 
template<class Type >
Foam::wordList names (const wordReList &patterns) const
 
template<class Type >
Foam::HashTable< const Type * > lookupClass (const bool strict) const
 
template<class Type >
Foam::HashTable< Type * > lookupClass (const bool strict)
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 Runtime type information. More...
 
 regIOobject (const IOobject &, const bool isTime=false)
 Construct from IOobject. Optional flag for if IOobject is the. More...
 
 regIOobject (const regIOobject &)
 Construct as copy. More...
 
 regIOobject (const regIOobject &, bool registerCopy)
 Construct as copy, transferring registry registration to copy. More...
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 Construct as copy with new name, transfering registry registration. More...
 
 regIOobject (const IOobject &, const regIOobject &)
 Construct as copy with new IO parameters. More...
 
virtual ~regIOobject ()
 Destructor. More...
 
bool checkIn ()
 Add object to registry. More...
 
bool checkOut ()
 Remove object from registry. More...
 
bool ownedByRegistry () const
 Is this object owned by the registry? More...
 
void store ()
 Transfer ownership of this object to its registry. More...
 
void release ()
 Release ownership of this object from its registry. More...
 
label eventNo () const
 Event number at last update. More...
 
labeleventNo ()
 Event number at last update. More...
 
bool upToDate (const regIOobject &) const
 Return true if up-to-date with respect to given object. More...
 
bool upToDate (const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 Return true if up-to-date with respect to given objects. More...
 
void setUpToDate ()
 Set up to date (obviously) More...
 
IstreamreadStream (const word &)
 Return Istream and check object type against that given. More...
 
void close ()
 Close Istream. More...
 
virtual bool readData (Istream &)
 Virtual readData function. More...
 
label watchIndex () const
 Return file-monitoring handle. More...
 
labelwatchIndex ()
 Return file-monitoring handle. More...
 
virtual bool write () const
 Write using setting from DB. More...
 
void operator= (const IOobject &)
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 Runtime type information. More...
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, registry, io options. More...
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from name, instance, local, registry, io options. More...
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true)
 Construct from path, registry, io options. More...
 
Foam::autoPtr< IOobjectclone () const
 Clone. More...
 
virtual ~IOobject ()
 Destructor. More...
 
const Timetime () const
 Return time. More...
 
const objectRegistrydb () const
 Return the local objectRegistry. More...
 
const wordname () const
 Return name. More...
 
const wordheaderClassName () const
 Return name of the class name read from header. More...
 
stringnote ()
 Return non-constant access to the optional note. More...
 
const stringnote () const
 Return the optional note. More...
 
bool & registerObject ()
 Register object created from this IOobject with registry if true. More...
 
bool registerObject () const
 Register object created from this IOobject with registry if true. More...
 
readOption readOpt () const
 
readOptionreadOpt ()
 
writeOption writeOpt () const
 
writeOptionwriteOpt ()
 
word group () const
 Return group (extension part of name) More...
 
word member () const
 Return member (name without the extension) More...
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const
 
fileNameinstance ()
 
const fileNamelocal () const
 
fileName path () const
 Return complete path. More...
 
fileName path (const word &instance, const fileName &local="") const
 Return complete path with alternative instance and local. More...
 
fileName objectPath () const
 Return complete path + object name. More...
 
fileName filePath () const
 Return complete path + object name if the file exists. More...
 
bool readHeader (Istream &)
 Read header. More...
 
bool headerOk ()
 Read and check header info. More...
 
bool writeHeader (Ostream &) const
 Write header. More...
 
bool writeHeader (Ostream &, const word &objectType) const
 Write header. Allow override of type. More...
 
bool good () const
 
bool bad () const
 
InfoProxy< IOobjectinfo () const
 Return info proxy. More...
 
void operator= (const IOobject &)
 
template<class Name >
Foam::word groupName (Name name, const word &group)
 
- Public Member Functions inherited from HashTable< regIOobject * >
bool set (const word &, const regIOobject * &newElmt)
 Assign a new hashedEntry, overwriting existing entries. More...
 
 HashTable (const label size=128)
 Construct given initial table size. More...
 
 HashTable (Istream &, const label size=128)
 Construct from Istream. More...
 
 HashTable (const HashTable< regIOobject *, word, string::hash > &)
 Construct as copy. More...
 
 HashTable (const Xfer< HashTable< regIOobject *, word, string::hash > > &)
 Construct by transferring the parameter contents. More...
 
 ~HashTable ()
 Destructor. More...
 
label capacity () const
 The size of the underlying table. More...
 
label size () const
 Return number of elements in table. More...
 
bool empty () const
 Return true if the hash table is empty. More...
 
bool found (const word &) const
 Return true if hashedEntry is found in table. More...
 
iterator find (const word &)
 Find and return an iterator set at the hashedEntry. More...
 
const_iterator find (const word &) const
 Find and return an const_iterator set at the hashedEntry. More...
 
List< wordtoc () const
 Return the table of contents. More...
 
List< wordsortedToc () const
 Return the table of contents as a sorted list. More...
 
OstreamprintInfo (Ostream &) const
 Print information. More...
 
bool insert (const word &, const regIOobject * &newElmt)
 Insert a new hashedEntry. More...
 
bool erase (const iterator &)
 Erase a hashedEntry specified by given iterator. More...
 
bool erase (const word &)
 Erase a hashedEntry specified by the given key. More...
 
label erase (const UList< word > &)
 Remove entries given by the listed keys from this HashTable. More...
 
label erase (const HashTable< AnyType, word, AnyHash > &)
 Remove entries given by the given keys from this HashTable. More...
 
void resize (const label newSize)
 Resize the hash table for efficiency. More...
 
void clear ()
 Clear all entries from table. More...
 
void clearStorage ()
 Clear the table entries and the table itself. More...
 
void shrink ()
 Shrink the allocated table to approx. twice number of elements. More...
 
void transfer (HashTable< regIOobject *, word, string::hash > &)
 Transfer the contents of the argument table into this table. More...
 
Xfer< HashTable< regIOobject *, word, string::hash > > xfer ()
 Transfer contents to the Xfer container. More...
 
regIOobject * & operator[] (const word &)
 Find and return a hashedEntry. More...
 
const regIOobject * & operator[] (const word &) const
 Find and return a hashedEntry. More...
 
regIOobject * & operator() (const word &)
 Find and return a hashedEntry, create it null if not present. More...
 
void operator= (const HashTable< regIOobject *, word, string::hash > &)
 Assignment. More...
 
bool operator== (const HashTable< regIOobject *, word, string::hash > &) const
 Equality. Hash tables are equal if the keys and values are equal. More...
 
bool operator!= (const HashTable< regIOobject *, word, string::hash > &) const
 The opposite of the equality operation. Takes linear time. More...
 
iterator begin ()
 Iterator set to the beginning of the HashTable. More...
 
const_iterator begin () const
 const_iterator set to the beginning of the HashTable More...
 
const_iterator cbegin () const
 const_iterator set to the beginning of the HashTable More...
 
- Public Member Functions inherited from HashTableCore
 HashTableCore ()
 Construct null. More...
 
 ClassName ("HashTable")
 Define template name and debug. More...
 
- Public Member Functions inherited from TimeState
 TimeState ()
 
virtual ~TimeState ()
 Destructor. More...
 
scalar timeOutputValue () const
 Return current time value. More...
 
label timeIndex () const
 Return current time index. More...
 
scalar deltaTValue () const
 Return time step value. More...
 
scalar deltaT0Value () const
 Return old time step value. More...
 
dimensionedScalar deltaT () const
 Return time step. More...
 
dimensionedScalar deltaT0 () const
 Return old time step. More...
 
bool outputTime () const
 Return true if this is an output time (primary or secondary) More...
 
- Public Member Functions inherited from dimensioned< scalar >
 dimensioned (const word &, const dimensionSet &, const scalar)
 Construct given a name, a value and its dimensionSet. More...
 
 dimensioned (const word &, const dimensioned< scalar > &)
 Construct from a dimensioned<Type> changing the name. More...
 
 dimensioned (const scalar &t)
 Construct given a value (creates dimensionless value). More...
 
 dimensioned (Istream &)
 Construct from Istream. More...
 
 dimensioned (const word &, Istream &)
 Construct from an Istream with a given name. More...
 
 dimensioned (const word &, const dimensionSet &, Istream &)
 Construct from an Istream with a given name and dimensions. More...
 
 dimensioned (const word &, const dimensionSet &, const dictionary &)
 Construct from dictionary lookup with a given name and dimensions. More...
 
 dimensioned ()
 Null constructor. More...
 
const wordname () const
 Return const reference to name. More...
 
wordname ()
 Return non-const reference to name. More...
 
const dimensionSetdimensions () const
 Return const reference to dimensions. More...
 
dimensionSetdimensions ()
 Return non-const reference to dimensions. More...
 
const scalar & value () const
 Return const reference to value. More...
 
scalar & value ()
 Return non-const reference to value. More...
 
dimensioned< cmptTypecomponent (const direction) const
 Return a component as a dimensioned<cmptType> More...
 
void replace (const direction, const dimensioned< cmptType > &)
 Return a component with a dimensioned<cmptType> More...
 
dimensioned< scalar > T () const
 Return transpose. More...
 
void read (const dictionary &)
 Update the value of dimensioned<Type> More...
 
Istreamread (Istream &is, const dictionary &)
 Read value from stream and units from dictionary. More...
 
Istreamread (Istream &is, const HashTable< dimensionedScalar > &)
 Read value from stream and units from table. More...
 
Istreamread (Istream &is)
 Read value from stream and units from system table. More...
 
bool readIfPresent (const dictionary &)
 Update the value of dimensioned<Type> if found in the dictionary. More...
 
dimensioned< cmptTypeoperator[] (const direction) const
 Return a component as a dimensioned<cmptType> More...
 
void operator+= (const dimensioned< scalar > &)
 
void operator-= (const dimensioned< scalar > &)
 
void operator*= (const scalar)
 
void operator/= (const scalar)
 

Additional Inherited Members

- Public Types inherited from Time
enum  writeControls {
  wcTimeStep, wcRunTime, wcAdjustableRunTime, wcClockTime,
  wcCpuTime
}
 Write control options. More...
 
enum  stopAtControls { saEndTime, saNoWriteNow, saWriteNow, saNextWrite }
 Stop-run control options. More...
 
enum  fmtflags { general = 0, fixed = ios_base::fixed, scientific = ios_base::scientific }
 Supported time directory name formats. More...
 
- Public Types inherited from regIOobject
enum  fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster }
 Types of communications. More...
 
- Public Types inherited from IOobject
enum  objectState { GOOD, BAD }
 Enumeration defining the valid states of an IOobject. More...
 
enum  readOption { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 Enumeration defining the read options. More...
 
enum  writeOption { AUTO_WRITE = 0, NO_WRITE = 1 }
 Enumeration defining the write options. More...
 
- Public Types inherited from HashTable< regIOobject * >
typedef regIOobjectvalue_type
 Type of values the HashTable contains. More...
 
typedef regIOobject * & reference
 Type that can be used for storing into HashTable::value_type. More...
 
typedef const regIOobject * & const_reference
 Type that can be used for storing into constant. More...
 
typedef label size_type
 The type that can represent the size of a HashTable. More...
 
- Public Types inherited from dimensioned< scalar >
typedef pTraits< scalar >::cmptType cmptType
 Component type. More...
 
- Static Public Member Functions inherited from Time
static label findClosestTimeIndex (const instantList &, const scalar, const word &constantName="constant")
 Search instantList for the time index closest to the given time. More...
 
static word timeName (const scalar, const int precision=precision_)
 Return time name of given scalar time. More...
 
static instantList findTimes (const fileName &, const word &constantName="constant")
 Search a given directory for valid time directories. More...
 
- Static Public Member Functions inherited from clock
static time_t getTime ()
 Get the current clock time in seconds. More...
 
static const struct tm rawDate ()
 Return the current wall-clock date as a raw struct. More...
 
static string dateTime ()
 Return the current wall-clock date/time as a string. More...
 
static string date ()
 Return the current wall-clock date as a string. More...
 
static string clockTime ()
 Return the current wall-clock time as a string. More...
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *)
 Transfer ownership of the given object pointer to its registry. More...
 
template<class Type >
static Type & store (autoPtr< Type > &)
 Transfer ownership of the given object pointer to its registry. More...
 
- Static Public Member Functions inherited from IOobject
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 Split path into instance, local, name components. More...
 
template<class Name >
static word groupName (Name name, const word &group)
 
template<class Stream >
static Stream & writeBanner (Stream &os, bool noHint=false)
 Write the standard OpenFOAM file/dictionary banner. More...
 
template<class Stream >
static Stream & writeDivider (Stream &os)
 Write the standard file section divider. More...
 
template<class Stream >
static Stream & writeEndDivider (Stream &os)
 Write the standard end file divider. More...
 
- Static Public Member Functions inherited from HashTableCore
static label canonicalSize (const label)
 Return a canonical (power-of-two) size. More...
 
static iteratorEnd cend ()
 iteratorEnd set to beyond the end of any HashTable More...
 
static iteratorEnd end ()
 iteratorEnd set to beyond the end of any HashTable More...
 
- Static Public Member Functions inherited from dimensioned< scalar >
static dimensioned< scalar > lookupOrDefault (const word &, const dictionary &, const dimensionSet &dims=dimless, const scalar &defaultValue=pTraits< scalar >::zero)
 Construct from dictionary, with default dimensions and value. More...
 
static dimensioned< scalar > lookupOrDefault (const word &, const dictionary &, const scalar &defaultValue=pTraits< scalar >::zero)
 Construct from dictionary dimensionless with value. More...
 
static dimensioned< scalar > lookupOrAddToDict (const word &, dictionary &, const dimensionSet &dims=dimless, const scalar &defaultValue=pTraits< scalar >::zero)
 Construct from dictionary, with default value. More...
 
static dimensioned< scalar > lookupOrAddToDict (const word &, dictionary &, const scalar &defaultValue=pTraits< scalar >::zero)
 Construct from dictionary, dimensionless with default value. More...
 
- Static Public Attributes inherited from Time
static word controlDictName
 The default control dictionary name (normally "controlDict") More...
 
- Static Public Attributes inherited from regIOobject
static const NamedEnum< fileCheckTypes, 4 > fileCheckTypesNames
 
static int fileModificationSkew
 
static fileCheckTypes fileModificationChecking
 
- Static Public Attributes inherited from HashTableCore
static const label maxTableSize
 Maximum allowable table size. More...
 
- Protected Member Functions inherited from Time
void adjustDeltaT ()
 Adjust the time step so that writing occurs at the specified time. More...
 
void setControls ()
 Set the controls from the current controlDict. More...
 
- Protected Member Functions inherited from IOobject
IstreamobjectStream ()
 Construct and return an IFstream for the object. More...
 
IstreamobjectStream (const fileName &)
 Construct and return an IFstream for the object given the. More...
 
void setBad (const string &)
 Set the object state to bad. More...
 
- Protected Attributes inherited from Time
label startTimeIndex_
 
scalar startTime_
 
scalar endTime_
 
stopAtControls stopAt_
 
writeControls writeControl_
 
scalar writeInterval_
 
writeControls secondaryWriteControl_
 
scalar secondaryWriteInterval_
 
label purgeWrite_
 
FIFOStack< wordpreviousOutputTimes_
 
label secondaryPurgeWrite_
 
FIFOStack< wordpreviousSecondaryOutputTimes_
 
bool writeOnce_
 
bool subCycling_
 Is the time currently being sub-cycled? More...
 
autoPtr< TimeStateprevTimeState_
 If time is being sub-cycled this is the previous TimeState. More...
 
sigWriteNow sigWriteNow_
 Enable one-shot writing upon signal. More...
 
sigStopAtWriteNow sigStopAtWriteNow_
 Enable write and clean exit upon signal. More...
 
- Protected Attributes inherited from TimeState
label timeIndex_
 
scalar deltaT_
 
scalar deltaTSave_
 
scalar deltaT0_
 
bool deltaTchanged_
 
label outputTimeIndex_
 
bool primaryOutputTime_
 Is outputTime because of primary? More...
 
label secondaryOutputTimeIndex_
 
bool secondaryOutputTime_
 Is outputTime because of secondary? More...
 
bool outputTime_
 
- Static Protected Attributes inherited from Time
static const NamedEnum< stopAtControls, 4 > stopAtControlNames_
 
static const NamedEnum< writeControls, 5 > writeControlNames_
 
static fmtflags format_
 Time directory name format. More...
 
static int precision_
 Time directory name precision. More...
 
static const int maxPrecision_
 Maximum time directory name precision. More...
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 To flag master-only reading of objects. More...
 

Detailed Description

Manage time in terms of engine RPM and crank-angle.

When engineTime is in effect, the userTime is reported in degrees crank-angle instead of in seconds. The RPM to be used is specified in constant/engineGeometry. If only a time conversion is required, the geometric engine parameters can be dropped or set to zero.

For example,

    rpm             rpm  [0 0 -1 0 0]  2000;

    conRodLength    conRodLength  [0 1 0 0 0] 0.0;
    bore            bore          [0 1 0 0 0] 0.0;
    stroke          stroke        [0 1 0 0 0] 0.0;
    clearance       clearance     [0 1 0 0 0] 0.0;
Note
The engineTime can currently only be selected at compile-time.
Source files

Definition at line 68 of file engineTime.H.

Constructor & Destructor Documentation

engineTime ( const word name,
const fileName rootPath,
const fileName caseName,
const fileName systemName = "system",
const fileName constantName = "constant",
const fileName dictName = "engineGeometry" 
)

Construct from objectRegistry arguments.

Definition at line 51 of file engineTime.C.

References engineTime::degToTime(), TimeState::deltaT0_, TimeState::deltaT_, TimeState::deltaTSave_, dictionary::readIfPresent(), Time::startTime_, and dimensioned< scalar >::value().

Here is the call graph for this function:

virtual ~engineTime ( )
inlinevirtual

Destructor.

Definition at line 113 of file engineTime.H.

References engineTime::degToTime(), engineTime::pistonPosition(), engineTime::theta(), and engineTime::timeToDeg().

Here is the call graph for this function:

Member Function Documentation

Foam::scalar degToTime ( const scalar  theta) const

Convert degrees to seconds (for given engine speed in RPM)

Definition at line 126 of file engineTime.C.

References dimensioned< Type >::value().

Referenced by engineTime::engineTime(), engineTime::userTimeToTime(), and engineTime::~engineTime().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar timeToDeg ( const scalar  t) const

Convert seconds to degrees (for given engine speed in RPM)

Definition at line 133 of file engineTime.C.

References dimensioned< Type >::value().

Referenced by engineTime::deltaTheta(), engineTime::theta(), engineTime::timeToUserTime(), and engineTime::~engineTime().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar pistonPosition ( const scalar  theta) const

Calculate the piston position from the engine geometry.

and given crank angle.

Definition at line 172 of file engineTime.C.

References Foam::cos(), Foam::degToRad(), Foam::sin(), Foam::sqr(), Foam::sqrt(), and dimensioned< Type >::value().

Here is the call graph for this function:

const IOdictionary& engineDict ( ) const
inline

Return the engine geometry dictionary.

Definition at line 135 of file engineTime.H.

Referenced by fvMotionSolverEngineMesh::fvMotionSolverEngineMesh(), and layeredEngineMesh::layeredEngineMesh().

Here is the caller graph for this function:

const dimensionedScalar& rpm ( ) const
inline

Return the engines current operating RPM.

Definition at line 141 of file engineTime.H.

const dimensionedScalar& conRodLength ( ) const
inline

Return the engines connecting-rod length.

Definition at line 147 of file engineTime.H.

const dimensionedScalar& bore ( ) const
inline

Return the engines bore.

Definition at line 153 of file engineTime.H.

const dimensionedScalar& stroke ( ) const
inline

Return the engines stroke.

Definition at line 159 of file engineTime.H.

const dimensionedScalar& clearance ( ) const
inline
Foam::scalar theta ( ) const

Return current crank-angle.

Definition at line 140 of file engineTime.C.

References engineTime::timeToDeg(), and dimensioned< scalar >::value().

Referenced by engineTime::clearance(), engineValve::curLift(), engineValve::curVelocity(), engineValve::isOpen(), engineTime::pistonDisplacement(), engineTime::pistonPosition(), engineTime::thetaRevolution(), and engineTime::~engineTime().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar thetaRevolution ( ) const

Return current crank-angle translated to a single revolution.

(value between -180 and 180 with 0 = top dead centre)

Definition at line 148 of file engineTime.C.

References engineTime::theta().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar deltaTheta ( ) const

Return crank-angle increment.

Definition at line 166 of file engineTime.C.

References TimeState::deltaTValue(), and engineTime::timeToDeg().

Referenced by engineTime::clearance(), engineValve::curVelocity(), and engineTime::pistonDisplacement().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::dimensionedScalar pistonPosition ( ) const

Return current piston position.

Definition at line 191 of file engineTime.C.

References Foam::dimLength, and engineTime::theta().

Referenced by engineTime::clearance(), engineTime::pistonDisplacement(), and engineTime::~engineTime().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::dimensionedScalar pistonDisplacement ( ) const

Return piston displacement for current time step.

Definition at line 202 of file engineTime.C.

References engineTime::deltaTheta(), Foam::dimLength, engineTime::pistonPosition(), engineTime::theta(), and dimensioned< scalar >::value().

Referenced by engineTime::clearance(), layeredEngineMesh::move(), fvMotionSolverEngineMesh::move(), and engineTime::pistonSpeed().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::dimensionedScalar pistonSpeed ( ) const

Return piston speed for current time step.

Definition at line 213 of file engineTime.C.

References TimeState::deltaTValue(), Foam::dimVelocity, engineTime::pistonDisplacement(), and dimensioned< scalar >::value().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar userTimeToTime ( const scalar  theta) const
virtual

Convert the user-time (CA deg) to real-time (s).

Reimplemented from TimeState.

Definition at line 224 of file engineTime.C.

References engineTime::degToTime().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:

Foam::scalar timeToUserTime ( const scalar  t) const
virtual

Convert the real-time (s) into user-time (CA deg)

Reimplemented from TimeState.

Definition at line 230 of file engineTime.C.

References engineTime::timeToDeg().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:

void readDict ( )
virtual

Read the control dictionary and set the write controls etc.

Reimplemented from Time.

Definition at line 104 of file engineTime.C.

References Time::readDict().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:

bool read ( )
virtual

Read the controlDict and set all the parameters.

Reimplemented from Time.

Definition at line 112 of file engineTime.C.

References Time::read().

Referenced by engineTime::clearance().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files: