aboutsummaryrefslogtreecommitdiffstats
path: root/engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'engine.c')
-rw-r--r--engine.c13
1 files changed, 13 insertions, 0 deletions
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);
+}