aboutsummaryrefslogtreecommitdiffstats
path: root/ui.c
diff options
context:
space:
mode:
authorSam Anthony <sam@samanthony.xyz>2025-03-02 11:46:38 -0500
committerSam Anthony <sam@samanthony.xyz>2025-03-02 11:46:38 -0500
commit2d0f7661dd4bb3927c93a6f9cbcf4fd93d2daf23 (patch)
tree33031afd0552131e70cafd1aaed1dc3774b5c7ab /ui.c
parentcb8a07bdbcefd18752b66ddca2903606daab639b (diff)
downloadvolute-2d0f7661dd4bb3927c93a6f9cbcf4fd93d2daf23.zip
add manifold temperature output
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/ui.c b/ui.c
index 87e118d..cf97462 100644
--- a/ui.c
+++ b/ui.c
@@ -62,9 +62,11 @@ static void init_intercooler_efficiency(UI *ui);
static void init_intercooler_deltap(UI *ui);
static void init_pressure_ratio(UI *ui);
static void init_comp_outlet_temperature(UI *ui);
+static void init_manifold_temperature(UI *ui);
static void init_volume_flow_rate(UI *ui);
static void compute_pressure_ratio(UI *ui, int idx);
static void compute_comp_outlet_temperature(UI *ui, int idx);
+static void compute_manifold_temperature(UI *ui, int idx);
static void compute_volume_flow_rate(UI *ui, int idx);
@@ -86,6 +88,7 @@ init_ui(UI *ui) {
init_pressure_ratio(ui);
init_comp_outlet_temperature(ui);
+ init_manifold_temperature(ui);
init_volume_flow_rate(ui);
compute(ui, 0);
@@ -205,6 +208,12 @@ init_comp_outlet_temperature(UI *ui) {
}
static void
+init_manifold_temperature(UI *ui) {
+ w_init_number(ui->manifold_temperature[0]);
+ w_init_select(&ui->manifold_temperature_unit, nelem(temperature_units), temperature_units);
+}
+
+static void
init_volume_flow_rate(UI *ui) {
w_init_select(&ui->volume_flow_rate_unit, nelem(volume_flow_rate_units), volume_flow_rate_units);
w_init_number(ui->volume_flow_rate[0]);
@@ -379,6 +388,7 @@ void
compute(UI *ui, int idx) {
compute_pressure_ratio(ui, idx);
compute_comp_outlet_temperature(ui, idx);
+ compute_manifold_temperature(ui, idx);
compute_volume_flow_rate(ui, idx);
}
@@ -414,6 +424,20 @@ compute_comp_outlet_temperature(UI *ui, int idx) {
}
static void
+compute_manifold_temperature(UI *ui, int idx) {
+ int unit_idx;
+ TemperatureReader convert;
+ double v;
+
+ unit_idx = ui->manifold_temperature_unit.idx;
+ assert(unit_idx >= 0 && (long unsigned int) unit_idx < nelem(temperature_units));
+
+ convert = temperature_readers[unit_idx];
+ v = convert(manifold_temperature(&ui->points[idx]));
+ w_set_number(ui->manifold_temperature[idx], v);
+}
+
+static void
compute_volume_flow_rate(UI *ui, int idx) {
int unit_idx;
VolumeFlowRateReader convert;