From ac9ed5d8a5af3cad2f8c70f0bc217ccf97198e5c Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Fri, 28 Feb 2025 18:25:43 -0500 Subject: engine volume flow rate --- engine.c | 13 +++++++++++++ engine.h | 1 + 2 files changed, 14 insertions(+) diff --git a/engine.c b/engine.c index a7fbf11..1817180 100644 --- a/engine.c +++ b/engine.c @@ -3,7 +3,20 @@ #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)); } + +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); +} diff --git a/engine.h b/engine.h index 3ec3dcf..eaa7dc6 100644 --- a/engine.h +++ b/engine.h @@ -6,3 +6,4 @@ typedef struct { } Engine; void init_engine(Engine *e); +VolumeFlowRate volume_flow_rate(const Engine *e); -- cgit v1.2.3