@ scotracer & callum,
Its not too complicated, i preassigned values to the parameters i've used in the simulation.
I've used ISI's gmotor2 physics simulator to simulate both vehicle & track dynamics. Here are a few parameters I've assigned values to:-- (note:- I'm documenting most of the parameters)
Mass=700.0 // All mass except fuel
Inertia=(646.5,1282.0, 110.2) // All inertia except fuel
FuelTankPos=(0.00, 0.255,-1.38) // Location of tank relative to center of rear axle in reference plane
FuelTankMotion=(560.0, 0.65) // Simple model of fuel movement in tank (spring rate per kg, critical damping ratio)
CGHeight=0.1752 // Height of body mass (excluding fuel) above reference plane
CGRightRange=(0.480, 0.002, 21) // Fraction of weight on left tires
CGRearRange=( 0.540, 0.002, 21) // Fraction of weight on rear tires
WedgeRange=(0.0, 0.25, 1) // Rounds of wedge
[FRONTWING]
FWRange=(0.0, 1.0, 40) // Front wing range
FWSetting=21 // Front wing setting
FWMaxHeight=(0.30) // Maximum height to take account of for downforce
FWDragParams=(0.0992, 0.00393, 0.000016) // Base drag and 1st and 2nd order with setting
FWLiftParams=(-0.2305,-0.011498, 0.000026) // Base lift and 1st and 2nd order with setting
FWDraftLiftMult=0.50 // Effect of draft on front wing's lift response (larger numbers will tend to decrease downforce when in the draft)
FWLiftHeight=(0.930) // Effect of current height on lift coefficient
FWLiftSideways=(0.435) // Dropoff in downforce with yaw (0.0 = none, 1.0 = max)
FWLiftPeakYaw=(3.0, 1.07) // Angle of peak, multiplier at peak
FWLeft=(-0.05, 0.0, 0.0) // Aero forces from moving left
FWRight=(0.05, 0.0, 0.0) // Aero forces from moving right
FWUp=( 0.0,-0.168, 0.020) // Aero forces from moving up
FWDown=(0.0, 0.168,-0.012) // Aero forces from moving down
FWAft=( 0.0, 0.045,-0.04) // Aero forces from moving rearwards
FWFore=(0.0, 0.0, 0.0) // Aero forces from moving forwards (recomputed from settings)
FWRot=(0.15, 0.06, 0.22) // Aero torque from rotating
FWCenter=(0.00, 0.11, -0.5075) // Center of front wing forces (offset from center of front axle in ref plane)
[REARWING]
RWRange=(0.0, 1.0, 40) // Rear wing range
RWSetting=20 // Rear wing setting
RWDragParams=( 0.065, 0.00548, 0.000023) // Base drag and 1st and 2nd order with setting
RWLiftParams=(-0.2405,-0.014598, 0.000063) // Base lift and 1st and 2nd order with setting
RWDraftLiftMult=0.42 // Effect of draft on rear wing's lift response
RWLiftSideways=(0.425) // Dropoff in downforce with yaw (0.0 = none, 1.0 = max)
RWLiftPeakYaw=(2.5, 1.05) // Angle of peak, multiplier at peak
RWLeft=(-0.10, 0.0, 0.0) // Aero forces from moving left
RWRight=(0.10, 0.0, 0.0) // Aero forces from moving right
RWUp=( 0.0,-0.192, 0.050) // Aero forces from moving up
RWDown=(0.0, 0.192,-0.030) // Aero forces from moving down
RWAft=( 0.0, 0.10, -0.10) // Aero forces from moving rearwards
RWFore=(0.0, 0.0, 0.0) // Aero forces from moving forwards (recomputed from settings)
RWRot=( 0.20, 0.18, 0.30) // Aero torque from rotating
RWCenter=(0.00, 0.62, 0.355) // Center of rear wing forces (offset from center of rear axle at ref plane)
[BODYAERO]
BodyDragBase=(0.35222) // Base drag
BodyDragHeightAvg=(0.258) // Drag increase with average ride height
BodyDragHeightDiff=(0.486) // Drag increase with front/rear ride height difference
BodyMaxHeight=(0.15) // Maximum ride height that affects drag/lift
DraftBalanceMult=0.025 // Effect of draft on aerodynamic downforce balance of car (bigger numbers exaggerate the effect)
BodyDraftLiftMult=0.06 // Effect of draft on body's lift response
BodyLeft=(-0.70, 0.030, 0.00) // Aero forces from moving left
BodyRight=(0.70, 0.030, 0.00) // Aero forces from moving right
BodyUp=( 0.00,-1.700, 0.02) // Aero forces from moving up
BodyDown=( 0.00, 1.700,-0.01) // Aero forces from moving down
BodyAft=( 0.00, 0.105,-0.95) // Aero forces from moving rearwards
BodyFore=( 0.00,-0.171, 0.37) // Aero forces from moving forwards (lift value important, but drag overwritten)
BodyRot=(4.00, 2.70, 1.90) // Aero torque from rotating
BodyCenter=(0.0, 0.254,-1.413) // Center of body aero forces (offset from center of rear axle at ref plane)
RadiatorRange=(0.0, 1.0,
// Radiator range (front grille tape)
RadiatorSetting=6 // Radiator setting
RadiatorDrag=(0.00210) // Effect of radiator setting on drag
RadiatorLift=(0.00000) // Effect of radiator setting on lift
BrakeDuctRange=(0.0, 1.0, 7) // Brake duct range
BrakeDuctSetting=2 // Brake duct setting
BrakeDuctDrag=(0.0050) // effect of brake duct setting on drag
BrakeDuctLift=(0.0012) // effect of brake duct setting on lift
[DIFFUSER]
DiffuserBase=(-1.0607, 0.15, 1.0) // Base lift and 1st/2nd order with rear ride height
DiffuserFrontHeight=(1.450) // 1st order with front ride height
DiffuserRake=(-0.003, -20, 450.0) // Optimum rake (rear - front ride height), 1st order with current difference from opt, 2nd order
DiffuserLimits=(0.013, 0.105, 0.044) // Min ride height before stalling begins (0.0=disabled), max rear ride height for computations, max rake difference for computations
DiffuserStall=(0.1, 0.60) // Function to compute stall ride height (0.0=minimum, 1.0=average), downforce lost when bottoming out (0.0=none, 1.0=complete stall)
DiffuserSideways=(0.332) // Dropoff with yaw (0.0 = none, 1.0 = max)
DiffuserPeakYaw=(0.0, 1.0) // Angle of peak, multiplier at peak
DiffuserCenter=(0.0, 0.01, -1.265) // Center of diffuser forces (offset from center of rear axle at ref plane)
[SUSPENSION]
CorrectedInnerSuspHeight=0.245 // Instead of moving inner susp height relative with ride height, use this offset (set to -1 for original behavior)
ApplySlowToFastDampers=0 // Whether to apply slow damper settings to fast damper settings
LimitFastDampers=0 // Whether to limit the fast damper rate to be less than or equal to the slow damper rate (actual rate, not numerical setting)
AdjustSuspRates=1 // Adjust suspension rates due to motion ratio (0 = direct measure of spring/damper rates, 1 = wheel rates)
AlignWheels=1 // Correct for minor graphical offsets
FrontWheelTrack=1.4615 // If non-zero, forces the front wheels to be specified track width
RearWheelTrack=1.4752 // If non-zero, forces the rear wheels to be specified track width
LeftWheelBase=0 // If non-zero, forces the left side to use specified wheelbase
RightWheelBase=0 // If non-zero, forces the right side to use specified wheelbase
SpringBasedAntiSway=1 // 0=diameter-based, 1=spring-based
AllowNoAntiSway=0 // Whether first setting gets overridden to mean no antisway bar
FrontAntiSwayBase=0.0 // Extra anti-sway from tube twisting
FrontAntiSwayRange=(80000.0, 1000.0, 116)
FrontAntiSwaySetting=30
FrontAntiSwayRate=(1.00e11, 4.0) // Not applicable with spring-based antisway
RearAntiSwayBase=0.0 // Extra anti-sway from tube twisting
RearAntiSwayRange=(20000.0, 1000.0, 76)
RearAntiSwaySetting=12
RearAntiSwayRate=(1.00e11, 4.0) // Not applicable with spring-based antisway
FrontToeInRange=(-1.0, 0.025, 73)
FrontToeInSetting=36
RearToeInRange=(-0.8, 0.025, 73)
RearToeInSetting=34
LeftCasterRange=(-1.5, 0.1, 71) // Front-left caster
LeftCasterSetting=30
RightCasterRange=(-1.5, 0.1, 71) // Front-right caster
RightCasterSetting=30
LeftTrackBarRange=(0.0, 0.0, 1) // Rear-left track bar
LeftTrackBarSetting=0
RightTrackBarRange=(0.0, 0.0, 1) // Rear-right track bar
RightTrackBarSetting=0
//THIRD SPRING
Front3rdBumpTravel=-0.005 // Travel to bumpstop with zero packers and zero ride height (5mm compression)
Front3rdReboundTravel=-0.065 // Prevents rebound travel (for example, when upside down), 55mm max front ride height plus 10mm leeway
Front3rdBumpStopSpring=150000.0 // Initial spring rate of bumpstop
Front3rdBumpStopRisingSpring=7.00e6 // Rising spring rate of bumpstop (multiplied by deflection squared)
Front3rdBumpStopDamper=2400.0 // Initial damping rate of bumpstop
Front3rdBumpStopRisingDamper=7.00e5 // Rising damper rate of bumpstop (multiplied by deflection squared)
Front3rdBumpStage2=0.060 // Speed where damper bump moves from slow to fast
Front3rdReboundStage2=-0.060 // Speed where damper rebound moves from slow to fast
Front3rdPackerRange=(0.000, 0.001, 41)
Front3rdPackerSetting=5
Front3rdSpringRange=(0.0, 2000.0, 101)
Front3rdSpringSetting=35
Front3rdSlowBumpRange=(0.0, 125.0, 25)
Front3rdSlowBumpSetting=6
Front3rdFastBumpRange=(0.0, 125.0, 21)
Front3rdFastBumpSetting=2
Front3rdSlowReboundRange=(0.0, 250.0, 33)
Front3rdSlowReboundSetting=4
Front3rdFastReboundRange=(0.0, 250.0, 29)
Front3rdFastReboundSetting=2
Rear3rdBumpTravel=-0.010 // Travel to bumpstop with zero packers and zero ride height (10mm compression)
Rear3rdReboundTravel=-0.090 // Prevents rebound travel (for example, when upside-down), 80mm max rear ride height plus 10mm leeway
Rear3rdBumpStopSpring=150000.0 // Initial spring rate of bumpstop
Rear3rdBumpStopRisingSpring=7.00e6 // Rising spring rate of bumpstop (multiplied by deflection squared)
Rear3rdBumpStopDamper=2400.0 // Initial damping rate of bumpstop
Rear3rdBumpStopRisingDamper=7.00e5 // Rising damper rate of bumpstop (multiplied by deflection squared)
Rear3rdBumpStage2=0.060 // Speed where damper bump moves from slow to fast
Rear3rdReboundStage2=-0.060 // Speed where damper rebound moves from slow to fast
Rear3rdPackerRange=(0.000, 0.001, 61)
Rear3rdPackerSetting=10
Rear3rdSpringRange=(0.0, 2000.0, 101)
Rear3rdSpringSetting=40
Rear3rdSlowBumpRange=(0.0, 125.0, 25)
Rear3rdSlowBumpSetting=6
Rear3rdFastBumpRange=(0.0, 125.0, 21)
Rear3rdFastBumpSetting=2
Rear3rdSlowReboundRange=(0.0, 250.0, 33)
Rear3rdSlowReboundSetting=6
Rear3rdFastReboundRange=(0.0, 250.0, 29)
Rear3rdFastReboundSetting=2
DRIVELINE]
ClutchEngageRate=1.2 // How fast to engage clutch
ClutchInertia=0.0085 // Inertia of parts between clutch and transmission
ClutchTorque=700.0 // Maximum torque that can be transferred through clutch
ClutchWear=0.0 // Unimplemented
ClutchFriction=8.20 // Friction torque of parts between clutch and transmission when in gear (automatically reduced in neutral)
BaulkTorque=500.0 // Maximum torque transferred through gears while engaging them
AllowGearingChanges=1 // Whether to allow gear ratio changes
AllowFinalDriveChanges=1 // Whether to allow final drive ratio changes
FinalDriveSetting=1 // Indexed into GearFile list
ForwardGears=7
ReverseSetting=3
Gear1Setting=0
Gear2Setting=22
Gear3Setting=39
Gear4Setting=59
Gear5Setting=77
Gear6Setting=93
Gear7Setting=107
DiffPumpTorque=250.0 // At 100% pump diff setting, the torque redirected per wheelspeed difference in radians/sec (roughly 1.2kph)
DiffPumpRange=(0.00, 0.01, 101) // Differential acting on all driven wheels
DiffPumpSetting=30
DiffPowerRange=(0.00, 0.01, 101) // Fraction of power-side input torque transferred through diff
DiffPowerSetting=30 // (not implemented for four-wheel drive)
DiffCoastRange=(0.00, 0.01, 101) // Fraction of coast-side input torque transferred through diff
DiffCoastSetting=30 // (not implemented for four-wheel drive)
DiffPreloadRange=(80.0, 4.0, 26) // Preload torque that must be overcome to have wheelspeed difference
DiffPreloadSetting=5 // (not implemented for four-wheel drive)
RearSplitRange=(1.00, 0.10, 1) // Torque split to the rear, defaults to
RearSplitSetting=0 // 50:50 if these entries aren't here.
Pump4WDEffect=( 1.0, 1.0, 1.0) // Effect of various diff settings on
Power4WDEffect=( 0.0, 0.0, 0.0) // the center diff, then the front diff,
Coast4WDEffect=( 0.0, 0.0, 0.0) // and then the rear diff. Sorry, no
Preload4WDEffect=(0.0, 0.0, 0.0) // separate settings for each diff.
[brakes]
BumpTravel=-0.005 // Travel to bumpstop with zero packers and zero ride height (5mm compression)
ReboundTravel=-0.057 // Prevents rebound travel (for example, when upside-down), 45mm max front ride height plus 12mm leeway
BumpStopSpring=150000.0 // Initial spring rate of bumpstop
BumpStopRisingSpring=7.00e6 // Rising spring rate of bumpstop (multiplied by deflection squared)
BumpStopDamper=2400.0 // Initial damping rate of bumpstop
BumpStopRisingDamper=7.00e5 // Rising damper rate of bumpstop (multiplied by deflection squared)
BumpStage2=0.060 // Speed where damper bump moves from slow to fast
ReboundStage2=-0.060 // Speed where damper rebound moves from slow to fast
FrictionTorque=2.40 // Newton-meters of friction between spindle and wheel
SpinInertia=0.9040 // Inertia in pitch direction including any axle but not brake disc
CGOffsetX=0.000 // X-offset from graphical center to physical center
PushrodSpindle=(-0.120,-0.110, 0.00) // Spring/damper connection to spindle or axle (relative to wheel center)
PushrodBody=( -0.560, 0.295, 0.10) // Spring/damper connection to body (relative to wheel center)
CamberRange=(-5.0, 0.1, 56)
CamberSetting=9
PressureRange=(90.0, 1.0, 106)
PressureSetting=30
PackerRange=(0.01, 0.001, 11)
PackerSetting=0
SpringMult=1.0 // Take into account suspension motion if spring is not attached to spindle (affects physics but not garage display)
SpringRange=(100000.0, 2000.0, 101)
SpringSetting=8
SpringRubberRange=(5000.0, 5000.0, 1) // Spring rubbers can potentially be changed at pitstops if available, first value is automatically detached
SpringRubberSetting=0
RideHeightRange=(0.030, 0.001, 26)
RideHeightSetting=25
DamperMult=1.00 // Take into account suspension motion if damper is not attached to spindle
SlowBumpRange=(3000.0, 125.0, 29)
SlowBumpSetting=12
FastBumpRange=(1500.0, 125.0, 25)
FastBumpSetting=8
SlowReboundRange=(5250.0, 250.0, 28)
SlowReboundSetting=15
FastReboundRange=(3000.0, 125.0, 29)
FastReboundSetting=12
BrakeDiscRange=(0.026, 0.001, 3) // Disc thickness
BrakeDiscSetting=2
BrakePadRange=(0, 1, 5) // Pad type (not implemented)
BrakePadSetting=2
BrakeDiscInertia=0.820 // Inertia per meter of thickness
BrakeResponseCurve=(-70,540,700,1730) // First value is cold temperature (where brake torque is half optimum), min temp for optimum brake torque, max temp for optimum brake torque, and overheated temperature (where brake torque is half optimum)
BrakeWearRate=5.650e-011 // Meters of wear per second at optimum temperature
BrakeFailure=(1.45e-02,7.00e-04) // Average and variation in disc thickness at failure
BrakeTorque=3980.0 // Maximum brake torque at zero wear and optimum temp
BrakeHeating=0.00172 // Heat added linearly with brake torque times wheel speed (at max disc thickness)
BrakeCooling=(3.650e-02,4.200e-04) // Minimum brake cooling rate (base and per unit velocity) (at max disc thickness)
BrakeDuctCooling=0.8000e-04 // Brake cooling rate per brake duct setting (at max disc thickness)
Engine Data:--( I re-programmed it using matlab)
RPMTorque=( 0.0, -32.6, -32.6)
RPMTorque=( 500.0, -32.5, -20.0)
RPMTorque=( 1000.0, -33.4, -3.0)
RPMTorque=( 1500.0, -35.2, 31.
RPMTorque=( 2000.0, -37.2, 60.5)
RPMTorque=( 2500.0, -39.1, 84.3)
RPMTorque=( 3000.0, -40.9, 99.2)
RPMTorque=( 3500.0, -42.8, 124.5)
RPMTorque=( 4000.0, -44.7, 161.4)
RPMTorque=( 4500.0, -46.6, 217.5)
RPMTorque=( 5000.0, -48.6, 273.3)
RPMTorque=( 5500.0, -50.7, 314.0)
RPMTorque=( 6000.0, -52.8, 334.2)
RPMTorque=( 6500.0, -55.0, 345.7)
RPMTorque=( 7000.0, -57.2, 357.2)
RPMTorque=( 7500.0, -59.4, 370.2)
RPMTorque=( 8000.0, -61.7, 381.7)
RPMTorque=( 8500.0, -63.9, 384.6)
RPMTorque=( 9000.0, -66.2, 383.1)
RPMTorque=( 9500.0, -68.5, 379.
RPMTorque=( 10000.0, -70.9, 374.4)
RPMTorque=( 10500.0, -73.4, 368.
RPMTorque=( 11000.0, -76.0, 364.4)
RPMTorque=( 11500.0, -78.9, 358.6)
RPMTorque=( 12000.0, -82.0, 354.
RPMTorque=( 12500.0, -85.4, 350.9)
RPMTorque=( 13000.0, -89.3, 347.6)
RPMTorque=( 13500.0, -93.6, 343.7)
RPMTorque=( 14000.0, -98.3, 341.4)
RPMTorque=( 14500.0, -103.4, 339.9)
RPMTorque=( 15000.0, -109.1, 337.0)
RPMTorque=( 15500.0, -114.9, 332.6)
RPMTorque=( 16000.0, -120.9, 327.2)
RPMTorque=( 16500.0, -127.0, 320.
RPMTorque=( 17000.0, -133.3, 314.3)
RPMTorque=( 17500.0, -139.6, 308.9)
RPMTorque=( 18000.0, -146.0, 303.1)
RPMTorque=( 18500.0, -152.7, 297.7)
RPMTorque=( 19000.0, -160.1, 292.4)
RPMTorque=( 19500.0, -160.1, 280.9)
RPMTorque=( 20000.0, -160.1, 266.5)
RPMTorque=( 20500.0, -160.1, 242.5)
FuelConsumption=2.700e-005 // affected by throttle position and engine speed
EngineInertia=0.0518 // rotational inertia of engine components
IdleThrottle=1.0 // throttle multiplier to help maintain idle speed
IdleRPMLogic=(3925.0, 4150.0) // attempt to maintain idle speed between these RPMs
LaunchEfficiency=0.0 // efficiency (0.0-1.0) of launch control, or 0.0 if N/A
LaunchRPMLogic=(7800.0, 11000.0) // holds RPM in this range before launch
RevLimitRange=(18000.0, 0.0, 0)
OptimumOilTemp=106.5 // degrees Celsius at which engine operates optimally
CombustionHeat=68.1 // degrees Celsius added per liter of fuel burned
EngineSpeedHeat=1.325e-003 // heat added linearly with engine speed
OilMinimumCooling=5.050e-004 // heat dissipated without radiator
OilWaterHeatTransfer=(2.28e-2,3.45e-4) // heat transfer from oil to water (base, w/ engine speed)
WaterMinimumCooling=2.000e-004 // heat dissipated without radiator
RadiatorCooling=(8.90e-04, 1.120e-04) // cooling rate with velocity (base, per setting)
LifetimeEngineRPM=(18100.0,300.0) // (base engine speed for lifetime, range where lifetime is halved)
LifetimeOilTemp=(110.50, 4.5000) // (base oil temp for lifetime, range where lifetime is halved)
LifetimeAvg=5700 // average lifetime in seconds
LifetimeVar=0 // lifetime random variance
EngineEmission=(0.00, 0.5000, 0.52) // where flames and smoke are emitted (relative to ref frame at rear axle
EngineSound=(0, 0.5000, 0.2500) // where engine sound is played (relative to ref frame at rear axle)
SpeedLimiter=1 // whether vehicle has a pitlane speed limiter
OnboardStarter=0 // whether vehicle restarts when stalled
StarterTiming=(1.40, 0.4000, 1.5000) // average and variable cranking time, then time to blend with starting sound
RamCenter=(0.00, 0.80,-1.50) // location of ram air intake
RamDraftEffect=3.0 // multiplier for effect that draft has on ram air velocity
RamEffects=(2.0e-5,2.0e-5,2.5e-5,3.5e-5) // torque % increase per m/s, power % increase per m/s and RPM, fuel increase per m/s, engine wear increase per m/s
Track dynamics:-
RoadDryGrip=1.00
RoadWetGrip=0.80
RoadmetalGrip=0.80
RoadDustGrip=0.90
RoadBumpAmp=0.010
RoadBumpLen=13.0
RumbleDryGrip=0.95
RumbleWetGrip=0.60
RumbleBumpAmp=0.015
RumbleBumpLen=8.0
MiscBumpAmp=0.08
MiscBumpLen=4.0
Terminal velocities are not way too low, it was around 327kmph peak approaching turn 1. But you can infer from the data that i've simulated the lap for an average case. Of course it can be simulated for Monza trim parameters, like using lower ride hight, less wing, reducing body drag base etc. But I always prefer to simulate the conditions for average cases. It serves as a benchmark for later reference, when you simulate for ultra-low downforce.