Files
FluidSimCpp/engines/ej20.toml

374 lines
7.8 KiB
TOML

# Engine definition. Dimensional keys state their units.
schema_version = 2
id = "ej20"
name = "EJ20-inspired / 2.0 flat four NA"
category = "Boxer / flat four"
description = "Estimated concept calibration / EFI"
order = 27
cycle = "four_stroke"
[simulation]
cells_per_meter = 20.0
[engine]
bank_angle_deg = 180.0
cylinders = 4
initial_rpm = 1400.0
initialize_phased_charge = true
layout = "boxer"
maximum_load_torque_nm = 30.0
minimum_substeps = 1
phase_degrees = [0.0, 540.0, 360.0, 180.0]
pipe_damping = 1.0
starter_torque_nm = 49.85708
throttle_diameter_mm = 65.0
topology = "collector"
[cylinder]
afr = 14.7
ambient_temperature_k = 300.0
bore_mm = 92.0
burn_duration_deg = 60.0
burn_start_deg = 5.0
compression = 10.0
energy_variation = 0.05
exhaust_valve_count = 1
exhaust_valve_diameter_mm = 29.44
fuel_lhv_j_per_kg = 4.4e+07
heat_transfer = 100.0
intake_valve_count = 1
intake_valve_diameter_mm = 34.96
misfire_probability = 0.0
rod_mm = 135.0
stroke_mm = 75.0
wall_area = 0.02
wiebe_a = 5.0
wiebe_m = 2.0
[crankshaft]
friction_constant_nm = 7.977133
friction_quadratic_nm_s2 = 0.0
friction_viscous_nm_s = 0.007977134
inertia_kg_m2 = 0.239314
[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 = 438.7423
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"
[[pipes]]
id = "intake"
diameter_mm = 75.0
[[pipes]]
id = "runners"
count = 4
diameter_mm = 35.0
[[pipes]]
id = "primaries"
count = 4
diameter_mm = 38.0
[[pipes]]
id = "tailpipe"
diameter_mm = 60.0
[cam.intake]
points = [
[0.000, 0.000000],
[340.000, 0.000000],
[345.000, 0.167219],
[350.000, 0.631194],
[355.000, 1.335398],
[360.000, 2.223309],
[365.000, 3.238400],
[370.000, 4.324147],
[375.000, 5.424026],
[380.000, 6.481510],
[385.000, 7.440077],
[390.000, 8.243200],
[395.000, 8.834355],
[400.000, 9.157018],
[402.500, 9.200000],
[527.500, 9.200000],
[532.500, 9.032781],
[537.500, 8.568806],
[542.500, 7.864602],
[547.500, 6.976691],
[552.500, 5.961600],
[557.500, 4.875853],
[562.500, 3.775974],
[567.500, 2.718490],
[572.500, 1.759923],
[577.500, 0.956800],
[582.500, 0.365645],
[587.500, 0.042982],
[590.000, 0.000000],
[720.000, 0.000000]
]
[cam.exhaust]
points = [
[0.000, 0.000000],
[130.000, 0.000000],
[135.000, 0.139445],
[140.000, 0.527629],
[145.000, 1.119326],
[150.000, 1.869313],
[155.000, 2.732363],
[160.000, 3.663250],
[165.000, 4.616751],
[170.000, 5.547638],
[175.000, 6.410688],
[180.000, 7.160675],
[185.000, 7.752372],
[190.000, 8.140556],
[195.000, 8.280001],
[325.000, 8.280001],
[330.000, 8.140556],
[335.000, 7.752372],
[340.000, 7.160675],
[345.000, 6.410688],
[350.000, 5.547638],
[355.000, 4.616751],
[360.000, 3.663250],
[365.000, 2.732363],
[370.000, 1.869313],
[375.000, 1.119326],
[380.000, 0.527629],
[385.000, 0.139445],
[390.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 = [ -55, 0, 0 ]
tilt_deg = -90.0
[[geometry.cylinders]]
origin_mm = [ 55, 0, 0 ]
tilt_deg = -90.0
[[geometry.cylinders]]
origin_mm = [ -55, 0, 0 ]
tilt_deg = 90.0
[[geometry.cylinders]]
origin_mm = [ 55, 0, 0 ]
tilt_deg = 90.0
# intake
[[geometry.pipes]]
index = 0
points_mm = [
[ -310, 307.5713, 0 ],
[ -110, 307.5713, 0 ]
]
# runners 1
[[geometry.pipes]]
index = 1
points_mm = [
[ -55, 286.8, -172.8334 ],
[ -55, 36.8, -172.8334 ]
]
# runners 2
[[geometry.pipes]]
index = 2
points_mm = [
[ 55, 286.8, -172.8334 ],
[ 55, 36.8, -172.8334 ]
]
# runners 3
[[geometry.pipes]]
index = 3
points_mm = [
[ -55, 286.8, 172.8334 ],
[ -55, 36.8, 172.8334 ]
]
# runners 4
[[geometry.pipes]]
index = 4
points_mm = [
[ 55, 286.8, 172.8334 ],
[ 55, 36.8, 172.8334 ]
]
# primaries 1
[[geometry.pipes]]
index = 5
points_mm = [
[ -55, -46, -172.8334 ],
[ -53.4569, -70.3798, -166.4422 ],
[ -49.0959, -88.6617, -155.8208 ],
[ -42.3196, -101.4701, -141.3612 ],
[ -33.5305, -109.4294, -123.455 ],
[ -23.1312, -113.164, -102.4941 ],
[ -11.5242, -113.2982, -78.8702 ],
[ 0.8879, -110.4563, -52.9752 ],
[ 13.7025, -105.2628, -25.2009 ],
[ 26.5171, -98.342, 4.0609 ],
[ 38.9292, -90.3182, 34.4185 ],
[ 50.5362, -81.8159, 65.48 ],
[ 60.9355, -73.4593, 96.8536 ],
[ 69.7246, -65.873, 128.1476 ],
[ 76.5009, -59.6811, 158.97 ],
[ 80.8619, -55.5081, 188.9292 ],
[ 82.405, -53.9784, 217.6334 ]
]
# primaries 2
[[geometry.pipes]]
index = 6
points_mm = [
[ 55, -46, -172.8334 ],
[ 55.448, -69.1222, -166.546 ],
[ 56.7141, -86.4707, -155.833 ],
[ 58.6814, -98.6364, -141.125 ],
[ 61.2331, -106.2101, -122.8528 ],
[ 64.2522, -109.7826, -101.4471 ],
[ 67.622, -109.9447, -77.3387 ],
[ 71.2255, -107.2873, -50.9582 ],
[ 74.9459, -102.4012, -22.7365 ],
[ 78.6663, -95.8772, 6.8957 ],
[ 82.2698, -88.3061, 37.5077 ],
[ 85.6395, -80.2789, 68.6687 ],
[ 88.6587, -72.3862, 99.948 ],
[ 91.2104, -65.219, 130.9149 ],
[ 93.1777, -59.3681, 161.1385 ],
[ 94.4438, -55.4243, 190.1883 ],
[ 94.8918, -53.9784, 217.6334 ]
]
# primaries 3
[[geometry.pipes]]
index = 7
points_mm = [
[ -55, -46, 172.8334 ],
[ -54.3082, -53.2985, 172.4701 ],
[ -52.3079, -58.8583, 173.7033 ],
[ -49.1117, -62.8543, 176.3161 ],
[ -44.8324, -65.4615, 180.0913 ],
[ -39.5825, -66.8548, 184.8119 ],
[ -33.4748, -67.2092, 190.2608 ],
[ -26.6219, -66.6995, 196.2209 ],
[ -19.1364, -65.5008, 202.4752 ],
[ -11.1311, -63.7879, 208.8066 ],
[ -2.7185, -61.7358, 214.9981 ],
[ 5.9887, -59.5194, 220.8326 ],
[ 14.8778, -57.3138, 226.093 ],
[ 23.8361, -55.2938, 230.5623 ],
[ 32.751, -53.6343, 234.0234 ],
[ 41.5099, -52.5103, 236.2592 ],
[ 50, -52.0968, 237.0527 ]
]
# primaries 4
[[geometry.pipes]]
index = 8
points_mm = [
[ 55, -46, 172.8334 ],
[ 55.2388, -48.968, 172.7016 ],
[ 55.9138, -51.2704, 173.2603 ],
[ 56.9625, -52.9727, 174.4452 ],
[ 58.3228, -54.1402, 176.1922 ],
[ 59.9323, -54.8385, 178.4371 ],
[ 61.7286, -55.1329, 181.1157 ],
[ 63.6496, -55.0888, 184.1638 ],
[ 65.6329, -54.7716, 187.5172 ],
[ 67.6162, -54.2468, 191.1118 ],
[ 69.5372, -53.5797, 194.8832 ],
[ 71.3336, -52.8358, 198.7675 ],
[ 72.943, -52.0805, 202.7003 ],
[ 74.3033, -51.3792, 206.6174 ],
[ 75.3521, -50.7972, 210.4548 ],
[ 76.027, -50.4001, 214.1482 ],
[ 76.2658, -50.2532, 217.6334 ]
]
# tailpipe
[[geometry.pipes]]
index = 9
points_mm = [
[ 150, -55, 267.6333 ],
[ 1649.9999, -55, 267.6333 ]
]
[[geometry.volumes]]
id = "intake_plenum"
center_mm = [ 0, 307.5713, 0 ]
size_mm = [ 220, 41.5426, 437.6667 ]
[[geometry.volumes]]
id = "exhaust_collector"
center_mm = [ 100, -55, 267.6333 ]
size_mm = [ 100, 100, 100 ]