Hi everyone,

My name is Alex. First post here ! Warning, VERY long first post.

I've been interested in creating modded content for years now (back in the GTA Vice City / Rfactor days) and became really enclined to dive into physics with Assetto Corsa.

I'm somewhat ashamed to admit that in the last three years I've been working exclusively on only one (and a half...) car. Not even an interesting one for most people, but it's the car I've been enjoying for seven years now, a reachable one that caught my attention when it was new, back when I was a kid.

The Ford Puma !

But before I go into what I achieved so far, I feel like explaining my philosophy about cars, modding and what I'd like to achieve with this. Feel free to skip this part.

So here is my unpopular opinion : Every car is already perfect from the factory !

I can appreciate cars the way they have been designed, with their flaws and limitations. The beauty of being a car guy to me is that there are so many on the market, old and new, that it's impossible not to find the one that is everything you want a car to be.

Even though every opinion about it is perfectly valid, I don't like the idea of going through the hassle of spending time and money messing with a car that will spend most of its life on open roads, instead of just being happy driving it and enjoying the resultant reliability. Different story for cars that would hit the track often, though.

Now about modding. I see it as a great opportunity to save the cars we love from the future, as a way to build some kind of « virtual museum » to enjoy them for many years to come when their real counterparts won't be allowed on the road anymore or will break down for the last time.

So the goal for me is to become able to « document » some cars in the most accurate way possible so they can basically « live forever ». That's what I've been trying to do with the Puma.

By the way, even with a little experience now I can't see myself working on modding a car I can't have access to. Way too inaccurate !

So here it is at last. As you can see, completing the 3D model hasn't been top priority yet. I'll get there later. I want to make it work, then I'll make it pretty!
Screenshot_ford_puma_17_lhd_laquais_1-8-121-20-11-15.jpg


As I have the car in my garage, I have lots of data I have measured / calculated myself as well as lots of documentation. Sometimes I managed to get the Puma in AC to be very close to the real one, but in the end it always feels « not good enough ». I'll do things right or do nothing.

Following is what I've got (right, hopefully) in terms of data :

-Cx and Scx according to research and unofficial documents
-Brake force and brake balance measured on my car
-Brake heating and fade measured on my car
-4 channel ABS behaving closely to my car
-Total weight (with and without fuel and driver) measured on my car
-Weight distribution measured on my car
-Dimensions according to official data (to calculate inertia)
-F/R track and wheelbase measured on my car, matches official data
-Steering lock, angle and ackermann effect measured on my car
-Fuel tank capacity, close to IRL consumption (impossible to get right everytime I think) and position measured on my car
-Camber, caster and toe official tolerances and measurements on my car (except for caster)
-Gear ratios
-Tyre size (combined with gear ratios = spot on), rim and tire weight
-Engine torque curve, rev limiter, inertia and engine brake (performance is spot on with official data)
-Throttle mapping (impossible to get exactly right I think)
-Dimensions and weight of replacement brake disks / pads / drums / shoes / wheel bearings I held in my hands (unsprung mass)
-Dimensions and weight of springs, dampers and front ARB
-Dimensions, position and weight of front suspension arms, measured on my car
-Dimensions and position of rear twist beam, measured on my car
-Weight of many, many parts (mostly unsprung) from replacement parts websites and measured by other Puma owners
-Recorded good functionnal sounds, but I'll redo them as they could be way better.

And over 110000 km of driving the thing like I stole it. The 1.7-liter Puma isn't a powerful car by today standards, and limits aren't THAT far. Most of them can be found without breaking any laws, nor compromising anyone's security.

Following are some specific questions I have :

GENERAL :

1- Probably the most important one : because of highly interactive parameters (aero / susp / tyres), in what order would you proceed to create something accurate without having to go back a million times to tweak values ?

TYRES :

2- In tyres.ini, I can't figure out what the unit for ANGULAR_INERTIA is.
The Puma has disk brakes on the front, drums on the rear. If I calculate rotational inertia for the rim + tyre and for the disk / drum separately, is there a formula to add them up ?

