- #1
wheelman
- 2
- 0
I am trying to build a simulation of a car engine and wheels for a game project.
My model is currently this:
Engine outputs a torque -> this spins up a flywheel over time (the physics step of 1/60s) -> the flywheel is coupled with the clutch and thus transmission -> the transmission multiplies the torque and passes it to the wheels -> the wheel's angular velocity also increases over time.
For the time being I am modeling the car's wheel as a single flywheel, so it is an interaction between two flywheels.
I am not sure if this is correct but it would allow me to simulate a proper clutch and allow the engine to rev as well as apply friction losses for the rpm lower over time.
I can input a torque into the flywheel and spin it up like this
flywheel_mass = 7.5 kg
flywheel_radius = 0.3 m
I = (7.5 * 0.3^2)/2 = moment of inertia
flywheel_angular_velocity_f = flywheel_angular_velocity_i + (input_torque * time / I)
for example, if I were to apply 300Nm for 1 second to a flywheel @ rest, the final velocity would be 888.89 rad/s
This is where I am stuck, how do I transfer the energy from the engine flywheel to the wheel?
As I need both decrease the velocity of the flywheel and increase the wheel velocity every 1/60s.
The wheel weighs 20kg and has a radius of 0.35 m and is at rest initially.
It has been about 5 years since I've done any physics, so I am out of my depth here (not sure if I even studied rotational motion in high school), thanks to anybody who managed to read my rambles.
My model is currently this:
Engine outputs a torque -> this spins up a flywheel over time (the physics step of 1/60s) -> the flywheel is coupled with the clutch and thus transmission -> the transmission multiplies the torque and passes it to the wheels -> the wheel's angular velocity also increases over time.
For the time being I am modeling the car's wheel as a single flywheel, so it is an interaction between two flywheels.
I am not sure if this is correct but it would allow me to simulate a proper clutch and allow the engine to rev as well as apply friction losses for the rpm lower over time.
I can input a torque into the flywheel and spin it up like this
flywheel_mass = 7.5 kg
flywheel_radius = 0.3 m
I = (7.5 * 0.3^2)/2 = moment of inertia
flywheel_angular_velocity_f = flywheel_angular_velocity_i + (input_torque * time / I)
for example, if I were to apply 300Nm for 1 second to a flywheel @ rest, the final velocity would be 888.89 rad/s
This is where I am stuck, how do I transfer the energy from the engine flywheel to the wheel?
As I need both decrease the velocity of the flywheel and increase the wheel velocity every 1/60s.
The wheel weighs 20kg and has a radius of 0.35 m and is at rest initially.
It has been about 5 years since I've done any physics, so I am out of my depth here (not sure if I even studied rotational motion in high school), thanks to anybody who managed to read my rambles.