mbsim  4.0.0
MBSim Kernel
MBSim::MagicFormula62 Class Reference
Inheritance diagram for MBSim::MagicFormula62:
[legend]

Public Types

enum  TyreSide { file =0 , left , right , unknown }
 
- Public Types inherited from MBSim::Element
enum  InitStage {
  resolveStringRef =0 , preInit , plotting , unknownStage ,
  LASTINITSTAGE
}
 The stages of the initialization. More...
 

Public Member Functions

void setInputDataFile (const std::string &inputDataFile_)
 
void setTyreSide (TyreSide tyreSide_)
 
void setVerticalStiffness (double cz_)
 
void setVerticalDamping (double dz_)
 
void setNominalLoad (double Fz0_)
 
void setInflationPressure (double p_)
 
void setRelaxationLengthForLongitudinalSlip (double six_)
 
void setRelaxationLengthForSideslip (double siy_)
 
void setScaleFactorForLongitudinalForce (double LFX_)
 
void setScaleFactorForLateralForce (double LFY_)
 
void setScaleFactorForOverturningMoment (double LMX_)
 
void setScaleFactorForRollingResistanceMoment (double LMY_)
 
void setScaleFactorForAligningMoment (double LMZ_)
 
void setScaleFactorForMomentArmOfLongitudinalForce (double LS_)
 
void setScaleFactorForLongitudinalFricitionCoefficient (double LMUX_)
 
void setScaleFactorForLateralFricitionCoefficient (double LMUY_)
 
void setScaleFactorForLongitudinalSlipStiffness (double LKX_)
 
void setScaleFactorForCorneringStiffness (double LKY_)
 
void setScaleFactorForCamberStiffness (double LKYC_)
 
void setScaleFactorForResidualTorque (double LKZC_)
 
void setMotorcycleKinematics (bool mck_)
 
void setContactPointTransformation (bool contactPointTransformation_)
 
void setTurnSlip (bool ts_)
 
void setReferenceTreadWidth (double rtw_)
 
void init (InitStage stage, const InitConfigSet &config) override
 plots time series header More...
 
void initPlot (std::vector< std::string > &plotColumns) override
 
void plot (std::vector< double > &plotVector) override
 
void initializeUsingXML (xercesc::DOMElement *element) override
 
int getxSize () const override
 
int getDMSize () const override
 
fmatvec::VecV getContourParameters () const override
 
double evalFreeRadius () override
 
void updateGeneralizedForces () override
 
void updatexd () override
 
fmatvec::VecV getData () const override
 
bool motorcycleKinematics () const override
 
void resetUpToDate () override
 
- Public Member Functions inherited from MBSim::TyreModel
virtual void initPlot (std::vector< std::string > &plotColumns)
 
virtual void plot (std::vector< double > &plotVector)
 
virtual int getxSize () const
 
virtual int getDMSize () const
 
virtual void updatexd ()
 
virtual void updateGeneralizedForces ()
 
int getDataSize () const
 
virtual fmatvec::VecV getData () const =0
 
virtual bool motorcycleKinematics () const
 
virtual fmatvec::VecV getContourParameters () const =0
 
virtual double evalFreeRadius ()=0
 
virtual void plot ()
 plots time dependent data More...
 
template<class AT >
void plot (const AT &x)
 
template<class Type , class AT >
void plot (const fmatvec::Vector< Type, AT > &x)
 
- Public Member Functions inherited from MBSim::Element
 Element (const std::string &name)
 constructor
 
 ~Element () override=default
 destructor
 
void throwError (const std::string &msg) const
 
virtual void setDynamicSystemSolver (DynamicSystemSolver *sys)
 sets the used dynamics system solver to the element More...
 
virtual void plot ()
 plots time dependent data More...
 
virtual void plotAtSpecialEvent ()
 plots time dependent data at special events More...
 
const std::string & getName () const
 
void setName (const std::string &str)
 
void setPath (const std::string &str)
 
DynamicSystemSolvergetDynamicSystemSolver ()
 
virtual void init (InitStage stage, const InitConfigSet &config=InitConfigSet())
 plots time series header More...
 
virtual void createPlotGroup ()
 creates the plotGroup for H5-output More...
 
