41 #include "ac/pthread.h"
119 virtual std::ostream&
Restart(std::ostream& out)
const = 0;
147 bool bIsDifferentiable(
void)
const;
179 #ifdef USE_MULTITHREAD
180 mutable pthread_mutex_t parser_mutex;
207 inline integer iGetSteps(
void)
const;
208 inline bool bGetMeter(
void)
const;
209 virtual inline void Set(
void);
221 inline integer iGetSteps(
void)
const;
222 inline integer iGetRand(
void)
const;
223 virtual inline void Set(
void);
239 inline bool bGetClosestNext(
void)
const;
240 virtual inline void Set(
void);
259 virtual inline void Set(
void);
268 std::vector<MySH *>
SH;
285 void PutSymbolTable(
Table& T);
294 inline integer iGetStep(
void)
const;
295 inline long int iGetRand(
integer iNumber)
const;
296 inline bool bGetMeter(
integer iNumber)
const;
297 inline bool bGetClosestNext(
integer iNumber)
const;
340 if (++iCurr == iSteps) {
349 return pDH->dGetTime() >= dNext;
358 dNext += Increment.dGet();
359 }
while (bGetClosestNext());
361 bMustSetNext =
false;
363 }
else if (bGetClosestNext()) {
379 if (Trigger.dGet()) {
389 return pTime->GetVal().GetReal();
396 return pTimeStep->GetVal().GetReal();
403 return pStep->GetVal().GetInt();
410 return Rand[iNumber]->iGetRand();
417 return Meter[iNumber]->bGetMeter();
423 return ClosestNext[iNumber]->bGetClosestNext();
429 return SH[iNumber]->dGetSH();
448 OUTPUT_VALUE = OUTPUT_PRIVATE << 0,
449 OUTPUT_DERIVATIVE = OUTPUT_PRIVATE << 1
453 TRACE_VALUE = TRACE_PRIVATE << 0,
454 TRACE_DERIVATIVE = TRACE_PRIVATE << 1
464 virtual std::ostream&
Restart(std::ostream& out)
const = 0;
477 virtual bool bIsDifferentiable(
void)
const;
515 using namespace grad;
530 pDriveCaller->dGet(x, y);
536 pDriveCaller->dGet(x, y);
554 virtual std::ostream&
Restart(std::ostream& out)
const;
561 virtual bool bIsDifferentiable(
void)
const;
610 virtual std::ostream&
Restart(std::ostream& out)
const;
617 virtual bool bIsDifferentiable(
void)
const;
669 virtual std::ostream&
Restart(std::ostream& out)
const;
675 virtual bool bIsDifferentiable(
void)
const;
744 const char *
const name);
virtual doublereal dGet(void) const
void SetDerivativeLocal(index_type iLocalDof, scalar_deriv_type dCoef)
virtual bool bIsDifferentiable(void) const
bool SetDriveData(const std::string &s, DriveRead *rf)
index_type iGetStartIndexLocal() const
virtual doublereal dGet(void) const
bool SetDriveCallerData(const char *name, DriveCallerRead *rf)
static doublereal dReturnValue
doublereal dGet(void) const
void SetDrvHdl(DriveHandler *)
integer iGetRand(void) const
doublereal dGet(void) const
void operator=(const DriveOwner &)
virtual bool bIsDifferentiable(void) const
DriveCaller * pDriveCaller
virtual void ServePending(const doublereal &t)=0
bool bGetMeter(void) const
Drive * ReadDriveData(unsigned uLabel, const DataManager *pDM, MBDynParser &HP)
const char * psReadControlDrivers[]
std::vector< MyMeter * > Meter
bool bGetClosestNext(integer iNumber) const
std::vector< MyClosestNext * > ClosestNext
doublereal dGetSH(void) const
Drive(unsigned int uL, const DriveHandler *pDH)
const DriveHandler * pDrvHdl
LocalDofMap * pGetDofMap() const
virtual bool bIsDifferentiable(void) const
integer iGetStep(void) const
void DestroyDriveCallerData(void)
virtual doublereal dGetP(void) const
doublereal dGetTimeStep(void) const
void SetValuePreserve(scalar_func_type dVal)
static doublereal dDriveHandlerReturnValue
std::vector< MyRand * > Rand
bool bGetClosestNext(void) const
#define ASSERT(expression)
void DerivativeResizeReset(LocalDofMap *pMap, index_type iStartGlobal, index_type iEndGlobal, MapVectorBase::GlobalScope s, scalar_deriv_type dVal)
virtual bool bIsDifferentiable(void) const
virtual doublereal dGet(void) const
VectorHandler * pXPrimeCurr
integer iGetSteps(void) const
DriveCaller * ReadDriveCallerData(const DataManager *pDM, MBDynParser &HP, bool bDeferred)
virtual Drive::Type GetDriveType(void) const =0
virtual doublereal dGetP(void) const
bool bGetMeter(integer iNumber) const
long int iGetRand(integer iNumber) const
const DriveOwner Increment
virtual std::ostream & Restart(std::ostream &out) const =0
doublereal dGetTime(void) const
void DestroyDriveData(void)
virtual doublereal dGetP(void) const
void InitDriveCallerData(void)
scalar_func_type dGetValue() const
doublereal dGetSH(integer iNumber) const
scalar_deriv_type dGetDerivativeLocal(index_type iLocalDof) const
index_type iGetEndIndexLocal() const
static int drive(const MathParser::MathArgs &args)
virtual doublereal dGetP(void) const
const char * psDriveNames[]