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

#include <module-wheel4.h>

Inheritance diagram for TimeStep:
Collaboration diagram for TimeStep:

Public Member Functions

 TimeStep (unsigned uLabel, const DofOwner *pDO, DataManager *pDM, MBDynParser &HP)
 
virtual ~TimeStep (void)
 
virtual void Output (OutputHandler &OH) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
unsigned int iGetNumPrivData (void) const
 
unsigned int iGetPrivDataIdx (const char *s) const
 
doublereal dGetPrivData (unsigned int i) const
 
int iGetNumConnectedNodes (void) const
 
void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph)
 
std::ostream & Restart (std::ostream &out) const
 
virtual unsigned int iGetInitialNumDof (void) const
 
virtual void InitialWorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerInitialAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
SubVectorHandlerInitialAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr)
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
virtual unsigned int iGetNumDof (void) const
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual DofOrder::Order GetDofType (unsigned int) const
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) const
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual int GetNumConnectedNodes (void) 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 SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- 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 UserDefinedElem
 UserDefinedElem (unsigned uLabel, const DofOwner *pDO)
 
virtual ~UserDefinedElem (void)
 
bool NeedsAirProperties (void) const
 
void NeedsAirProperties (bool yesno)
 
virtual Elem::Type GetElemType (void) const
 
virtual AerodynamicElem::Type GetAerodynamicElemType (void) const
 
- Public Member Functions inherited from InitialAssemblyElem
 InitialAssemblyElem (unsigned int uL, flag fOut)
 
virtual ~InitialAssemblyElem (void)
 
- Public Member Functions inherited from SubjectToInitialAssembly
 SubjectToInitialAssembly (void)
 
virtual ~SubjectToInitialAssembly (void)
 
