diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-04-09 20:06:06 -0400 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-04-09 20:06:06 -0400 |
| commit | e515fe68d878a320e7548080d31b07eee0d791af (patch) | |
| tree | e8b6d10055632d87c1bd5ce48397b4eeaf82ebba /compressor.c | |
| parent | 9ac96f1c5f795f80b1a01ebe3dc6b036cf2a7e07 (diff) | |
| download | volute-e515fe68d878a320e7548080d31b07eee0d791af.zip | |
compressor data structure
Diffstat (limited to 'compressor.c')
| -rw-r--r-- | compressor.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/compressor.c b/compressor.c new file mode 100644 index 0000000..05aa9fc --- /dev/null +++ b/compressor.c @@ -0,0 +1,34 @@ +#include <errno.h> +#include <limits.h> +#include <stdlib.h> +#include <strings.h> + +#include <dirent.h> + +#include "unit.h" + + +static const char ROOT[] = "compressor_maps/"; + + +typedef struct { + int x, y; +} Point; + +typedef enum { MASS_FLOW, VOLUME_FLOW } FlowType; + +typedef union { + MassFlowRate mfr; + VolumeFlowRate vfr; +} Flow; + +typedef struct { + char brand[NAME_MAX+1]; /* e.g. Borgwarner. */ + char series[NAME_MAX+1]; /* e.g. Airwerks. */ + char model[NAME_MAX+1]; /* e.g. S200SX-E. */ + char imgfile[NAME_MAX+1]; /* name of file containing image of the compressor map. */ + Point origin, refpt; /* pixel coords of origin and reference point. */ + double originpr, refpr; /* pressure ratio at origin and reference point. */ + Flow originflow, refflow; /* flow at origin and reference point. */ + FlowType flowtype; /* mass-flow or volume-flow (x-axis). */ +} Compressor; |