diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-03-02 11:46:38 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-03-02 11:46:38 -0500 |
| commit | 2d0f7661dd4bb3927c93a6f9cbcf4fd93d2daf23 (patch) | |
| tree | 33031afd0552131e70cafd1aaed1dc3774b5c7ab /ui.c | |
| parent | cb8a07bdbcefd18752b66ddca2903606daab639b (diff) | |
| download | volute-2d0f7661dd4bb3927c93a6f9cbcf4fd93d2daf23.zip | |
add manifold temperature output
Diffstat (limited to 'ui.c')
| -rw-r--r-- | ui.c | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -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; |