diff options
| -rw-r--r-- | engine.c | 13 | ||||
| -rw-r--r-- | engine.h | 1 |
2 files changed, 14 insertions, 0 deletions
@@ -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); +} @@ -6,3 +6,4 @@ typedef struct { } Engine; void init_engine(Engine *e); +VolumeFlowRate volume_flow_rate(const Engine *e); |