#include #include "unit.h" #include "engine.h" /* A four-stroke piston engine takes two revolutions per cycle. */ #define REV_PER_CYCLE 2.0 void init_engine(Engine *e) { memset(e, 0, sizeof(*e)); } /* Pressure ratio across the compressor. */ double pressure_ratio(const Engine *e) { Pressure p1, p2; p1 = e->ambient_pressure; p2 = comp_outlet_pressure(e); return p2 / p1; } Pressure comp_outlet_pressure(const Engine *e) { return e->map + e->intercooler_deltap; } VolumeFlowRate volume_flow_rate(const Engine *e) { double n = as_rpm(e->rpm); double d = as_cubic_metre(e->displacement); double ve = e->ve; return cubic_metre_per_min(n * d * ve / REV_PER_CYCLE); }