H5::GroupBasegetPlotGroup ()
 
virtual H5::GroupBasegetFramesPlotGroup ()
 
virtual H5::GroupBasegetContoursPlotGroup ()
 
virtual H5::GroupBasegetGroupsPlotGroup ()
 
virtual H5::GroupBasegetObjectsPlotGroup ()
 
virtual H5::GroupBasegetLinksPlotGroup ()
 
virtual H5::GroupBasegetConstraintsPlotGroup ()
 
virtual H5::GroupBasegetObserversPlotGroup ()
 
bool getPlotFeature (const PlotFeatureEnum &pf)
 
virtual void setPlotFeature (const PlotFeatureEnum &pf, bool value)
 Set a plot feature. More...
 
void setPlotFeatureForChildren (const PlotFeatureEnum &pf, bool value)
 Set a plot feature for the children of this object. More...
 
void setPlotFeatureRecursive (const PlotFeatureEnum &pf, bool value)
 Set a plot feature for this object and the children of this object. More...
 
template<class T >
void setPlotAttribute (const std::string &name, const T &value)
 Set a plot attribute: static data attached as key/value pairs to the plot datasets/groups.
 
void setPlotAttribute (const std::string &name)
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 
template<class T >
T * getByPath (const std::string &path, bool initialCaller=true) const
 Get the object of type T represented by the path path. Do not set any argurment other than path!
 
std::string getPath (const Element *relTo=nullptr, std::string sep="/") const
 Return the path of this object. If relativeTo is not NULL return a relative path to relativeTo. Do not set any argurment other than relTo and sep!
 
virtual ElementgetChildByContainerAndName (const std::string &container, const std::string &name) const
 Get the Element named name in the container named container. More...
 
virtual std::shared_ptr< OpenMBV::GroupgetOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetFramesOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetContoursOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetGroupsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetObjectsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetLinksOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetConstraintsOpenMBVGrp ()
 
virtual std::shared_ptr< OpenMBV::GroupgetObserversOpenMBVGrp ()
 
virtual ElementgetParent ()
 
virtual const ElementgetParent () const
 
virtual void setParent (Element *parent_)
 
std::vector< Element * > getDependencies () const
 checks dependency on other elements. More...
 
void addDependency (Element *ele)
 
int computeLevel ()
 computes the length of the pathes in the graph that represents the dependencies between all elements. More...
 
virtual void updatePositions (Frame *frame)
 
virtual void updateVelocities (Frame *frame)
 
virtual void updateAccelerations (Frame *frame)
 
virtual void updateJacobians (Frame *frame, int j=0)
 
virtual void updateGyroscopicAccelerations (Frame *frame)
 
virtual void resetUpToDate ()
 
const double & getTime () const
 
double getStepSize () const
 
const MBXMLUtils::DOMEvalExceptiongetDOMEvalError () const
 

Private Member Functions

void importData ()
 

Private Attributes

std::string inputDataFile
 
TyreSide tyreSide {file}
 
int FITTYP
 
std::string TYRESIDE
 
bool mirroring {false}
 
double v0
 
double R0 {0}
 
double w {0}
 
double rRim {0}
 
double p {-1}
 
double p0
 
double Fz0 {-1}
 
double cz {-1}
 
double dz {-1}
 
double MC_CONTOUR_A
 
double MC_CONTOUR_B
 
double BREFF
 
double DREFF
 
double FREFF
 
double Q_RE0
 
double Q_V1
 
double Q_V2
 
double Q_FZ2
 
double Q_FCX
 
double Q_FCY
 
double Q_CAM
 
double PFZ1
 
double Q_FCY2
 
double Q_CAM1
 
double Q_CAM2
 
double Q_CAM3
 
double Q_FYS1
 
double Q_FYS2
 
double Q_FYS3
 
double rhobtm
 
double czbtm
 
double PCX1
 
double PDX1
 
double PDX2
 
double PDX3
 
double PEX1
 
double PEX2
 
double PEX3
 
double PEX4
 
double PKX1
 
double PKX2
 
double PKX3
 
double PHX1
 
double PHX2
 
double PVX1
 
double PVX2
 
double PPX1
 
double PPX2
 
double PPX3
 
