# 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 ]