Flywheel¶
- class Flywheel(name: str, inertia_moment: InertiaMoment)¶
Bases:
RotatingObjectFlywheelobject.Attributes¶
namestrName of the flywheel.
driven_byRotatingObjectRotating object that drives the flywheel, for example a
DCMotoror a gear (SpurGear,HelicalGear,WormGear,WormWheel).drivesRotatingObjectRotating object driven by the flywheel, it can be a gear (
SpurGear,HelicalGear,WormGear,WormWheel).master_gear_ratiofloatGear ratio of the fixed joint between the flywheel and its driving rotating object.
master_gear_efficiencyfloatorintEfficiency of the fixed joint between the flywheel and its driving rotating object.
angular_positionAngularPositionAngular position of the flywheel.
angular_speedAngularSpeedAngular speed of the flywheel.
angular_accelerationAngularAccelerationAngular acceleration of the flywheel.
torqueTorqueNet torque applied on the flywheel.
driving_torqueTorqueDriving torque applied on the flywheel by its driving rotating object.
load_torqueTorqueLoad torque applied on the flywheel by its driven rotating object.
inertia_momentInertiaMomentMoment of inertia of the flywheel.
time_variablesdictTime variables of the flywheel.
Methods¶
update_time_variables()It updates
time_variablesdictionary by appending the last value of each time variable to corresponding list.
- property angular_acceleration: AngularAcceleration¶
Angular acceleration of the flywheel. It must be an instance of
AngularAcceleration.Returns¶
AngularAccelerationAngular acceleration of the flywheel.
Raises
TypeErrorIf
angular_accelerationis not an instance ofAngularAcceleration.
- property angular_position: AngularPosition¶
Angular position of the flywheel. It must be an instance of
AngularPosition.Returns¶
AngularPositionAngular position of the flywheel.
Raises
TypeErrorIf
angular_positionis not an instance ofAngularPosition.
- property angular_speed: AngularSpeed¶
Angular speed of the flywheel. It must be an instance of
AngularSpeed.Returns¶
AngularSpeedAngular speed of the flywheel.
Raises
TypeErrorIf
angular_speedis not an instance ofAngularSpeed.
- property driven_by: RotatingObject¶
Rotating object that drives the flywheel, for example a
DCMotoror a gear (SpurGear,HelicalGear,WormGear,WormWheel). It must be aRotatingObject.To set this property use
add_fixed_joint.Returns¶
RotatingObjectMaster rotating object that drives the flywheel.
Raises
TypeErrorIf
driven_byis not an instance ofRotatingObject.
- property drives: RotatingObject¶
Rotating object driven by the flywheel, it can be a gear (
SpurGear,HelicalGear,WormGear,WormWheel). It must be aRotatingObject.To set this property use
add_fixed_joint.Returns¶
RotatingObjectRotating object driven by the flywheel.
Raises
TypeErrorIf
drivesis not an instance ofRotatingObject.
- property driving_torque: Torque¶
Driving torque applied on the flywheel by its driving rotating object. It must be an instance of
Torque.Returns¶
TorqueDriving torque applied on the flywheel by its driving rotating object.
Raises
TypeErrorIf
driving_torqueis not an instance ofTorque.
- property inertia_moment: InertiaMoment¶
Moment of inertia of the flywheel. It must be an instance of
InertiaMoment.Once set at the flywheel instantiation, it cannot be changed afterward.
Returns¶
InertiaMomentMoment of inertia of the flywheel.
Raises
TypeErrorIf
inertia_momentis not an instance ofInertiaMoment.
- property load_torque: Torque¶
Load torque applied on the flywheel by its driven rotating object. It must be an instance of
Torque.Returns¶
TorqueLoad torque applied on the flywheel by its driven rotating object.
Raises
TypeErrorIf
load_torqueis not an instance ofTorque.
- property master_gear_efficiency: float | int¶
Efficiency of the fixed joint between the flywheel and its driving rotating object. Since the relation between the flywheel and its neighbor elements in the powertrain elements is always a fixed joint, the efficiency is always equal to
1and cannot be overwritten.Returns¶
- property master_gear_ratio: float¶
Gear ratio of the fixed joint between the flywheel and its driving rotating object. It must be a positive a float. Since the relation between the flywheel and its neighbor elements in the powertrain elements is always a fixed joint, the gear ratio will be always set to
1byadd_fixed_joint.To set this property use
add_fixed_joint.Returns¶
floatGear ratio of the fixed joint between the flywheel and its driving rotating object.
Raises
TypeErrorIf
master_gear_ratiois not afloat.ValueErrorIf
master_gear_ratiois negative or null.
- property name: str¶
Name of the flywheel. It must be a non-empty
str.It must be a unique name, not shared by other elements in the powertrain elements.
Once set at the flywheel instantiation, it cannot be changed afterward.
Returns¶
strName of the flywheel.
- property time_variables: dict[str, list[UnitBase]]¶
Time variables of the flywheel. Each time variable is stored as a dictionary key-value pair. The available time variables are:
angular_position:'angular position',angular_speed:'angular speed',angular_acceleration:'angular acceleration',torque:'torque',driving_torque:'driving torque',load_torque:'load torque'.
Corresponding values of the dictionary are lists of the respective time variable values.
At each time iteration, the
Solverappends every time variables’ values to the relative list in the dictionary.Returns¶
dictTime variables of the flywheel.
See Also
- property torque: Torque¶
Net torque applied on the flywheel. It must be an instance of
Torque.It is computed as the difference between
driving_torqueandload_torque.Returns¶
TorqueNet torque applied on the flywheel.
- update_time_variables() None¶
It updates
time_variablesdictionary by appending the last value of each time variable (key of the dictionary) to corresponding list (value of the dictionary).