double PPX4
 
double RBX1
 
double RBX2
 
double RBX3
 
double RCX1
 
double REX1
 
double REX2
 
double RHX1
 
double QSX1
 
double QSX2
 
double QSX3
 
double QSX4
 
double QSX5
 
double QSX6
 
double QSX7
 
double QSX8
 
double QSX9
 
double QSX10
 
double QSX11
 
double QSX12
 
double QSX13
 
double QSX14
 
double PPMX1
 
double PCY1
 
double PDY1
 
double PDY2
 
double PDY3
 
double PEY1
 
double PEY2
 
double PEY3
 
double PEY4
 
double PEY5
 
double PKY1
 
double PKY2
 
double PKY3
 
double PKY4
 
double PKY5
 
double PKY6
 
double PKY7
 
double PHY1
 
double PHY2
 
double PVY1
 
double PVY2
 
double PVY3
 
double PVY4
 
double PPY1
 
double PPY2
 
double PPY3
 
double PPY4
 
double PPY5
 
double RBY1
 
double RBY2
 
double RBY3
 
double RBY4
 
double RCY1
 
double REY1
 
double REY2
 
double RHY1
 
double RHY2
 
double RVY1
 
double RVY2
 
double RVY3
 
double RVY4
 
double RVY5
 
double RVY6
 
double QSY1
 
double QSY2
 
double QSY3
 
double QSY4
 
double QSY5
 
double QSY6
 
double QSY7
 
double QSY8
 
double QBZ1
 
double QBZ2
 
double QBZ3
 
double QBZ4
 
double QBZ5
 
double QBZ9
 
double QBZ10
 
double QCZ1
 
double QDZ1
 
double QDZ2
 
double QDZ3
 
double QDZ4
 
double QDZ6
 
double QDZ7
 
double QDZ8
 
double QDZ9
 
double QDZ10
 
double QDZ11
 
double QEZ1
 
double QEZ2
 
double QEZ3
 
double QEZ4
 
double QEZ5
 
double QHZ1
 
double QHZ2
 
double QHZ3
 
double QHZ4
 
double PPZ1
 
double PPZ2
 
double SSZ1
 
double SSZ2
 
double SSZ3
 
double SSZ4
 
double PDXP1
 
double PDXP2
 
double PDXP3
 
double PKYP1
 
double PDYP1
 
double PDYP2
 
double PDYP3
 
double PDYP4
 
double PHYP1
 
double PHYP2
 
double PHYP3
 
double PHYP4
 
double PECP1
 
double PECP2
 
double QDTP1
 
double QCRP1
 
double QCRP2
 
double QBRP1
 
double QDRP1
 
double PRESMIN
 
double PRESMAX
 
double FZMIN
 
double FZMAX
 
double KPUMIN
 
double KPUMAX
 
double ALPMIN
 
double ALPMAX
 
double CAMMIN
 
double CAMMAX
 
double LFZ0
 
double LCX
 
double LMUX {-1}
 
double LEX
 
double LKX {-1}
 
double LHX
 
double LVX
 
double LCY
 
double LMUY {-1}
 
double LEY
 
double LKY {-1}
 
double LKYC {-1}
 
double LKZC {-1}
 
double LHY
 
double LVY
 
double LTR
 
double LRES
 
double LXAL
 
double LYKA
 
double LVYKA
 
double LS {-1}
 
double LMX {-1}
 
double LVMX
 
double LMY {-1}
 
double LMP
 
double Cx0
 
double Cy0
 
double PCFX1
 
double PCFX2
 
double PCFX3
 
double PCFY1
 
double PCFY2
 
double PCFY3
 
double PCMZ1
 
double Q_RB1
 
double Q_RB2
 
double zeta0 {1}
 
double zeta1 {1}
 
double zeta2 {1}
 
double zeta3 {1}
 
double zeta4 {1}
 
double zeta5 {1}
 
double zeta6 {1}
 
double zeta7 {1}
 
double zeta8 {1}
 
double six {-1}
 
double siy {-1}
 
double rtw {-1}
 
double LFX {1}
 
double LFY {1}
 
double LMZ {1}
 
double LFM {1}
 
int side {1}
 
bool constsix {false}
 
