Description
Extension of FmuComponentBase class for Chrono FMUs.
#include <ChFmuToolsExport.h>
Inherits FmuComponentBase.
Public Member Functions | |
FmuChronoComponentBase (fmu_tools::fmi3::FmuType fmiInterfaceType, fmi3String instanceName, fmi3String instantiationToken, fmi3String resourcePath, fmi3Boolean visible, fmi3Boolean loggingOn, fmi3InstanceEnvironment instanceEnvironment, fmi3LogMessageCallback logMessage) | |
void | AddFmuVecVariable (ChVector3d &v, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality=FmuVariable::CausalityType::local, FmuVariable::VariabilityType variability=FmuVariable::VariabilityType::continuous, FmuVariable::InitialType initial=FmuVariable::InitialType::none) |
Add FMU variables corresponding to the specified ChVector3d. More... | |
void | AddFmuQuatVariable (ChQuaternion<> &q, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality=FmuVariable::CausalityType::local, FmuVariable::VariabilityType variability=FmuVariable::VariabilityType::continuous, FmuVariable::InitialType initial=FmuVariable::InitialType::none) |
Add FMU variables corresponding to the specified ChQuaternion. More... | |
void | AddFmuCsysVariable (ChCoordsysd &s, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality=FmuVariable::CausalityType::local, FmuVariable::VariabilityType variability=FmuVariable::VariabilityType::continuous, FmuVariable::InitialType initial=FmuVariable::InitialType::none) |
Add FMU variables corresponding to the specified ChCoordsys. More... | |
void | AddFmuFrameVariable (ChFrame<> &s, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality=FmuVariable::CausalityType::local, FmuVariable::VariabilityType variability=FmuVariable::VariabilityType::continuous, FmuVariable::InitialType initial=FmuVariable::InitialType::none) |
Add FMU variables corresponding to the specified ChFrame. More... | |
void | AddFmuFrameMovingVariable (ChFrameMoving<> &s, const std::string &name, const std::string &unit_name, const std::string &unit_name_dt, const std::string &description, FmuVariable::CausalityType causality=FmuVariable::CausalityType::local, FmuVariable::VariabilityType variability=FmuVariable::VariabilityType::continuous, FmuVariable::InitialType initial=FmuVariable::InitialType::none) |
Add FMU variables corresponding to the specified ChFrameMoving. More... | |
Protected Member Functions | |
void | addFmuVecVariable (ChVector3d &v, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality, FmuVariable::VariabilityType variability, FmuVariable::InitialType initial, bool cache) |
void | addFmuQuatVariable (ChQuaternion<> &q, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality, FmuVariable::VariabilityType variability, FmuVariable::InitialType initial, bool cache) |
void | addFmuCsysVariable (ChCoordsysd &s, const std::string &name, const std::string &unit_name, const std::string &description, FmuVariable::CausalityType causality, FmuVariable::VariabilityType variability, FmuVariable::InitialType initial, bool cache) |
void | addFmuFrameMovingVariable (ChFrameMoving<> &s, const std::string &name, const std::string &unit_name, const std::string &unit_name_dt, const std::string &description, FmuVariable::CausalityType causality, FmuVariable::VariabilityType variability, FmuVariable::InitialType initial, bool cache) |
virtual void | addDerivative (const std::string &derivative_name, const std::string &state_name, const std::vector< std::string > &dependency_names) override |
Add a declaration of a state derivative. More... | |
virtual void | addDependencies (const std::string &variable_name, const std::vector< std::string > &dependency_names) override |
Include a dependency of "variable_name" on "dependency_name". More... | |
Protected Attributes | |
std::unordered_set< std::string > | variables_vec |
list of ChVector3 "variables" | |
std::unordered_set< std::string > | variables_quat |
list of ChQuaternion "variables" | |
std::unordered_set< std::string > | variables_csys |
list of ChCoordsys "variables" | |
std::unordered_set< std::string > | variables_framem |
list of ChFrameMoving "variables" | |
Member Function Documentation
◆ addDependencies()
|
inlineoverrideprotectedvirtual |
Include a dependency of "variable_name" on "dependency_name".
This version accounts for variables and/or dependencies corresponding to ChVector3, ChQuaternion, ChCoordsys, ChFrame, or ChFrameMoving types. These are expanded to the appropriate number of FMI scalar variables.
◆ addDerivative()
|
inlineoverrideprotectedvirtual |
Add a declaration of a state derivative.
This version accounts for states and state derivatives corresponding to ChVector3 or ChQuaternion types. These are expanded to the appropriate number of FMI scalar variables. Dependencies can include ChVector3, ChQuaternion, ChCoordsys, or ChFrameMoving variables.
◆ AddFmuCsysVariable()
|
inline |
Add FMU variables corresponding to the specified ChCoordsys.
This function creates 7 FMU variables, one for each component of the position ChVector3d and one for each component of the rotation quaternion, all of type FmuVariable::Type::Float64.
◆ AddFmuFrameMovingVariable()
|
inline |
Add FMU variables corresponding to the specified ChFrameMoving.
This function creates 7 FMU variables for the pose, one for each component of the position ChVector3d and one for each component of the rotation quaternion, all of type FmuVariable::Type::Float64. Additionally, 7 FMU variables are created to encode the position and orientation time derivatives.
◆ AddFmuFrameVariable()
|
inline |
Add FMU variables corresponding to the specified ChFrame.
This function creates 7 FMU variables, one for each component of the position ChVector3d and one for each component of the rotation quaternion, all of type FmuVariable::Type::Float64.
◆ AddFmuQuatVariable()
|
inline |
Add FMU variables corresponding to the specified ChQuaternion.
This function creates 4 FMU variables, one for each component of the ChVector3d, with names "name.e0", "name.e1", "name.e2", and "name.e3", all of type FmuVariable::Type::Float64.
◆ AddFmuVecVariable()
|
inline |
Add FMU variables corresponding to the specified ChVector3d.
This function creates 3 FMU variables, one for each component of the ChVector3d, with names "name.x", "name.y", and "name.z", all of type FmuVariable::Type::Float64.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono_fmi/fmi3/ChFmuToolsExport.h