3- Is the tyre generator in CM something I can confidently rely on ? For now I don't get all the subtleties of tyre physics.

SUSPENSIONS :

4- Is there a way to calculate a bump stop's rate based on its dimensions and material ?

5- For the front suspension, how do I calculate and incorporate the effect of drop-links between the dampers and the ARB, and the effect of bushings to the wheel rates values ?

6- Anti roll bars : Physics Pipeline by @Kyuubeey and AC Worksheet by @Storm Rider output different results, which one should I use ?

7- Does a rear twist beam act as its own ARB, or should I input 0 in ARB REAR ?

8- Speaking of twist beam, I studied how Kunos did the one in the Abarth 500 with DWB and compared it to the real one. I don't understand how they ended up with such a design ??
I also looked at the Peugeot 106 by @Daniel Jimenez and @Arch (one of my favourite mods btw !) and it seems quite clever so I went the same route, but in my case it behaves nothing like the real one. Frustrating because the twist beam in the Puma is the simplest design ever !

9- CG Height / BASEY : Given that renting scales for a car is so damn expensive (don't know if it's even possible as an individual), how do you find / calculate CG height for front and rear ?
The best I could get is by finding a document that lists the front CGH of dozens of cars, finding one in the list that has the closest dimensions and weight to the Puma and use its CGH. However I can't find anything for rear CGH.
cgh.jpg


10- I need confirmation about ride height. Do you agree that ride height is the height of the lowest point of an axle? For example on the Puma, front ride height would be the distance from the ground to the bottom of the front suspension arm and rear ride height would be the height from the ground to the bottom of the twist beam. Correct?

11- In HUB_MASS, should I input the unsprung mass per side or the total unsprung mass on the axle ? Physics Pipeline says per side, but I've read elsewhere that it's total. I can be wrong, but I think Kunos cars input total.

12- Dampers : I'm confused with the values I'm inputting in the AC Worksheet and can't be sure if the output values are right or wrong. I'll come back to this later.

AERO :

13- Same as for tyres, I don't get everything about implementing correct aero in AC, though I think I've got the drag right. I'll come back to this later as well.

------

I'll stop here for now, that's already too much.

Thanks a lot if you got this far ! Any help or interest much appreciated. I can provide data, photos and explanations about anything I wrote if it helps. By the way, english is not my mother tongue so I apologize for any possible aberration.

Cheers !
Alex
 
I can't answer all the questions, but
2 - should be kg m^2. and you can simply add them as long as they're rotating around the same axis at the same speed.
3 - I wouldn't trust it if you're going outside the range of specs of the tires you fed into it, and it's not magic, it'll be as good as what you start with, no better. But that beats not even trying
4 - not really, the designs aren't simple enough (unlike ARBs which tend to go hollow/solid rod, in pure twist, and can be simplified)
5 - bushings use series spring addition, ie. 1/rate1 + 1/rate2 = 1/total. one trick here is they're going to have different motion ratios than the spring (typically 1.0 for bushings on the hub, same as the spring's motion ratio if they attach to the strut), so you probably want to convert it all into wheel rates to start with. The way this equation works they can only decrease the overall rate, so if you know the spring value accurately but not the bushings, you could try knocking 10-20% off the value. Drop links are gonna be a complicated question, usually manufacturers will set them up in a way that's as close as possible to no effect though (which happens if they're close to parallel to the direction of movement)
7 - depends on the specifics of the design; some incorporate an antirollbar inside the beam, some have an external one on drop links, some use the beam itself.
8 - Most likely issues with springrates or bumpstop positions, that design should "just work" although I have to say I haven't looked at how precisely the 106 vs. puma suspensions are shaped.
9 - front/rear cgh is not a physically real thing, it's only separated that way in AC to make suspension setup simpler. If you can start from scratch and use equal CGH on both that's completely fine. Forces only actually apply through the CG's position, which is the weighted average of the 2.
10 - not important, again it's just not an actual thing except in race series that will specify what part of the car it's counted from. In those cases it's the lowest point on the chassis between front/rear tires, but of course road cars have more things drop below the 'flat' bottom of the chassis.
11 - solid axles (type=AXLE) it's the sum of both sides, everything else it's a single side.
 