bool constsiy {false}
 
double vx
 
double vsx
 
double vcx
 
double vcy
 
double vc
 
double ka
 
double ga
 
double Kyal
 
double alF
 
double rhoz
 
double dpi
 
double Re
 
double Rs
 
double phit {0}
 
double phiF {0}
 
double epsga {0}
 
bool mck {false}
 
bool ts {false}
 
bool contactPointTransformation {true}
 
std::vector< ContourFrame * > slipPoint
 

Additional Inherited Members

- Protected Member Functions inherited from MBSim::TyreModel
TyreContactgetTyreContact () const
 
- Protected Member Functions inherited from MBSim::Element
void updatePlotFeatures ()
 
void addToPlot (const std::string &name)
 
void addToPlot (const std::string &name, int size)
 
void addToPlot (const std::string &name, const std::vector< std::string > &iname)
 
template<class AT >
void plot (const AT &x)
 
template<class Type , class AT >
void plot (const fmatvec::Vector< Type, AT > &x)
 
- Protected Attributes inherited from MBSim::Element
Elementparent { nullptr }
 
std::string name
 name of element
 
std::string path
 The path of this object. Is set during the init stage reorganizeHierarchy. Before this the path is calculated dynamically using getPath() after this stage getPath just returns this value.
 
MBXMLUtils::DOMEvalException domEvalError
 Special XML helper variable.
 
DynamicSystemSolverds { nullptr }
 dynamic system
 
H5::VectorSerie< double > * plotVectorSerie { nullptr }
 time series
 
std::vector< double > plotVector
 one entry of time series
 
std::vector< std::string > plotColumns
 columns of time series
 
H5::GroupBaseplotGroup { nullptr }
 associated plot group
 
std::vector< Element * > dependency
 vector containing all dependencies.
 
PlotFeatureMap plotFeature
 plot feature
 
PlotFeatureMap plotFeatureForChildren
 
std::map< std::string, std::variant< std::monostate, int, double, std::string, std::vector< int >, std::vector< double >, std::vector< std::vector< double > > > > plotAttribute
 

Member Function Documentation

◆ evalFreeRadius()

double MBSim::MagicFormula62::evalFreeRadius ( )
overridevirtual

Implements MBSim::TyreModel.

◆ getContourParameters()

VecV MBSim::MagicFormula62::getContourParameters ( ) const
overridevirtual

Implements MBSim::TyreModel.

◆ getData()

VecV MBSim::MagicFormula62::getData ( ) const
overridevirtual

Implements MBSim::TyreModel.

◆ getDMSize()

int MBSim::MagicFormula62::getDMSize ( ) const
inlineoverridevirtual

Reimplemented from MBSim::TyreModel.

◆ getxSize()

int MBSim::MagicFormula62::getxSize ( ) const
overridevirtual

Reimplemented from MBSim::TyreModel.

◆ init()

void MBSim::MagicFormula62::init ( InitStage  stage,
const InitConfigSet &  config 
)
overridevirtual

plots time series header

Parameters
invocingparent class

Reimplemented from MBSim::Element.

◆ initializeUsingXML()

void MBSim::MagicFormula62::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

Reimplemented from MBSim::Element.

◆ initPlot()

void MBSim::MagicFormula62::initPlot ( std::vector< std::string > &  plotColumns)
overridevirtual

Reimplemented from MBSim::TyreModel.

◆ motorcycleKinematics()

bool MBSim::MagicFormula62::motorcycleKinematics ( ) const
inlineoverridevirtual

Reimplemented from MBSim::TyreModel.

◆ plot()

void MBSim::MagicFormula62::plot ( std::vector< double > &  plotVector)
overridevirtual

Reimplemented from MBSim::TyreModel.

◆ resetUpToDate()

void MBSim::MagicFormula62::resetUpToDate ( )
overridevirtual

Reimplemented from MBSim::Element.

◆ updateGeneralizedForces()

void MBSim::MagicFormula62::updateGeneralizedForces ( )
overridevirtual

Reimplemented from MBSim::TyreModel.

◆ updatexd()

void MBSim::MagicFormula62::updatexd ( )
overridevirtual

Reimplemented from MBSim::TyreModel.


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