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

Public Member Functions

void setcz (double cz_)
 
void setdz (double dz_)
 
void setFz0 (double Fz0_)
 
void setR0 (double R0_)
 
void setpKy1 (double pKy1_)
 
void setpKy2 (double pKy2_)
 
void setpKy3 (double pKy3_)
 
void setpKy4 (double pKy4_)
 
void setpKy5 (double pKy5_)
 
void setpKy6 (double pKy6_)
 
void setpKy7 (double pKy7_)
 
void setpDx1 (double pDx1_)
 
void setpDx2 (double pDx2_)
 
void setpEx1 (double pEx1_)
 
void setpEx2 (double pEx2_)
 
void setpEx3 (double pEx3_)
 
void setpEx4 (double pEx4_)
 
void setpKx1 (double pKx1_)
 
void setpKx2 (double pKx2_)
 
void setpKx3 (double pKx3_)
 
void setCx (double Cx_)
 
void setCy (double Cy_)
 
void setrBx1 (double rBx1_)
 
void setrBx2 (double rBx2_)
 
void setCxal (double Cxal_)
 
void setpDy1 (double pDy1_)
 
void setpDy2 (double pDy2_)
 
void setpDy3 (double pDy3_)
 
void setpEy1 (double pEy1_)
 
void setpEy2 (double pEy2_)
 
void setpEy4 (double pEy4_)
 
void setCga (double Cga_)
 
void setEga (double Ega_)
 
void setrBy1 (double rBy1_)
 
void setrBy2 (double rBy2_)
 
void setrBy3 (double rBy3_)
 
void setCyka (double Cyka_)
 
void setqHz3 (double qHz3_)
 
void setqHz4 (double qHz4_)
 
void setqBz1 (double qBz1_)
 
void setqBz2 (double qBz2_)
 
void setqBz5 (double qBz5_)
 
void setqBz6 (double qBz6_)
 
void setqBz9 (double qBz9_)
 
void setqBz10 (double qBz10_)
 
void setqDz1 (double qDz1_)
 
void setqDz2 (double qDz2_)
 
void setqDz3 (double qDz3_)
 
void setqDz4 (double qDz4_)
 
void setqDz8 (double qDz8_)
 
void setqDz9 (double qDz9_)
 
void setqDz10 (double qDz10_)
 
void setqDz11 (double qDz11_)
 
void setqEz1 (double qEz1_)
 
void setqEz2 (double qEz2_)
 
void setqEz5 (double qEz5_)
 
void setCt (double Ct_)
 
void setc1Rel (double c1Rel_)
 
void setc2Rel (double c2Rel_)
 
void setc3Rel (double c3Rel_)
 
void setScaleFactorForCamberStiffness (double sfKyga_)
 
void setScaleFactorForLongitudinalForce (double sfFx_)
 
void setScaleFactorForLateralForce (double sfFy_)
 
void setScaleFactorForAligningMoment (double sfMz_)
 
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
 
void updatexd () override
 
fmatvec::VecV getContourParameters () const override
 
double evalFreeRadius () override
 
void updateGeneralizedForces () override
 
fmatvec::VecV getData () const override
 
bool motorcycleKinematics () const 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 Attributes

double cz {0}
 
double dz {0}
 
double Fz0 {0}
 
double R0 {0}
 
double pKy1 {0}
 
double pKy2 {0}
 
double pKy3 {0}
 
double pKy4 {0}
 
double pKy5 {0}
 
double pKy6 {0}
 
double pKy7 {0}
 
double pDx1 {0}
 
double pDx2 {0}
 
double pEx1 {0}
 
double pEx2 {0}
 
double pEx3 {0}
 
double pEx4 {0}
 
double pKx1 {0}
 
double pKx2 {0}
 
double pKx3 {0}
 
double Cx {0}
 
double Cy {0}
 
double rBx1 {0}
 
double rBx2 {0}
 
double Cxal {0}
 
double pDy1 {0}
 
double pDy2 {0}
 
double pDy3 {0}
 
double pEy1 {0}
 
double pEy2 {0}
 
double pEy4 {0}
 
double Cga {0}
 
double Ega {0}
 
double rBy1 {0}
 
double rBy2 {0}
 
double rBy3 {0}
 
double Cyka {0}
 
double qHz3 {0}
 
double qHz4 {0}
 
double qBz1 {0}
 
double qBz2 {0}
 
double qBz5 {0}
 
double qBz6 {0}
 
double qBz9 {0}
 
double qBz10 {0}
 
double qDz1 {0}
 
double qDz2 {0}
 
double qDz3 {0}
 
double qDz4 {0}
 
double qDz8 {0}
 
double qDz9 {0}
 
double qDz10 {0}
 
double qDz11 {0}
 
double qEz1 {0}
 
double qEz2 {0}
 
double qEz5 {0}
 
double Ct {0}
 
double c1Rel {0}
 
double c2Rel {0}
 
double c3Rel {0}
 
double sfKyga {1}
 
double sfFx {1}
 
double sfFy {1}
 
double sfMz {1}
 
double vsx
 
double vsy
 
double vx
 
double ka
 
double ga
 
double Kyal
 
double si
 
double be
 
double rhoz
 
double Re
 
double Rs
 

Additional Inherited Members

- Public Types inherited from MBSim::Element
enum  InitStage {
  resolveStringRef =0 , preInit , plotting , unknownStage ,
  LASTINITSTAGE
}
 The stages of the initialization. More...
 
- 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::MagicFormulaSharp::evalFreeRadius ( )
overridevirtual

Implements MBSim::TyreModel.

◆ getContourParameters()

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

Implements MBSim::TyreModel.

◆ getData()

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

Implements MBSim::TyreModel.

◆ getxSize()

int MBSim::MagicFormulaSharp::getxSize ( ) const
inlineoverridevirtual

Reimplemented from MBSim::TyreModel.

◆ initializeUsingXML()

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

Reimplemented from MBSim::Element.

◆ initPlot()

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

Reimplemented from MBSim::TyreModel.

◆ motorcycleKinematics()

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

Reimplemented from MBSim::TyreModel.

◆ plot()

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

Reimplemented from MBSim::TyreModel.

◆ updateGeneralizedForces()

void MBSim::MagicFormulaSharp::updateGeneralizedForces ( )
overridevirtual

Reimplemented from MBSim::TyreModel.

◆ updatexd()

void MBSim::MagicFormulaSharp::updatexd ( )
overridevirtual

Reimplemented from MBSim::TyreModel.


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