Last edited:
Following is what I've got (right, hopefully) in terms of data :

-Cx and Scx according to research and unofficial documents good, though aerodynamics are of minimal importance for road cars
-Brake force and brake balance measured on my car Please state the measurement method
-Brake heating and fade measured on my car Please state the measurement method. Brake heating/fade cannot (ever) be done correctly in vanilla AC
-4 channel ABS behaving closely to my car minor detail so not a big deal if it's wrong in any case
-Total weight (with and without fuel and driver) measured on my car good
-Weight distribution measured on my car good (make sure to input the correct CoG to the suspensions.ini. It is looking for sprung only, not total car)
-Dimensions according to official data (to calculate inertia) wrong approach; someone else can elaborate or I can in a future post
-F/R track and wheelbase measured on my car, matches official data good
-Steering lock, angle and ackermann effect measured on my car good, but measure mm/rotation for the rack itself to ensure this is correct
-Fuel tank capacity, close to IRL consumption (impossible to get right everytime I think) and position measured on my car consumption indeed can't be correct in vanilla AC
-Camber, caster and toe official tolerances and measurements on my car (except for caster) good
-Gear ratios good
-Tyre size (combined with gear ratios = spot on), rim and tire weight good
-Engine torque curve, rev limiter, inertia and engine brake (performance is spot on with official data) good, but how did you do inertia?
-Throttle mapping (impossible to get exactly right I think) correct assessment for vanilla AC
-Dimensions and weight of replacement brake disks / pads / drums / shoes / wheel bearings I held in my hands (unsprung mass) maybe useful maybe not, mostly for inertia/unsprung calculations
-Dimensions and weight of springs, dampers and front ARB not strictly necessary
-Dimensions, position and weight of front suspension arms, measured on my car good, you will need to place them in 3d space for it to be useful
-Dimensions and position of rear twist beam, measured on my car good, as above
-Weight of many, many parts (mostly unsprung) from replacement parts websites and measured by other Puma owners good, unsprung might be easier to measure on the car than per component though.
-Recorded good functionnal sounds, but I'll redo them as they could be way better. good

Following are some specific questions I have :

GENERAL :

1- Probably the most important one : because of highly interactive parameters (aero / susp / tyres), in what order would you proceed to create something accurate without having to go back a million times to tweak values ? Road cars are relatively simple so your need to iteratively tweak parameters should be less than something more complex. For a road car, suspension first, then aero, then tires.

TYRES :

2- In tyres.ini, I can't figure out what the unit for ANGULAR_INERTIA is.
The Puma has disk brakes on the front, drums on the rear. If I calculate rotational inertia for the rim + tyre and for the disk / drum separately, is there a formula to add them up ? kg*m^2. Inertia is additive, so you'll need to add up every rotating component per corner of the car (these are your inputs for the tyres.ini. e.g. rim inertia + tire inertia + brake disc inertia + brake fixture inertia + etc.., per corner)

3- Is the tyre generator in CM something I can confidently rely on ? For now I don't get all the subtleties of tyre physics. Not really, Kunos-made tires are not very accurate, and the CM generator bases its tires on those.

SUSPENSIONS :

4- Is there a way to calculate a bump stop's rate based on its dimensions and material ? Yes (via FEA analysis), but you'd need to know the exact material, which is very unlikely.

5- For the front suspension, how do I calculate and incorporate the effect of drop-links between the dampers and the ARB, and the effect of bushings to the wheel rates values ? It's all just mechanical advantage and springs in series. It's hard to explain in a short answer and would require a longer conversation to explain thoroughly.

