Files
FluidSimCpp/engines/v8-h.toml

715 lines
16 KiB
TOML

# Engine definition. Dimensional keys state their units.
schema_version = 2
id = "v8-h"
name = "American 5.0 / 4-2-1 + H"
category = "V8 / American 5.0"
description = "Swept primaries / 50 cc junctions / H crossover"
order = 7
cycle = "four_stroke"
[simulation]
cells_per_meter = 20.0
[engine]
bank_angle_deg = 56.0
cylinders = 8
initial_rpm = 1000.0
initialize_phased_charge = true
layout = "v"
maximum_load_torque_nm = 300.0
minimum_substeps = 1
phase_degrees = [0.0, 450.0, 270.0, 540.0, 630.0, 360.0, 180.0, 89.99998]
pipe_damping = 1.0
starter_torque_nm = 180.0
throttle_diameter_mm = 65.0
topology = "american_v8"
[cylinder]
afr = 14.7
ambient_temperature_k = 300.0
bore_mm = 101.6
burn_duration_deg = 65.0
burn_start_deg = 5.0
compression = 7.0
energy_variation = 0.05
exhaust_valve_count = 1
exhaust_valve_diameter_mm = 37.0
fuel_lhv_j_per_kg = 4.4e+07
heat_transfer = 100.0
intake_valve_count = 1
intake_valve_diameter_mm = 45.0
misfire_probability = 0.0
rod_mm = 129.0
stroke_mm = 76.2
wall_area = 0.02
wiebe_a = 5.0
wiebe_m = 2.0
[crankshaft]
friction_constant_nm = 22.0
friction_quadratic_nm_s2 = 0.0
friction_viscous_nm_s = 0.025
inertia_kg_m2 = 1.1
[ecu]
idle_base_opening = 0.08
idle_control = "feedback"
idle_ki = 4e-05
idle_kp = 0.0001
idle_max_opening = 0.25
idle_minimum_advance_deg = -5.0
idle_rpm = 750.0
idle_spark_gain = 0.02
ignition_map = [[0.0, 10.0], [750.0, 12.0], [2500.0, 28.0], [4000.0, 32.0], [6000.0, 30.0]]
overrun_cut_rpm = 2000.0
overrun_fuel_cut_enabled = true
overrun_ignition_cut_enabled = false
overrun_resume_rpm = 1100.0
power_afr = 12.8
rev_limit_enabled = true
rev_limit_fuel_cut_enabled = true
rev_limit_rpm = 7000.0
rev_resume_rpm = 6750.0
stoichiometric_afr = 14.7
throttle_closing_rate = 0.0
throttle_closing_time_constant_s = 0.0
throttle_rate = 1000.0
throttle_time_constant_s = 0.001
[vehicle]
air_density = 1.225
clutch_capacity = 1100.0
clutch_engagement_rate = 8.0
drag_coefficient = 0.4
final_drive_ratio = 3.623529
frontal_area = 2.0
gear_ratios = [3.35, 1.93, 1.29, 1.0, 0.68]
gravity = 9.80665
mass_kg = 3000.0
primary_reduction = 1.0
rolling_resistance = 0.015
rotational_inertia_kg_m2 = 1.2
wheel_radius_mm = 320.0
[fuel]
system = "injection"
[junctions]
h_pipe = true
[[pipes]]
id = "intake"
diameter_mm = 70.0
[[pipes]]
id = "runners"
count = 8
diameter_mm = 38.0
[[pipes]]
id = "primaries"
count = 8
diameter_mm = 38.0
[[pipes]]
id = "secondaries"
count = 4
diameter_mm = 45.0
[[pipes]]
id = "bank_collectors"
count = 2
diameter_mm = 50.0
[[pipes]]
id = "tailpipes"
count = 2
diameter_mm = 50.0
[[pipes]]
id = "crossover"
diameter_mm = 38.0
[cam.intake]
points = [
[0.000, 0.000000],
[350.000, 0.000000],
[355.000, 0.232908],
[360.000, 0.871525],
[365.000, 1.825695],
[370.000, 3.005259],
[375.000, 4.320060],
[380.000, 5.679940],
[385.000, 6.994741],
[390.000, 8.174305],
[395.000, 9.128475],
[400.000, 9.767092],
[405.000, 10.000000],
[515.000, 10.000000],
[520.000, 9.767092],
[525.000, 9.128475],
[530.000, 8.174305],
[535.000, 6.994741],
[540.000, 5.679940],
[545.000, 4.320060],
[550.000, 3.005259],
[555.000, 1.825695],
[560.000, 0.871525],
[565.000, 0.232908],
[570.000, 0.000000],
[720.000, 0.000000]
]
[cam.exhaust]
points = [
[0.000, 0.000000],
[140.000, 0.000000],
[145.000, 0.213693],
[150.000, 0.802170],
[155.000, 1.686529],
[160.000, 2.787869],
[165.000, 4.027287],
[170.000, 5.325881],
[175.000, 6.604751],
[180.000, 7.784992],
[185.000, 8.787704],
[190.000, 9.533985],
[195.000, 9.944933],
[197.500, 10.000000],
[312.500, 10.000000],
[317.500, 9.786307],
[322.500, 9.197830],
[327.500, 8.313471],
[332.500, 7.212131],
[337.500, 5.972713],
[342.500, 4.674119],
[347.500, 3.395249],
[352.500, 2.215008],
[357.500, 1.212296],
[362.500, 0.466015],
[367.500, 0.055067],
[370.000, 0.000000],
[720.000, 0.000000]
]
[valves.intake]
mass_g = 35.0
spring_rate_n_per_mm = 38.0
damping_n_s_per_m = 24.0
seat_force_n = 75.0
maximum_lift_mm = 15.0
seat_restitution = 0.005
cam_restitution = 0.01
stop_restitution = 0.01
[valves.exhaust]
mass_g = 35.0
spring_rate_n_per_mm = 38.0
damping_n_s_per_m = 24.0
seat_force_n = 75.0
maximum_lift_mm = 15.0
seat_restitution = 0.005
cam_restitution = 0.01
stop_restitution = 0.01
[valve_sound]
mode_hz = 3600.0
effective_mass_g = 180.0
radiation_area_cm2 = 10.0
damping_ratio = 0.9
[[geometry.cylinders]]
origin_mm = [ -179.4, 0, 0 ]
tilt_deg = -28.0
[[geometry.cylinders]]
origin_mm = [ -59.8, 0, 0 ]
tilt_deg = -28.0
[[geometry.cylinders]]
origin_mm = [ 59.8, 0, 0 ]
tilt_deg = -28.0
[[geometry.cylinders]]
origin_mm = [ 179.4, 0, 0 ]
tilt_deg = -28.0
[[geometry.cylinders]]
origin_mm = [ -179.4, 0, 0 ]
tilt_deg = 28.0
[[geometry.cylinders]]
origin_mm = [ -59.8, 0, 0 ]
tilt_deg = 28.0
[[geometry.cylinders]]
origin_mm = [ 59.8, 0, 0 ]
tilt_deg = 28.0
[[geometry.cylinders]]
origin_mm = [ 179.4, 0, 0 ]
tilt_deg = 28.0
# intake
[[geometry.pipes]]
index = 0
points_mm = [
[ -419.2, 312.6411, 0 ],
[ -239.2, 312.6411, 0 ]
]
# runners 1
[[geometry.pipes]]
index = 1
points_mm = [
[ -179.4, 290.7697, -44.7722 ],
[ -179.4, 170.7697, -44.7722 ]
]
# runners 2
[[geometry.pipes]]
index = 2
points_mm = [
[ -59.8, 290.7697, -44.7722 ],
[ -59.8, 170.7697, -44.7722 ]
]
# runners 3
[[geometry.pipes]]
index = 3
points_mm = [
[ 59.8, 290.7697, -44.7722 ],
[ 59.8, 170.7697, -44.7722 ]
]
# runners 4
[[geometry.pipes]]
index = 4
points_mm = [
[ 179.4, 290.7697, -44.7722 ],
[ 179.4, 170.7697, -44.7722 ]
]
# runners 5
[[geometry.pipes]]
index = 5
points_mm = [
[ -179.4, 290.7697, 44.7722 ],
[ -179.4, 170.7697, 44.7722 ]
]
# runners 6
[[geometry.pipes]]
index = 6
points_mm = [
[ -59.8, 290.7697, 44.7722 ],
[ -59.8, 170.7697, 44.7722 ]
]
# runners 7
[[geometry.pipes]]
index = 7
points_mm = [
[ 59.8, 290.7697, 44.7722 ],
[ 59.8, 170.7697, 44.7722 ]
]
# runners 8
[[geometry.pipes]]
index = 8
points_mm = [
[ 179.4, 290.7697, 44.7722 ],
[ 179.4, 170.7697, 44.7722 ]
]
# primaries 1
[[geometry.pipes]]
index = 9
points_mm = [
[ -179.4, 127.8412, -125.509 ],
[ -178.0076, 119.9376, -135.7592 ],
[ -174.0725, 112.269, -144.828 ],
[ -167.9579, 104.7529, -152.7871 ],
[ -160.0272, 97.307, -159.7084 ],
[ -150.6434, 89.8488, -165.6635 ],
[ -140.17, 82.2959, -170.7242 ],
[ -128.9701, 74.5658, -174.9623 ],
[ -117.4069, 66.5761, -178.4496 ],
[ -105.8437, 58.2443, -181.2578 ],
[ -94.6438, 49.4881, -183.4588 ],
[ -84.1704, 40.225, -185.1243 ],
[ -74.7866, 30.3725, -186.326 ],
[ -66.8559, 19.8482, -187.1357 ],
[ -60.7413, 8.5696, -187.6252 ],
[ -56.8062, -3.5455, -187.8663 ],
[ -55.4138, -16.5798, -187.9307 ]
]
# primaries 2
[[geometry.pipes]]
index = 10
points_mm = [
[ -59.8, 127.8412, -125.509 ],
[ -59.5988, 121.2536, -133.7587 ],
[ -59.0302, 114.2313, -141.3427 ],
[ -58.1467, 106.7977, -148.2793 ],
[ -57.0008, 98.9764, -154.587 ],
[ -55.6449, 90.7908, -160.2843 ],
[ -54.1316, 82.2644, -165.3894 ],
[ -52.5133, 73.4207, -169.921 ],
[ -50.8425, 64.2831, -173.8973 ],
[ -49.1717, 54.8751, -177.3368 ],
[ -47.5534, 45.2202, -180.258 ],
[ -46.0401, 35.3419, -182.6792 ],
[ -44.6842, 25.2636, -184.6188 ],
[ -43.5383, 15.0088, -186.0954 ],
[ -42.6548, 4.601, -187.1273 ],
[ -42.0862, -5.9364, -187.7329 ],
[ -41.885, -16.5798, -187.9307 ]
]
# primaries 3
[[geometry.pipes]]
index = 11
points_mm = [
[ 59.8, 127.8412, -125.509 ],
[ 61.1924, 119.9376, -135.7592 ],
[ 65.1275, 112.269, -144.828 ],
[ 71.2421, 104.7529, -152.7871 ],
[ 79.1728, 97.307, -159.7084 ],
[ 88.5566, 89.8488, -165.6635 ],
[ 99.03, 82.2959, -170.7242 ],
[ 110.2299, 74.5658, -174.9623 ],
[ 121.7931, 66.5761, -178.4496 ],
[ 133.3563, 58.2443, -181.2578 ],
[ 144.5562, 49.4881, -183.4588 ],
[ 155.0296, 40.225, -185.1243 ],
[ 164.4134, 30.3725, -186.326 ],
[ 172.3441, 19.8482, -187.1357 ],
[ 178.4587, 8.5696, -187.6252 ],
[ 182.3938, -3.5455, -187.8663 ],
[ 183.7862, -16.5798, -187.9307 ]
]
# primaries 4
[[geometry.pipes]]
index = 12
points_mm = [
[ 179.4, 127.8412, -125.509 ],
[ 179.6012, 121.2536, -133.7587 ],
[ 180.1698, 114.2313, -141.3427 ],
[ 181.0533, 106.7977, -148.2793 ],
[ 182.1992, 98.9764, -154.587 ],
[ 183.5551, 90.7908, -160.2843 ],
[ 185.0684, 82.2644, -165.3894 ],
[ 186.6867, 73.4207, -169.921 ],
[ 188.3575, 64.2831, -173.8973 ],
[ 190.0283, 54.8751, -177.3368 ],
[ 191.6466, 45.2202, -180.258 ],
[ 193.1599, 35.3419, -182.6792 ],
[ 194.5158, 25.2636, -184.6188 ],
[ 195.6617, 15.0088, -186.0954 ],
[ 196.5452, 4.601, -187.1273 ],
[ 197.1138, -5.9364, -187.7329 ],
[ 197.315, -16.5798, -187.9307 ]
]
# primaries 5
[[geometry.pipes]]
index = 13
points_mm = [
[ -179.4, 127.8412, 125.509 ],
[ -178.324, 117.6211, 137.7817 ],
[ -175.1941, 106.5763, 148.386 ],
[ -170.1577, 94.9116, 157.4428 ],
[ -163.362, 82.8316, 165.073 ],
[ -154.9545, 70.5413, 171.3976 ],
[ -145.0824, 58.2453, 176.5376 ],
[ -133.893, 46.1485, 180.614 ],
[ -121.5338, 34.4556, 183.7476 ],
[ -108.1519, 23.3715, 186.0596 ],
[ -93.8947, 13.1008, 187.6708 ],
[ -78.9095, 3.8484, 188.7023 ],
[ -63.3436, -4.1809, 189.2749 ],
[ -47.3445, -10.7824, 189.5097 ],
[ -31.0593, -15.7513, 189.5277 ],
[ -14.6354, -18.8828, 189.4497 ],
[ 1.7798, -19.9721, 189.3969 ]
]
# primaries 6
[[geometry.pipes]]
index = 14
points_mm = [
[ -59.8, 127.8412, 125.509 ],
[ -58.724, 117.6211, 137.7817 ],
[ -55.5941, 106.5763, 148.386 ],
[ -50.5577, 94.9116, 157.4428 ],
[ -43.762, 82.8316, 165.073 ],
[ -35.3545, 70.5413, 171.3976 ],
[ -25.4824, 58.2453, 176.5376 ],
[ -14.293, 46.1485, 180.614 ],
[ -1.9338, 34.4556, 183.7476 ],
[ 11.4481, 23.3715, 186.0596 ],
[ 25.7053, 13.1008, 187.6708 ],
[ 40.6905, 3.8484, 188.7023 ],
[ 56.2563, -4.1809, 189.2749 ],
[ 72.2555, -10.7824, 189.5097 ],
[ 88.5407, -15.7513, 189.5277 ],
[ 104.9646, -18.8828, 189.4497 ],
[ 121.3798, -19.9721, 189.3969 ]
]
# primaries 7
[[geometry.pipes]]
index = 15
points_mm = [
[ 59.8, 127.8412, 125.509 ],
[ 59.4056, 121.1641, 133.8948 ],
[ 58.2909, 114.0977, 141.5798 ],
[ 56.5589, 106.6586, 148.586 ],
[ 54.3124, 98.8628, 154.9355 ],
[ 51.6544, 90.7267, 160.6503 ],
[ 48.6876, 82.2665, 165.7524 ],
[ 45.5151, 73.4986, 170.264 ],
[ 42.2397, 64.4391, 174.2071 ],
[ 38.9643, 55.1044, 177.6036 ],
[ 35.7918, 45.5106, 180.4758 ],
[ 32.8251, 35.6741, 182.8455 ],
[ 30.167, 25.6112, 184.735 ],
[ 27.9206, 15.3381, 186.1662 ],
[ 26.1885, 4.871, 187.1611 ],
[ 25.0739, -5.7737, 187.742 ],
[ 24.6794, -16.5798, 187.9307 ]
]
# primaries 8
[[geometry.pipes]]
index = 16
points_mm = [
[ 179.4, 127.8412, 125.509 ],
[ 179.0056, 121.164, 133.8948 ],
[ 177.8909, 114.0977, 141.5798 ],
[ 176.1589, 106.6586, 148.586 ],
[ 173.9124, 98.8628, 154.9355 ],
[ 171.2544, 90.7267, 160.6503 ],
[ 168.2876, 82.2665, 165.7524 ],
[ 165.1151, 73.4986, 170.264 ],
[ 161.8397, 64.4391, 174.2071 ],
[ 158.5643, 55.1044, 177.6036 ],
[ 155.3918, 45.5106, 180.4758 ],
[ 152.4251, 35.6741, 182.8455 ],
[ 149.767, 25.6112, 184.735 ],
[ 147.5205, 15.3381, 186.1662 ],
[ 145.7885, 4.871, 187.1611 ],
[ 144.6739, -5.7737, 187.742 ],
[ 144.2794, -16.5798, 187.9307 ]
]
# secondaries 1
[[geometry.pipes]]
index = 17
points_mm = [
[ -21.1798, -37.1882, -195.8922 ],
[ 1.7283, -37.6445, -195.8922 ],
[ 24.0223, -38.9338, -195.8922 ],
[ 45.7896, -40.9372, -195.8922 ],
[ 67.1182, -43.5357, -195.8922 ],
[ 88.0958, -46.6102, -195.8922 ],
[ 108.8101, -50.0418, -195.8922 ],
[ 129.3489, -53.7114, -195.8922 ],
[ 149.8, -57.5, -195.8922 ],
[ 170.251, -61.2886, -195.8922 ],
[ 190.7898, -64.9582, -195.8922 ],
[ 211.5042, -68.3898, -195.8922 ],
[ 232.4818, -71.4643, -195.8922 ],
[ 253.8104, -74.0628, -195.8922 ],
[ 275.5777, -76.0662, -195.8922 ],
[ 297.8716, -77.3555, -195.8922 ],
[ 320.7798, -77.8118, -195.8922 ]
]
# secondaries 2
[[geometry.pipes]]
index = 18
points_mm = [
[ 218.0202, -40.9377, -195.8922 ],
[ 225.1524, -41.3097, -195.8922 ],
[ 232.0008, -42.361, -195.8922 ],
[ 238.6058, -43.9946, -195.8922 ],
[ 245.008, -46.1134, -195.8922 ],
[ 251.2479, -48.6204, -195.8922 ],
[ 257.3662, -51.4185, -195.8922 ],
[ 263.4034, -54.4107, -195.8922 ],
[ 269.4, -57.5, -195.8922 ],
[ 275.3966, -60.5892, -195.8922 ],
[ 281.4338, -63.5815, -195.8922 ],
[ 287.552, -66.3796, -195.8922 ],
[ 293.792, -68.8866, -195.8922 ],
[ 300.1942, -71.0054, -195.8922 ],
[ 306.7992, -72.6389, -195.8922 ],
[ 313.6476, -73.6903, -195.8922 ],
[ 320.7798, -74.0623, -195.8922 ]
]
# secondaries 3
[[geometry.pipes]]
index = 19
points_mm = [
[ 38.6202, -37.5985, 195.8922 ],
[ 57.5671, -38.0455, 195.8922 ],
[ 75.9893, -39.3087, 195.8922 ],
[ 93.9616, -41.2717, 195.8922 ],
[ 111.5591, -43.8177, 195.8922 ],
[ 128.8567, -46.8301, 195.8922 ],
[ 145.9294, -50.1924, 195.8922 ],
[ 162.8522, -53.7879, 195.8922 ],
[ 179.7, -57.5, 195.8922 ],
[ 196.5478, -61.2121, 195.8922 ],
[ 213.4705, -64.8076, 195.8922 ],
[ 230.5433, -68.1699, 195.8922 ],
[ 247.8409, -71.1823, 195.8922 ],
[ 265.4383, -73.7283, 195.8922 ],
[ 283.4107, -75.6913, 195.8922 ],
[ 301.8329, -76.9545, 195.8922 ],
[ 320.7798, -77.4015, 195.8922 ]
]
# secondaries 4
[[geometry.pipes]]
index = 20
points_mm = [
[ 158.2202, -39.157, 195.8922 ],
[ 169.2733, -39.569, 195.8922 ],
[ 179.9691, -40.7334, 195.8922 ],
[ 190.3587, -42.5426, 195.8922 ],
[ 200.4932, -44.8892, 195.8922 ],
[ 210.4235, -47.6657, 195.8922 ],
[ 220.2007, -50.7647, 195.8922 ],
[ 229.8759, -54.0786, 195.8922 ],
[ 239.5, -57.5, 195.8922 ],
[ 249.1241, -60.9214, 195.8922 ],
[ 258.7993, -64.2353, 195.8922 ],
[ 268.5765, -67.3343, 195.8922 ],
[ 278.5068, -70.1108, 195.8922 ],
[ 288.6412, -72.4574, 195.8922 ],
[ 299.0309, -74.2666, 195.8922 ],
[ 309.7267, -75.431, 195.8922 ],
[ 320.7798, -75.843, 195.8922 ]
]
# bank_collectors 1
[[geometry.pipes]]
index = 21
points_mm = [
[ 357.6201, -80, -203.0101 ],
[ 393.845, -80, -205.237 ],
[ 428.4088, -80, -211.5304 ],
[ 461.549, -80, -221.3095 ],
[ 493.5029, -80, -233.9932 ],
[ 524.5076, -80, -249.0007 ],
[ 554.8005, -80, -265.751 ],
[ 584.6189, -80, -283.6631 ],
[ 614.2, -80, -302.1562 ],
[ 643.781, -80, -320.6493 ],
[ 673.5994, -80, -338.5614 ],
[ 703.8922, -80, -355.3117 ],
[ 734.897, -80, -370.3192 ],
[ 766.8508, -80, -383.0029 ],
[ 799.9911, -80, -392.782 ],
[ 834.5549, -80, -399.0755 ],
[ 870.7797, -80, -401.3024 ]
]
# bank_collectors 2
[[geometry.pipes]]
index = 22
points_mm = [
[ 357.6201, -80, 203.0101 ],
[ 393.845, -80, 205.237 ],
[ 428.4088, -80, 211.5304 ],
[ 461.549, -80, 221.3095 ],
[ 493.5029, -80, 233.9932 ],
[ 524.5076, -80, 249.0007 ],
[ 554.8005, -80, 265.751 ],
[ 584.6189, -80, 283.6631 ],
[ 614.2, -80, 302.1562 ],
[ 643.781, -80, 320.6493 ],
[ 673.5994, -80, 338.5614 ],
[ 703.8922, -80, 355.3117 ],
[ 734.897, -80, 370.3192 ],
[ 766.8508, -80, 383.0029 ],
[ 799.9911, -80, 392.782 ],
[ 834.5549, -80, 399.0755 ],
[ 870.7797, -80, 401.3024 ]
]
# tailpipes 1
[[geometry.pipes]]
index = 23
points_mm = [
[ 907.62, -80, -408.4202 ],
[ 2157.62, -80, -408.4202 ]
]
# tailpipes 2
[[geometry.pipes]]
index = 24
points_mm = [
[ 907.62, -80, 408.4202 ],
[ 2157.62, -80, 408.4202 ]
]
# crossover
[[geometry.pipes]]
index = 25
points_mm = [
[ 889.1999, -80, -390 ],
[ 889.1999, -80, 390 ]
]
[[geometry.volumes]]
id = "intake_plenum"
center_mm = [ 0, 312.6411, 0 ]
size_mm = [ 478.4, 43.7429, 191.1445 ]
[[geometry.volumes]]
id = "junction_0"
center_mm = [ -39.6, -35, -195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_1"
center_mm = [ 199.6, -35, -195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_2"
center_mm = [ 20.2, -35, 195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_3"
center_mm = [ 139.8, -35, 195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_4"
center_mm = [ 339.2, -80, -195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_5"
center_mm = [ 339.2, -80, 195.8922 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_6"
center_mm = [ 889.1999, -80, -408.4202 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]
[[geometry.volumes]]
id = "junction_7"
center_mm = [ 889.1999, -80, 408.4202 ]
size_mm = [ 36.8403, 36.8403, 36.8403 ]