Load engines from TOML and improve scenario audio and carb tuning
Migrate 32 engine definitions into validated startup-loaded TOML files and separate configuration and snapshots from scenario assembly. Add camera-based stereo propagation from shared pipe geometry, preserve exhaust character, tune carburetor mixtures and idle, use ignition cuts for carb engines, and support returning to the scenario menu. Validation: full Windows build and all 14 CTest checks passed.
This commit is contained in:
213
engines/v12.toml
Normal file
213
engines/v12.toml
Normal file
@@ -0,0 +1,213 @@
|
||||
# Engine definition. Dimensional keys state their units.
|
||||
schema_version = 1
|
||||
id = "v12"
|
||||
name = "250-inspired / 3.0 V12"
|
||||
category = "V12"
|
||||
description = "Separate six-cylinder banks / junction collectors / dual outlets"
|
||||
order = 31
|
||||
cycle = "four_stroke"
|
||||
|
||||
[engine]
|
||||
bank_angle_deg = 60.0
|
||||
collector_volume_litres = 3.0
|
||||
cylinders = 12
|
||||
initial_rpm = 1400.0
|
||||
initialize_phased_charge = true
|
||||
layout = "v"
|
||||
maximum_load_torque_nm = 30.0
|
||||
minimum_substeps = 1
|
||||
phase_degrees = [0.0, 600.0, 480.0, 360.0, 240.0, 120.0, 660.0, 540.0, 420.0, 300.0, 180.0, 59.99998]
|
||||
pipe_damping = 0.0
|
||||
plenum_volume_litres = 12.0
|
||||
starter_torque_nm = 73.83022
|
||||
throttle_diameter_mm = 65.0
|
||||
topology = "staged"
|
||||
|
||||
[cylinder]
|
||||
afr = 14.7
|
||||
ambient_temperature_k = 300.0
|
||||
bore_mm = 73.0
|
||||
burn_duration_deg = 60.0
|
||||
burn_start_deg = 5.0
|
||||
compression = 10.0
|
||||
energy_variation = 0.05
|
||||
exhaust_close_deg = 390.0
|
||||
exhaust_open_deg = 130.0
|
||||
exhaust_valve_count = 1
|
||||
exhaust_valve_diameter_mm = 23.36
|
||||
exhaust_valve_lift_mm = 6.57
|
||||
fuel_lhv_j_per_kg = 4.4e+07
|
||||
heat_transfer = 100.0
|
||||
intake_close_deg = 590.0
|
||||
intake_open_deg = 340.0
|
||||
intake_valve_count = 1
|
||||
intake_valve_diameter_mm = 27.74
|
||||
intake_valve_lift_mm = 7.3
|
||||
misfire_probability = 0.0
|
||||
rod_mm = 110.0
|
||||
stroke_mm = 58.8
|
||||
wall_area = 0.02
|
||||
wiebe_a = 5.0
|
||||
wiebe_m = 2.0
|
||||
|
||||
[crankshaft]
|
||||
friction_constant_nm = 11.81283
|
||||
friction_quadratic_nm_s2 = 0.0
|
||||
friction_viscous_nm_s = 0.01181284
|
||||
inertia_kg_m2 = 0.354385
|
||||
|
||||
[ecu]
|
||||
idle_base_opening = 0.05
|
||||
idle_control = "feedback"
|
||||
idle_ki = 4e-05
|
||||
idle_kp = 0.0001
|
||||
idle_max_opening = 0.25
|
||||
idle_minimum_advance_deg = -5.0
|
||||
idle_rpm = 1000.0
|
||||
idle_spark_gain = 0.02
|
||||
ignition_map = [[0.0, 10.0], [15000.0, 40.0]]
|
||||
overrun_cut_rpm = 3500.0
|
||||
overrun_fuel_cut_enabled = true
|
||||
overrun_ignition_cut_enabled = false
|
||||
overrun_resume_rpm = 2400.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 = 649.7059
|
||||
clutch_engagement_rate = 8.0
|
||||
drag_coefficient = 0.7
|
||||
final_drive_ratio = 2.7
|
||||
frontal_area = 0.65
|
||||
gear_ratios = [4.1, 2.7, 2.0, 1.55, 1.25, 0.98]
|
||||
gravity = 9.80665
|
||||
mass_kg = 1400.0
|
||||
primary_reduction = 1.8
|
||||
rolling_resistance = 0.015
|
||||
rotational_inertia_kg_m2 = 1.2
|
||||
wheel_radius_mm = 320.0
|
||||
|
||||
[fuel]
|
||||
system = "injection"
|
||||
|
||||
[junctions]
|
||||
h_pipe = true
|
||||
junction_volume_cc = 50.0
|
||||
|
||||
[[pipes]]
|
||||
id = "intake"
|
||||
cells = 4
|
||||
diameter_mm = 75.0
|
||||
length_mm = 200.0
|
||||
|
||||
[[pipes]]
|
||||
id = "runners"
|
||||
count = 12
|
||||
cells = 5
|
||||
diameter_mm = 35.0
|
||||
length_mm = 250.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_1"
|
||||
cells = 11
|
||||
diameter_mm = 38.0
|
||||
length_mm = 520.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_2"
|
||||
cells = 12
|
||||
diameter_mm = 38.0
|
||||
length_mm = 585.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_3"
|
||||
cells = 13
|
||||
diameter_mm = 38.0
|
||||
length_mm = 650.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_4"
|
||||
cells = 11
|
||||
diameter_mm = 38.0
|
||||
length_mm = 520.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_5"
|
||||
cells = 12
|
||||
diameter_mm = 38.0
|
||||
length_mm = 585.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_6"
|
||||
cells = 13
|
||||
diameter_mm = 38.0
|
||||
length_mm = 650.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_7"
|
||||
cells = 11
|
||||
diameter_mm = 38.0
|
||||
length_mm = 520.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_8"
|
||||
cells = 12
|
||||
diameter_mm = 38.0
|
||||
length_mm = 585.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_9"
|
||||
cells = 13
|
||||
diameter_mm = 38.0
|
||||
length_mm = 650.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_10"
|
||||
cells = 11
|
||||
diameter_mm = 38.0
|
||||
length_mm = 520.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_11"
|
||||
cells = 12
|
||||
diameter_mm = 38.0
|
||||
length_mm = 585.0
|
||||
|
||||
[[pipes]]
|
||||
id = "primary_12"
|
||||
cells = 13
|
||||
diameter_mm = 38.0
|
||||
length_mm = 650.0
|
||||
|
||||
[[pipes]]
|
||||
id = "tailpipe_25"
|
||||
cells = 30
|
||||
diameter_mm = 60.0
|
||||
length_mm = 1500.0
|
||||
|
||||
[[pipes]]
|
||||
id = "tailpipe_26"
|
||||
cells = 28
|
||||
diameter_mm = 60.0
|
||||
length_mm = 1380.0
|
||||
|
||||
[[pipes]]
|
||||
id = "secondary_27"
|
||||
cells = 9
|
||||
diameter_mm = 48.0
|
||||
length_mm = 420.0
|
||||
|
||||
[[pipes]]
|
||||
id = "secondary_28"
|
||||
cells = 11
|
||||
diameter_mm = 48.0
|
||||
length_mm = 540.0
|
||||
Reference in New Issue
Block a user