MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
RandDriveCaller Class Reference

#include <drive_.h>

Inheritance diagram for RandDriveCaller:
Collaboration diagram for RandDriveCaller:

Public Member Functions

 RandDriveCaller (const DriveHandler *pDH, doublereal dA, doublereal dR, doublereal dS, doublereal dE, integer iS)
 
virtual ~RandDriveCaller (void)
 
virtual DriveCallerpCopy (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
doublereal dGet (const doublereal &dVar) const
 
- Public Member Functions inherited from DriveCaller
 DriveCaller (const DriveHandler *pDH)
 
virtual ~DriveCaller (void)
 
virtual doublereal dGet (void) const
 
virtual bool bIsDifferentiable (void) const
 
virtual doublereal dGetP (const doublereal &dVar) const
 
virtual doublereal dGetP (void) const
 
virtual void SetDrvHdl (const DriveHandler *pDH)
 
virtual const DriveHandlerpGetDrvHdl (void) const
 
virtual void Output (OutputHandler &OH) const
 
virtual void Trace (OutputHandler &OH) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 
- Public Member Functions inherited from ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
virtual void SetOutputFlag (flag f=flag(1))
 
- Public Member Functions inherited from Traceable
 Traceable (flag fTrace=0)
 
virtual ~Traceable (void)
 
virtual flag fToBeTraced (void) const
 
virtual void SetTraceFlag (flag f=TRACE)
 

Private Attributes

long int iBase
 
doublereal dAmplitude
 
doublereal dRefVal
 
doublereal dStartTime
 
doublereal dEndTime
 
integer iSteps
 
integer iRandDriveNumber
 

Additional Inherited Members

- Public Types inherited from DriveCaller
enum  OutputFlags { OUTPUT_VALUE = OUTPUT_PRIVATE << 0, OUTPUT_DERIVATIVE = OUTPUT_PRIVATE << 1 }
 
enum  TraceFlags { TRACE_VALUE = TRACE_PRIVATE << 0, TRACE_DERIVATIVE = TRACE_PRIVATE << 1 }
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Public Types inherited from Traceable
enum  { TRACE = 0x01U, TRACE_PUBLIC_MASK = 0x0FU, TRACE_PRIVATE = 0x10U, TRACE_PRIVATE_MASK = ~TRACE_PUBLIC_MASK }
 
- Protected Attributes inherited from DriveCaller
DriveHandlerpDrvHdl
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 

Detailed Description

Definition at line 1224 of file drive_.h.

Constructor & Destructor Documentation

RandDriveCaller::RandDriveCaller ( const DriveHandler pDH,
doublereal  dA,
doublereal  dR,
doublereal  dS,
doublereal  dE,
integer  iS 
)

Definition at line 896 of file drive_.cc.

References iBase, iRandDriveNumber, DriveHandler::iRandInit(), iSteps, and DriveCaller::pDrvHdl.

Referenced by pCopy().

899 : DriveCaller(pDH), dAmplitude(dA), dRefVal(dR),
900 dStartTime(dS), dEndTime(dE), iSteps(iS)
901 {
902  iBase = rand();
904 }
doublereal dStartTime
Definition: drive_.h:1229
integer iSteps
Definition: drive_.h:1231
DriveCaller(const DriveHandler *pDH)
Definition: drive.cc:475
doublereal dRefVal
Definition: drive_.h:1228
long int iBase
Definition: drive_.h:1226
doublereal dAmplitude
Definition: drive_.h:1227
DriveHandler * pDrvHdl
Definition: drive.h:444
integer iRandInit(integer iSteps)
Definition: drive.cc:268
doublereal dEndTime
Definition: drive_.h:1230
const doublereal dS
Definition: beamslider.cc:71
integer iRandDriveNumber
Definition: drive_.h:1232

Here is the call graph for this function:

RandDriveCaller::~RandDriveCaller ( void  )
virtual

Definition at line 906 of file drive_.cc.

References NO_OP.

907 {
908  NO_OP;
909 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

doublereal RandDriveCaller::dGet ( const doublereal dVar) const
inlinevirtual

Implements DriveCaller.

Definition at line 1253 of file drive_.h.

References dAmplitude, dEndTime, dRefVal, iBase, DriveHandler::iGetRand(), iRandDriveNumber, and DriveCaller::pDrvHdl.

1254 {
1255  if (dVar < dStartTime || dVar > dEndTime) {
1256  return dRefVal;
1257  }
1258 
1259  doublereal dRand = doublereal((((unsigned long)pDrvHdl->iGetRand(iRandDriveNumber)) + iBase)%RAND_MAX);
1260  return dRefVal + dAmplitude*(2.*dRand/doublereal(RAND_MAX) - 1.);
1261 }
doublereal dRefVal
Definition: drive_.h:1228
long int iBase
Definition: drive_.h:1226
doublereal dAmplitude
Definition: drive_.h:1227
DriveHandler * pDrvHdl
Definition: drive.h:444
doublereal dEndTime
Definition: drive_.h:1230
long int iGetRand(integer iNumber) const
Definition: drive.h:408
double doublereal
Definition: colamd.c:52
integer iRandDriveNumber
Definition: drive_.h:1232

Here is the call graph for this function:

DriveCaller * RandDriveCaller::pCopy ( void  ) const
virtual

Implements DriveCaller.

Definition at line 913 of file drive_.cc.

References dAmplitude, dEndTime, dRefVal, dStartTime, iSteps, DriveCaller::pDrvHdl, RandDriveCaller(), and SAFENEWWITHCONSTRUCTOR.

914 {
915  DriveCaller* pDC = 0;
919  return pDC;
920 }
doublereal dStartTime
Definition: drive_.h:1229
integer iSteps
Definition: drive_.h:1231
doublereal dRefVal
Definition: drive_.h:1228
doublereal dAmplitude
Definition: drive_.h:1227
DriveHandler * pDrvHdl
Definition: drive.h:444
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
doublereal dEndTime
Definition: drive_.h:1230
RandDriveCaller(const DriveHandler *pDH, doublereal dA, doublereal dR, doublereal dS, doublereal dE, integer iS)
Definition: drive_.cc:896

Here is the call graph for this function:

std::ostream & RandDriveCaller::Restart ( std::ostream &  out) const
virtual

Implements DriveCaller.

Definition at line 924 of file drive_.cc.

References dAmplitude, dEndTime, dRefVal, dStartTime, and iSteps.

925 {
926  out
927  << " random, " << dAmplitude
928  << ", " << dRefVal
929  << ", " << dStartTime
930  << ", " << dEndTime;
931  if (iSteps > 1) {
932  out << ", steps, " << iSteps;
933  }
934  return out;
935 }
doublereal dStartTime
Definition: drive_.h:1229
integer iSteps
Definition: drive_.h:1231
doublereal dRefVal
Definition: drive_.h:1228
doublereal dAmplitude
Definition: drive_.h:1227
doublereal dEndTime
Definition: drive_.h:1230

Member Data Documentation

doublereal RandDriveCaller::dAmplitude
private

Definition at line 1227 of file drive_.h.

Referenced by dGet(), pCopy(), and Restart().

doublereal RandDriveCaller::dEndTime
private

Definition at line 1230 of file drive_.h.

Referenced by dGet(), pCopy(), and Restart().

doublereal RandDriveCaller::dRefVal
private

Definition at line 1228 of file drive_.h.

Referenced by dGet(), pCopy(), and Restart().

doublereal RandDriveCaller::dStartTime
private

Definition at line 1229 of file drive_.h.

Referenced by pCopy(), and Restart().

long int RandDriveCaller::iBase
private

Definition at line 1226 of file drive_.h.

Referenced by dGet(), and RandDriveCaller().

integer RandDriveCaller::iRandDriveNumber
private

Definition at line 1232 of file drive_.h.

Referenced by dGet(), and RandDriveCaller().

integer RandDriveCaller::iSteps
private

Definition at line 1231 of file drive_.h.

Referenced by pCopy(), RandDriveCaller(), and Restart().


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