Add American V8 preset, carb fuel transport, and adaptive desktop audio
This commit is contained in:
63
CARB_PROGRESS.md
Normal file
63
CARB_PROGRESS.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Carburetor work in progress
|
||||
|
||||
Resumed on 2026-10-23 to fix throttle-release crashes and remove scheduled pops.
|
||||
All changes are uncommitted. The historical results below predate that revision.
|
||||
|
||||
Current revision: bounded slide aperture to avoid negative roundoff near its
|
||||
seat; removed the hardcoded firing intervals and forced late spark. Exhaust
|
||||
combustion was subsequently removed at the user's request due to lag and limited
|
||||
audible benefit. Fuel remains transported through pipes without reacting.
|
||||
Cylinder combustion consumes air in proportion to burned fuel.
|
||||
Warm-running startup now seeds fuel in the intake, crankcase and cylinder.
|
||||
Pilot effective diameter is .40 mm with .08 base/.3 maximum idle slide opening.
|
||||
The revised transient passes: peak 12954 RPM, idle 2583 RPM, peak audio .0985.
|
||||
|
||||
## Implemented
|
||||
|
||||
- Added `Carburetor`, with effective pilot, needle and main jet restrictions.
|
||||
- Jet flow uses simulated air mass flow, air density, venturi dynamic pressure,
|
||||
static pressure drop, fuel density, discharge coefficients and float-bowl
|
||||
supply. It is not a cylinder-side target-AFR calculation.
|
||||
- Added wall-film deposition and evaporation during throttle transients.
|
||||
- Added fuel as a conserved transported species to pipe cells, boundaries,
|
||||
0-D volumes, crankcase, cylinder and turbo internal transfers.
|
||||
- Carb fuel enters the intake plenum, then moves through the reed, crankcase,
|
||||
transfer pipe and cylinder with the simulated gas flow.
|
||||
- Cylinder heat release is limited by transported fuel, trapped oxygen and a
|
||||
basic 7:1--24:1 flammability window. Rich excess remains unburned.
|
||||
- Disabled electronic overrun fuel cut for the two-stroke. A deterministic
|
||||
sparse late-fire cadence overlaps exhaust-port opening to make separated
|
||||
coast-down bangs through the pressure/audio solver; no sound sample is mixed.
|
||||
- Added fuel conservation and downstream transport tests, carb bounds/cadence
|
||||
checks, transient firing-count checks, benchmark AFR columns and desktop carb
|
||||
labeling.
|
||||
|
||||
## Last verified state
|
||||
|
||||
- Before the final throttle-slide geometry change, the entire 10-test CTest
|
||||
suite passed.
|
||||
- That transient reached about 15,954 RPM, recovered to about 3,151 RPM, and
|
||||
produced 11 late firings in the first second after release with no clipping
|
||||
or pipe positivity repairs.
|
||||
- After replacing the old butterfly-area formula with a circular-segment slide
|
||||
aperture and reducing the idle slide calibration, the project and desktop
|
||||
rebuilt successfully and `fluidsim_two_stroke_physics` passed.
|
||||
|
||||
## Current task / next step
|
||||
|
||||
The `fluidsim_two_stroke_regression` run after the slide-area change was stopped
|
||||
mid-run when work was paused. Run it first, then run full CTest. If idle recovery,
|
||||
mixture, or overrun firing count moved, tune `idle_base_opening`,
|
||||
`idle_max_opening`, and the effective jet dimensions in `Carburetor.hpp`.
|
||||
Re-run `fluidsim_two_stroke_benchmark` afterward and update the YZ125 verification
|
||||
numbers if the slide geometry changed them.
|
||||
|
||||
The most relevant files are:
|
||||
|
||||
- `include/FluidSim/Carburetor.hpp`
|
||||
- `src/carburetor.cpp`
|
||||
- `src/two_stroke_scenario.cpp`
|
||||
- `src/two_stroke_cylinder.cpp`
|
||||
- `include/FluidSim/Fluid.hpp`
|
||||
- `tests/two_stroke_physics.cpp`
|
||||
- `tests/two_stroke_regression.cpp`
|
||||
Reference in New Issue
Block a user