Advertisement
Guest User

Untitled

a guest
Jul 9th, 2018
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.46 KB | None | 0 0
  1. // GENERAL
  2. simulation = tankX;
  3. fuelCapacity = __EVAL(FUEL_CAPACITY_TANK * FUEL_CONSUMPTION_HIGH); // in ~ *3 minutes, time to empty
  4. brakeIdleSpeed = 0.1; // in m/s, forced handbrake when slower
  5. maxSpeed = 75;
  6. normalSpeedForwardCoef = 0.75; // thrust value for W
  7. slowSpeedForwardCoef = 0.25; // thrust value for CTRL+W
  8. waterResistanceCoef = 0.3;
  9.  
  10. // ENGINE
  11. enginePower = 1045; // in kW, 1400hp GTD-1400
  12. maxOmega = 314.16; // in rad/s, 3000rpm
  13. minOmega = 104.72; // in rad/s, 1000rpm tactical idle
  14. redRpm = 3000; // max rpm for audio only
  15. idleRpm = 1000; // min rpm for audio only
  16. peakTorque = 4950; // in Nm, @ 1000rpm
  17. torqueCurve[] = {
  18. {__EVAL(1000/3000) , __EVAL(4950/4950)},
  19. {__EVAL(3000/3000) , __EVAL(3465/4950)}
  20. };
  21. thrustDelay = 0.5; // time it takes from 0 thrust to 1 wanted thrust
  22. engineMOI = 12.0;
  23. dampingRateFullThrottle = 1.4; // engine braking with thrust 1
  24. dampingRateZeroThrottleClutchEngaged = 5.0; // engine braking with thrust 0
  25. dampingRateZeroThrottleClutchDisengaged = 0.8; // engine braking in neutral/open clutch
  26.  
  27.  
  28. // DRIVETRAIN
  29. clutchStrength = 40.0;
  30. latency = 1.3; // time to stay in a gear
  31. switchTime = 0; // time off gear when switching
  32. changeGearType = "rpmratio"; // condition for switching gears
  33. /*changeGearMinEffectivity[] = { // torque ratio
  34. 0.85,
  35. 0.1,
  36. 0.85, 0.9, 0.95, 0.95
  37. };*/
  38. changeGearOmegaRatios[] = { // rpm ratio max/min pair
  39. __EVAL(3000/3000) , __EVAL(1000/3000),
  40. __EVAL(1000/3000) , 0,
  41. __EVAL(2980/3000) , __EVAL(1000/3000),
  42. __EVAL(2950/3000) , __EVAL(2100/3000),
  43. __EVAL(2950/3000) , __EVAL(2200/3000),
  44. __EVAL(2950/3000) , __EVAL(2200/3000)
  45. };
  46. class complexGearbox
  47. {
  48. GearboxRatios[] = {
  49. "R1", -6.5,
  50. "N" , 0,
  51. "D1", 4.4,
  52. "D2", 2.2,
  53. "D3", 1.5,
  54. "D4", 1.0
  55. };
  56. transmissionRatios[] = {"High",11.5}; // remaining drivetrain ratios (final drive)
  57. gearBoxMode = "auto";
  58. moveOffGear = 1;
  59. driveString = "D";
  60. neutralString = "N";
  61. reverseString = "R";
  62. };
  63.  
  64. // ARTIFICIAL FORCES
  65. tankTurnForce = 0.95e6; // initial force applied to turning in [0,tankTurnForceAngMinSpd] ang. speed range
  66. tankTurnForceAngMinSpd = 0.7; // in rad/s, speed where tankTurnForce starts fading to 0 @ tankTurnForceAngSpd
  67. tankTurnForceAngSpd = 0.76; // in rad/s, angular speed where tankTurnForce becomes 0
  68. accelAidForceCoef = 2.0; // acceleration aid force
  69. accelAidForceYOffset = -2.0; // Y offset from the CoG where to apply the accelAidForce
  70. accelAidForceSpd = 1.4; // in m/s, speed where accelAidForceCoef becomes 0
  71.  
  72. // WHEELS
  73. class Wheels
  74. {
  75. // LEFT SIDE
  76. class L2
  77. {
  78. side = "left";
  79. suspTravelDirection[] = SUSPTRAVELDIR_LEFT;
  80. boneName = "wheel_podkoloL1";
  81. center = "wheel_1_2_axis";
  82. boundary = "wheel_1_2_bound";
  83. steering = false;
  84. width = 0.5;
  85. mass = 200;
  86. MOI = __EVAL(0.5*200*(0.378626^2)); // radius 0.378626m
  87. dampingRate = 2250.0;
  88. dampingRateInAir = 2250.0;
  89. dampingRateDestroyed = 4000.0;
  90. maxDroop = 0.18;
  91. maxCompression = 0.18;
  92. sprungMass = 3358;
  93. springStrength = 272000;
  94. springDamperRate = 30000;
  95. maxBrakeTorque = 32000;
  96. latStiffX = 1.5;
  97. latStiffY = 30;
  98. longitudinalStiffnessPerUnitGravity = 12000;
  99. frictionVsSlipGraph[] = {
  100. {0.0, 0.5},
  101. {0.1, 1.5},
  102. {0.5, 0.9}
  103. };
  104. };
  105. class L3 : L2
  106. {
  107. boneName = "wheel_podkolol2";
  108. center = "wheel_1_3_axis";
  109. boundary = "wheel_1_3_bound";
  110. };
  111. class L4 : L2
  112. {
  113. boneName = "wheel_podkolol3";
  114. center = "wheel_1_4_axis";
  115. boundary = "wheel_1_4_bound";
  116. };
  117. class L5 : L2
  118. {
  119. boneName = "wheel_podkolol4";
  120. center = "wheel_1_5_axis";
  121. boundary = "wheel_1_5_bound";
  122. };
  123. class L6 : L2
  124. {
  125. boneName = "wheel_podkolol5";
  126. center = "wheel_1_6_axis";
  127. boundary = "wheel_1_6_bound";
  128. };
  129. class L7 : L2
  130. {
  131. boneName = "wheel_podkolol6";
  132. center = "wheel_1_7_axis";
  133. boundary = "wheel_1_7_bound";
  134. };
  135. class L8 : L2
  136. {
  137. boneName = "wheel_podkolol7";
  138. center = "wheel_1_8_axis";
  139. boundary = "wheel_1_8_bound";
  140. };
  141. // rear left wheel, usually Idler or Drive Sproket
  142. // Note, this wheel may not always be touching the ground, but we need it anyway!
  143. class L9 : L2
  144. {
  145. boneName = "wheel_podkolol9";
  146. center = "wheel_1_9_axis";
  147. boundary = "wheel_1_9_bound";
  148. maxDroop = 0.01;
  149. maxCompression = 0.01;
  150. };
  151. // front left wheel, usually Idler or Drive Sproket
  152. // Note, this wheel may not always be touching the ground, but we need it anyway!
  153. class L1: L2
  154. {
  155. boneName = "";
  156. center = "wheel_1_1_axis";
  157. boundary = "wheel_1_1_bound";
  158. maxDroop = 0.01;
  159. maxCompression = 0.01;
  160. };
  161. // RIGHT SIDE
  162. class R2 : L2
  163. {
  164. side = "right";
  165. suspTravelDirection[] = SUSPTRAVELDIR_RIGHT;
  166. boneName = "wheel_podkolop1";
  167. center = "wheel_2_2_axis";
  168. boundary = "wheel_2_2_bound";
  169. };
  170. class R3 : R2
  171. {
  172. boneName = "wheel_podkolop2";
  173. center = "wheel_2_3_axis";
  174. boundary = "wheel_2_3_bound";
  175. };
  176. class R4 : R2
  177. {
  178. boneName = "wheel_podkolop3";
  179. center = "wheel_2_4_axis";
  180. boundary = "wheel_2_4_bound";
  181. };
  182. class R5 : R2
  183. {
  184. boneName = "wheel_podkolop4";
  185. center = "wheel_2_5_axis";
  186. boundary = "wheel_2_5_bound";
  187. };
  188. class R6 : R2
  189. {
  190. boneName = "wheel_podkolop5";
  191. center = "wheel_2_6_axis";
  192. boundary = "wheel_2_6_bound";
  193. };
  194. class R7 : R2
  195. {
  196. boneName = "wheel_podkolop6";
  197. center = "wheel_2_7_axis";
  198. boundary = "wheel_2_7_bound";
  199. };
  200. class R8 : R2
  201. {
  202. boneName = "wheel_podkolop7";
  203. center = "wheel_2_8_axis";
  204. boundary = "wheel_2_8_bound";
  205. };
  206. // rear right wheel, usually Idler or Drive Sproket
  207. // Note, this wheel may not always be touching the ground, but we need it anyway!
  208. class R9 : R2
  209. {
  210. boneName = "wheel_podkolop9";
  211. center = "wheel_2_9_axis";
  212. boundary = "wheel_2_9_bound";
  213. maxDroop = 0.01;
  214. maxCompression = 0.01;
  215. };
  216. // front right wheel, usually Idler or Drive Sproket
  217. // Note, this wheel may not always be touching the ground, but we need it anyway!
  218. class R1 : R2
  219. {
  220. boneName = "";
  221. center = "wheel_2_1_axis";
  222. boundary = "wheel_2_1_bound";
  223. maxDroop = 0.01;
  224. maxCompression = 0.01;
  225. };
  226. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement