@@ -23,11 +23,11 @@ private node i_distributor {
2323 alias output __out:
2424 ignition_module(timing_curve: timing_curve, rev_limit: rev_limit, limiter_duration: limiter_duration)
2525 .connect_wire(wires.wire1, (0.0 / 6.0) * cycle)
26- .connect_wire(wires.wire2, (1.0 / 6.0) * cycle)
27- .connect_wire(wires.wire3, (2.0 / 6.0) * cycle)
28- .connect_wire(wires.wire4, (3.0 / 6.0) * cycle)
29- .connect_wire(wires.wire5, (4.0 / 6.0) * cycle)
30- .connect_wire(wires.wire6, (5.0 / 6.0) * cycle);
26+ .connect_wire(wires.wire2, (0.75 / 6.0) * cycle)
27+ .connect_wire(wires.wire3, (1.75 / 6.0) * cycle)
28+ .connect_wire(wires.wire4, (2.75 / 6.0) * cycle)
29+ .connect_wire(wires.wire5, (3.75 / 6.0) * cycle)
30+ .connect_wire(wires.wire6, (4.75 / 6.0) * cycle);
3131}
3232
3333public node i_camshaft_builder {
@@ -134,11 +134,11 @@ public node kohler_ch750 {
134134 engine engine(
135135 name: "Modded Kohler CH750",
136136 starter_torque: 150 * units.lb_ft,
137- starter_speed: 200 * units.rpm,
138- redline: 8400 * units.rpm,
137+ starter_speed: 6200 * units.rpm,
138+ redline: 18400 * units.rpm,
139139 fuel: fuel(
140- molecular_mass: 200 * units.g,
141- energy_density: 45 .5 * units.kJ / units.g,
140+ molecular_mass: 25200 * units.g,
141+ energy_density: 25 .5 * units.kJ / units.g,
142142 density: 0.85 * units.kg / units.L,
143143 molecular_afr: 29.0 / 2.0
144144 )
@@ -148,7 +148,7 @@ public node kohler_ch750 {
148148 wires wires()
149149
150150 crankshaft c0(
151- throw: 70 * units.mm / 2,
151+ throw: 76 * units.mm / 2,
152152 flywheel_mass: 2.0 * units.lb,
153153 mass: 1.5 * units.lb,
154154 friction_torque: 8.0 * units.lb_ft,
@@ -184,20 +184,20 @@ public node kohler_ch750 {
184184 mass: 150.0 * units.g,
185185 moment_of_inertia: 0.0015884918028487504,
186186 center_of_mass: 0.0,
187- length: 4.0 * units.inch
187+ length: 4.5 * units.inch
188188 )
189189
190190 cylinder_bank_parameters bank_params(
191191 bore: 70 * units.mm,
192- deck_height: (4 + 1) * units.inch + 69 * units.mm / 2
192+ deck_height: (4.5 + 1) * units.inch + 69 * units.mm / 2
193193 )
194194
195195 intake intake(
196196 plenum_volume: 1.0 * units.L,
197197 plenum_cross_section_area: 10.0 * units.cm2,
198198 intake_flow_rate: k_carb(200.0),
199199 idle_flow_rate: k_carb(0.0),
200- idle_throttle_plate_position: 0.995 ,
200+ idle_throttle_plate_position: 0.9955 ,
201201 throttle_gamma: 1.0
202202 )
203203
@@ -212,12 +212,12 @@ public node kohler_ch750 {
212212 exhaust_system exhaust0(
213213 es_params,
214214 audio_volume: 0.85,
215- impulse_response: ir_lib.real_engine_1
215+ impulse_response: ir_lib.default_0
216216 )
217217 exhaust_system exhaust1(
218218 es_params,
219219 audio_volume: 0.7,
220- impulse_response: ir_lib.real_engine_1
220+ impulse_response: ir_lib.default_0
221221 )
222222
223223 cylinder_bank b0(bank_params, angle: 0 * units.deg)
@@ -277,9 +277,9 @@ public node kohler_ch750 {
277277 engine.add_crankshaft(c0)
278278
279279 harmonic_cam_lobe lobe(
280- duration_at_50_thou: 150 * units.deg,
281- gamma: 1.1 ,
282- lift: 200 * units.thou,
280+ duration_at_50_thou: 140 * units.deg,
281+ gamma: 1.0 ,
282+ lift: 400 * units.thou,
283283 steps: 100
284284 )
285285
@@ -299,21 +299,54 @@ public node kohler_ch750 {
299299
300300 function timing_curve(1000 * units.rpm)
301301 timing_curve
302- .add_sample(0000 * units.rpm, 60 * units.deg)
303- .add_sample(1000 * units.rpm, 60 * units.deg)
304- .add_sample(2000 * units.rpm, 60 * units.deg)
305- .add_sample(3000 * units.rpm, 60 * units.deg)
306- .add_sample(4000 * units.rpm, 60 * units.deg)
307- .add_sample(5000 * units.rpm, 65 * units.deg)
308- .add_sample(6000 * units.rpm, 70 * units.deg)
309- .add_sample(7000 * units.rpm, 75 * units.deg)
310- .add_sample(8000 * units.rpm, 80 * units.deg)
311- .add_sample(9000 * units.rpm, 80 * units.deg)
302+ .add_sample(0000 * units.rpm, 30 * units.deg)
303+ .add_sample(1000 * units.rpm, 30 * units.deg)
304+ .add_sample(2000 * units.rpm, 30 * units.deg)
305+ .add_sample(3000 * units.rpm, 30 * units.deg)
306+ .add_sample(4000 * units.rpm, 30 * units.deg)
307+ .add_sample(5000 * units.rpm, 35 * units.deg)
308+ .add_sample(6000 * units.rpm, 40 * units.deg)
309+ .add_sample(7000 * units.rpm, 45 * units.deg)
310+ .add_sample(8000 * units.rpm, 50 * units.deg)
311+ .add_sample(9000 * units.rpm, 50 * units.deg)
312312
313313 engine.add_ignition_module(
314314 i_distributor(
315315 wires: wires,
316316 timing_curve: timing_curve,
317- rev_limit: 9000 * units.rpm
317+ rev_limit: 19000 * units.rpm
318318 ))
319319}
320+
321+ public node k_transmission {
322+ alias output __out:
323+ transmission(
324+ max_clutch_torque: 4000000 * units.lb_ft
325+ )
326+ .add_gear(2.636)
327+ .add_gear(2.536)
328+ .add_gear(2.436)
329+ .add_gear(2.336)
330+ .add_gear(2.236)
331+ .add_gear(2.136)
332+ .add_gear(2.036)
333+ .add_gear(1.936)
334+ .add_gear(1.836)
335+ .add_gear(1.736)
336+ .add_gear(1.636)
337+ .add_gear(1.536)
338+ .add_gear(1.436)
339+ .add_gear(1.336)
340+ .add_gear(1.236)
341+ .add_gear(1.136)
342+ .add_gear(1.036)
343+ .add_gear(0.936)
344+ .add_gear(0.836)
345+ .add_gear(0.736)
346+ .add_gear(0.636)
347+ .add_gear(0.536)
348+ .add_gear(0.436)
349+ .add_gear(0.336)
350+ .add_gear(0.236);
351+
352+ }
0 commit comments