- Public Member Functions inherited from AerodynamicElem
 AerodynamicElem (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~AerodynamicElem (void)
 
virtual const InducedVelocitypGetInducedVelocity (void) const
 
- Public Member Functions inherited from ElemWithDofs
 ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~ElemWithDofs (void)
 
- Public Member Functions inherited from DofOwnerOwner
 DofOwnerOwner (const DofOwner *pDO)
 
virtual ~DofOwnerOwner ()
 
virtual const DofOwnerpGetDofOwner (void) const
 
virtual integer iGetFirstIndex (void) const
 
virtual void SetInitialValue (VectorHandler &X)
 
- Public Member Functions inherited from AirPropOwner
 AirPropOwner (void)
 
virtual ~AirPropOwner (void)
 
virtual void PutAirProperties (const AirProperties *pAP)
 
virtual flag fGetAirVelocity (Vec3 &Velocity, const Vec3 &X) const
 
virtual doublereal dGetAirDensity (const Vec3 &X) const
 
virtual doublereal dGetAirPressure (const Vec3 &X) const
 
virtual doublereal dGetAirTemperature (const Vec3 &X) const
 
virtual doublereal dGetSoundSpeed (const Vec3 &X) const
 
virtual bool GetAirProps (const Vec3 &X, doublereal &rho, doublereal &c, doublereal &p, doublereal &T) const
 
- Public Member Functions inherited from ElemGravityOwner
 ElemGravityOwner (unsigned int uL, flag fOut)
 
virtual ~ElemGravityOwner (void)
 
virtual doublereal dGetM (void) const
 
Vec3 GetS (void) const
 
Mat3x3 GetJ (void) const
 
Vec3 GetB (void) const
 
Vec3 GetG (void) const
 
- Public Member Functions inherited from GravityOwner
 GravityOwner (void)
 
virtual ~GravityOwner (void)
 
void PutGravity (const Gravity *pG)
 
virtual bool bGetGravity (const Vec3 &X, Vec3 &Acc) const
 

Private Attributes

ElempWheelE
 
std::vector< Elem * > pWheelsE
 

Additional Inherited Members

- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Public Types inherited from AerodynamicElem
enum  Type {
  UNKNOWN = -1, INDUCEDVELOCITY = 0, AEROMODAL, AERODYNAMICBODY,
  AERODYNAMICBEAM, AERODYNAMICEXTERNAL, AERODYNAMICEXTERNALMODAL, AERODYNAMICLOADABLE,
  AIRCRAFTINSTRUMENTS, GENERICFORCE, LASTAEROTYPE
}
 
- Protected Member Functions inherited from ElemGravityOwner
virtual Vec3 GetS_int (void) const
 
virtual Mat3x3 GetJ_int (void) const
 
virtual Vec3 GetB_int (void) const
 
virtual Vec3 GetG_int (void) const
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 
- Protected Attributes inherited from UserDefinedElem
bool needsAirProperties
 
- Protected Attributes inherited from AirPropOwner
const AirPropertiespAirProperties
 
- Protected Attributes inherited from GravityOwner
GravitypGravity
 

Detailed Description

Definition at line 391 of file module-wheel4.h.

Constructor & Destructor Documentation

TimeStep::TimeStep ( unsigned  uLabel,
const DofOwner pDO,
DataManager pDM,
MBDynParser HP 
)

Definition at line 1874 of file module-wheel4.cc.

References DataManager::begin(), DataManager::end(), HighParser::IsArg(), HighParser::IsKeyWord(), Elem::LOADABLE, MBDYN_EXCEPT_ARGS, pWheelE, and pWheelsE.

1877 : Elem(uLabel, flag(0)),
1878 UserDefinedElem(uLabel, pDO)
1879 {
1880  // help
1881  if (HP.IsKeyWord("help")) {
1882  silent_cout(
1883 " \n"
1884 "Module: timestep \n"
1885 "Author: Louis Gagnon < louis.gagnon.10@ulaval.ca \n"
1886 "Organization: Universite Laval \n"
1887 " \n"
1888 " \n"
1889 " \n"
1890 " All rights reserved \n"
1891  << std::endl);
1892 
1893  if (!HP.IsArg()) {
1894  /*
1895  * Exit quietly if nothing else is provided
1896  */
1897  throw NoErr(MBDYN_EXCEPT_ARGS);
1898  }
1899  }
1900 
1901  // FIXME: why?
1902  for (DataManager::ElemContainerType::const_iterator e = pDM->begin(Elem::LOADABLE);
1903  e != pDM->end(Elem::LOADABLE); ++e)
1904  {
1905  pWheelE = e->second;
1906  pWheelsE.push_back(pWheelE);
1907  }
1908 }
long int flag
Definition: mbdyn.h:43
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
DataManager::ElemContainerType::const_iterator begin(Elem::Type t) const
Definition: dataman.cc:902
virtual bool IsKeyWord(const char *sKeyWord)
Definition: parser.cc:910
unsigned int uLabel
Definition: withlab.h:44
std::vector< Elem * > pWheelsE
Definition: except.h:79
virtual bool IsArg(void)
Definition: parser.cc:807
UserDefinedElem(unsigned uLabel, const DofOwner *pDO)
Definition: userelem.cc:152
Elem * pWheelE
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
DataManager::ElemContainerType::const_iterator end(Elem::Type t) const
Definition: dataman.cc:908

Here is the call graph for this function:

TimeStep::~TimeStep ( void  )
virtual

Definition at line 1910 of file module-wheel4.cc.

References NO_OP.

1911 {
1912  // destroy private data
1913  NO_OP;
1914 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

VariableSubMatrixHandler & TimeStep::AssJac ( VariableSubMatrixHandler WorkMat,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 1930 of file module-wheel4.cc.

References VariableSubMatrixHandler::SetNullMatrix().

1934 {
1935  WorkMat.SetNullMatrix();
1936  return WorkMat;
1937 }
void SetNullMatrix(void)
Definition: submat.h:1159

Here is the call graph for this function:

SubVectorHandler & TimeStep::AssRes ( SubVectorHandler WorkVec,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 1940 of file module-wheel4.cc.

References VectorHandler::ResizeReset().

1944 {
1945  WorkVec.ResizeReset(0);
1946  return WorkVec;
1947 }
virtual void ResizeReset(integer)
Definition: vh.cc:55

Here is the call graph for this function:

doublereal TimeStep::dGetPrivData ( unsigned int  i) const
virtual

Reimplemented from SimulationEntity.

Definition at line 1964 of file module-wheel4.cc.

References ASSERT, iGetNumPrivData(), and pWheelsE.

1965 {
1966  ASSERT(i >= 1 && i <= iGetNumPrivData());
1967 
1968  doublereal dtMax = pWheelsE[0]->dGetPrivData(1);
1969  for (unsigned iCnt = 1; iCnt < pWheelsE.size(); iCnt++) {
1970  dtMax = fmin(dtMax, pWheelsE[iCnt]->dGetPrivData(1));
1971  }
1972  return dtMax; // this should return the maximum timestep that this wheel is able to take (to be fed into the strategy:change cirective in the MBDyn input file)
1973 }
unsigned int iGetNumPrivData(void) const
std::vector< Elem * > pWheelsE
#define ASSERT(expression)
Definition: colamd.c:977
doublereal dGetPrivData(unsigned int i) const
double doublereal
Definition: colamd.c:52

Here is the call graph for this function:

void TimeStep::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
virtual

Reimplemented from Elem.

Definition at line 1982 of file module-wheel4.cc.

1983 {
1984  connectedNodes.resize(0);
1985 }
unsigned int TimeStep::iGetInitialNumDof ( void  ) const
virtual

Implements SubjectToInitialAssembly.

Definition at line 2002 of file module-wheel4.cc.

2003 {
2004  return 0;
2005 }
int TimeStep::iGetNumConnectedNodes ( void  ) const

Definition at line 1976 of file module-wheel4.cc.

1977 {
1978  return 0;
1979 }
unsigned int TimeStep::iGetNumPrivData ( void  ) const
virtual

Reimplemented from SimulationEntity.

Definition at line 1950 of file module-wheel4.cc.

Referenced by dGetPrivData().

1951 {
1952  return 1;
1953 }
unsigned int TimeStep::iGetPrivDataIdx ( const char *  s) const
virtual

Reimplemented from SimulationEntity.

Definition at line 1956 of file module-wheel4.cc.

References ASSERT.

1957 {
1958  ASSERT(s != NULL);
1959 
1960 // only using one option for now... to set timestep
1961  return 1;
1962 }
#define ASSERT(expression)
Definition: colamd.c:977
VariableSubMatrixHandler & TimeStep::InitialAssJac ( VariableSubMatrixHandler WorkMat,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Definition at line 2017 of file module-wheel4.cc.

References ASSERT, and VariableSubMatrixHandler::SetNullMatrix().

2020 {
2021  // should not be called, since initial workspace is empty
2022  ASSERT(0);
2023 
2024  WorkMat.SetNullMatrix();
2025 
2026  return WorkMat;
2027 }
void SetNullMatrix(void)
Definition: submat.h:1159
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

SubVectorHandler & TimeStep::InitialAssRes ( SubVectorHandler WorkVec,
const VectorHandler XCurr 
)
virtual

Implements SubjectToInitialAssembly.

Definition at line 2030 of file module-wheel4.cc.

References ASSERT, and VectorHandler::ResizeReset().

2033 {
2034  // should not be called, since initial workspace is empty
2035  ASSERT(0);
2036 
2037  WorkVec.ResizeReset(0);
2038 
2039  return WorkVec;
2040 }
virtual void ResizeReset(integer)
Definition: vh.cc:55
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

void TimeStep::InitialWorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements SubjectToInitialAssembly.

Definition at line 2008 of file module-wheel4.cc.

2011 {
2012  *piNumRows = 0;
2013  *piNumCols = 0;
2014 }
void TimeStep::Output ( OutputHandler OH) const
virtual

Reimplemented from ToBeOutput.

Definition at line 1917 of file module-wheel4.cc.

References NO_OP.

1918 {
1919  NO_OP;
1920 }
#define NO_OP
Definition: myassert.h:74
std::ostream & TimeStep::Restart ( std::ostream &  out) const
virtual

Implements Elem.

Definition at line 1996 of file module-wheel4.cc.

1997 {
1998  return out << "# TimeStep: not implemented" << std::endl;
1999 }
void TimeStep::SetValue ( DataManager pDM,
VectorHandler X,
VectorHandler XP,
SimulationEntity::Hints ph 
)
virtual

Reimplemented from SimulationEntity.

Definition at line 1988 of file module-wheel4.cc.

References NO_OP.

1991 {
1992  NO_OP;
1993 }
#define NO_OP
Definition: myassert.h:74
void TimeStep::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements Elem.

Definition at line 1923 of file module-wheel4.cc.

1924 {
1925  *piNumRows = 0;
1926  *piNumCols = 0;
1927 }

Member Data Documentation

Elem* TimeStep::pWheelE
private

Definition at line 395 of file module-wheel4.h.

Referenced by TimeStep().

std::vector<Elem *> TimeStep::pWheelsE
private

Definition at line 396 of file module-wheel4.h.

Referenced by dGetPrivData(), and TimeStep().


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