6- Anti roll bars : Physics Pipeline by @Kyuubeey and AC Worksheet by @Storm Rider output different results, which one should I use ? AC worksheet generally has a number of issues so I would lean towards the former.

7- Does a rear twist beam act as its own ARB, or should I input 0 in ARB REAR ? per Stereo's post

8- Speaking of twist beam, I studied how Kunos did the one in the Abarth 500 with DWB and compared it to the real one. I don't understand how they ended up with such a design ??
I also looked at the Peugeot 106 by @Daniel Jimenez and @Arch (one of my favourite mods btw !) and it seems quite clever so I went the same route, but in my case it behaves nothing like the real one. Frustrating because the twist beam in the Puma is the simplest design ever ! Generally unwise to trust KS work as reference. Also, just because the suspension geometry made the car feel different to the real one does not mean that the suspension geometry is the real problem there. It may have just exposed an issue somewhere else in your vehicle model.

9- CG Height / BASEY : Given that renting scales for a car is so damn expensive (don't know if it's even possible as an individual), how do you find / calculate CG height for front and rear ?
The best I could get is by finding a document that lists the front CGH of dozens of cars, finding one in the list that has the closest dimensions and weight to the Puma and use its CGH. However I can't find anything for rear CGH. There is no such thing. An object only has one center of gravity. See Stereo's comment.

10- I need confirmation about ride height. Do you agree that ride height is the height of the lowest point of an axle? For example on the Puma, front ride height would be the distance from the ground to the bottom of the front suspension arm and rear ride height would be the height from the ground to the bottom of the twist beam. Correct? Not strictly important but yes that's fine.

11- In HUB_MASS, should I input the unsprung mass per side or the total unsprung mass on the axle ? Physics Pipeline says per side, but I've read elsewhere that it's total. I can be wrong, but I think Kunos cars input total. Per side for all suspension types besides AXLE; Kunos cars input it correctly.

12- Dampers : I'm confused with the values I'm inputting in the AC Worksheet and can't be sure if the output values are right or wrong. I'll come back to this later. Using that worksheet is generally not entirely advised, but dampers are relatively simple so feel free to ask specifics.

AERO :

13- Same as for tyres, I don't get everything about implementing correct aero in AC, though I think I've got the drag right. I'll come back to this later as well. For a road car, it's of minimal importance so long as you have the drag correct. The only thing to worry about is the drag moment that will essentially give your car front end lift and rear end downforce unless compensated for.
Answered inline
 
Wow. Thanks guys, couldn't expect better answers! Now I know what to look for.

Here in France cars have to pass an inspection every two years called Contrôle Technique (CT, equivalent to UK's MOT). To measure brake force and distribution, and weight and its distribution I refered to the values measured on mine (I have 5 CT reports)
ct2.jpg

"Forces verticales" is the weight of the car, measured with the front and the rear wheels on scales. daN is easily converted into Kg. "Avant" stands for "Front", "Arrière" stands for "Rear". G is for Left, D is for Right.

"Forces de freinage" stands for "braking forces".

To find how much percentage of these values goes to the front, I used an operation called "produit en croix" (literally "cross-product", don't know if it's the correct name in english).
produit en croix.jpg

Example to find weight distribution (works the same for brake balance)
- take the front share --> 673
- multiply by 100 --> 673*100=67300
- divide by 1097 --> 67300/1097=61.34

So the car weighs 1097 daN (1118 kg) and 61.34% of this is goint to the front.

Regarding brake heating the method used is quite brutal, not very accurate and not scientific in any way, but ended up being surprisingly close in AC. Before I changed my worn disks / pads / drums / shoes on the Puma, I bought a little handheld laser / infrared thermometer and (prepare for this) stood on the brakes with my left foot for 1 km at 80 km/h. Multiple times. Then stopped to measure the temp directly on the disk, and on the outside of the drum. Every time the front disk temp was around double the temp on the rear drums. I realize the temp inside the drum is the one I'm looking for but that's impossible to measure with what I have.
I could also measure the temp at which I began to really feel / hear the brakes fading (around 130°C for the front disks), and how fast brakes were cooling when stopped and managed to get the same cooling time in AC. however the only parameter missing is how fast brakes are cooling when driving (I can't be everywhere lol)

Regarding engine inertia: Sit in neutral, rev quite high, and with a stopwatch measure the time the engine goes from, say 6k+ RPM to 3k RPM.
Same thing for engine braking but when rolling, on a flat straight smooth road, on a windless night. Assuming drag value is correct, sit in second gear at 6k+ rpm, and measure the time it goes from 6k to 3k after going off the throttle.
Do the same thing in AC by measuring with the same stopwatch and after inputting a few different values I could have the same times as the real car, everytime.
Again, not very scientific but that seems to work.
 
Wow. Thanks guys, couldn't expect better answers! Now I know what to look for.

Here in France cars have to pass an inspection every two years called Contrôle Technique (CT, equivalent to UK's MOT). To measure brake force and distribution, and weight and its distribution I refered to the values measured on mine (I have 5 CT reports)View attachment 492731
"Forces verticales" is the weight of the car, measured with the front and the rear wheels on scales. daN is easily converted into Kg. "Avant" stands for "Front", "Arrière" stands for "Rear". G is for Left, D is for Right.

"Forces de freinage" stands for "braking forces".

To find how much percentage of these values goes to the front, I used an operation called "produit en croix" (literally "cross-product", don't know if it's the correct name in english).
View attachment 492738
Example to find weight distribution (works the same for brake balance)
- take the front share --> 673
- multiply by 100 --> 673*100=67300
- divide by 1097 --> 67300/1097=61.34

So the car weighs 1097 daN (1118 kg) and 61.34% of this is goint to the front.

Regarding brake heating the method used is quite brutal, not very accurate and not scientific in any way, but ended up being surprisingly close in AC. Before I changed my worn disks / pads / drums / shoes on the Puma, I bought a little handheld laser / infrared thermometer and (prepare for this) stood on the brakes with my left foot for 1 km at 80 km/h. Multiple times. Then stopped to measure the temp directly on the disk, and on the outside of the drum. Every time the front disk temp was around double the temp on the rear drums. I realize the temp inside the drum is the one I'm looking for but that's impossible to measure with what I have.
I could also measure the temp at which I began to really feel / hear the brakes fading (around 130°C for the front disks), and how fast brakes were cooling when stopped and managed to get the same cooling time in AC. however the only parameter missing is how fast brakes are cooling when driving (I can't be everywhere lol)

Regarding engine inertia: Sit in neutral, rev quite high, and with a stopwatch measure the time the engine goes from, say 6k+ RPM to 3k RPM.
Same thing for engine braking but when rolling, on a flat straight smooth road, on a windless night. Assuming drag value is correct, sit in second gear at 6k+ rpm, and measure the time it goes from 6k to 3k after going off the throttle.
Do the same thing in AC by measuring with the same stopwatch and after inputting a few different values I could have the same times as the real car, everytime.
Again, not very scientific but that seems to work.
Math's good and I'm assuming their measurement method is reasonable for the brake torque, so that mostly checks out (still have to convert it to a torque but not a big deal).

Brake heating cannot be done correctly in vanilla AC because the thermal model isn't thermodynamically correct, so you'll never get it to match properly. You can do better using the custom shaders patch, but that involves quite a bit of work and knowledge (and likely more data).

Engine inertia can't really be done like that since AC's inertia is for the engine in gear, and its idle logic is not good enough to replicate a real car's (so the revs in neutral won't really work). That said, it should be quite easy to obtain a reasonable estimate for any given engine (just via some math, no measurements needed). The coast down test you did for engine braking is okay but again, idle logic and inertias need to be correct for it, so it's very likely not giving you an accurate result.
 
Back
Top