diff options
| author | Sam Anthony <sam@samanthony.xyz> | 2025-03-01 20:30:23 -0500 |
|---|---|---|
| committer | Sam Anthony <sam@samanthony.xyz> | 2025-03-01 20:30:23 -0500 |
| commit | f03653774e4529404546f474064c5bf679fa7176 (patch) | |
| tree | b881365d1b43d9a16fae1530bef98acab52d55bb /ui.c | |
| parent | f7970f9b769369220ed3c607a27081b8ea93e409 (diff) | |
| download | volute-f03653774e4529404546f474064c5bf679fa7176.zip | |
add compressor outlet temperature output
Diffstat (limited to 'ui.c')
| -rw-r--r-- | ui.c | 28 |
1 files changed, 27 insertions, 1 deletions
@@ -61,8 +61,10 @@ static void init_comp_efficiency(UI *ui); 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_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_volume_flow_rate(UI *ui, int idx); @@ -83,6 +85,7 @@ init_ui(UI *ui) { init_intercooler_deltap(ui); init_pressure_ratio(ui); + init_comp_outlet_temperature(ui); init_volume_flow_rate(ui); compute(ui, 0); @@ -196,6 +199,12 @@ init_pressure_ratio(UI *ui) { } static void +init_comp_outlet_temperature(UI *ui) { + w_init_number(ui->comp_outlet_temperature[0]); + w_init_select(&ui->comp_outlet_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]); @@ -369,6 +378,7 @@ set_intercooler_deltap_unit(UI *ui) { void compute(UI *ui, int idx) { compute_pressure_ratio(ui, idx); + compute_comp_outlet_temperature(ui, idx); compute_volume_flow_rate(ui, idx); } @@ -390,10 +400,24 @@ compute_pressure_ratio(UI *ui, int idx) { } static void +compute_comp_outlet_temperature(UI *ui, int idx) { + int unit_idx; + TemperatureReader convert; + double v; + + unit_idx = ui->comp_outlet_temperature_unit.idx; + assert(unit_idx >= 0 && (long unsigned int) unit_idx < nelem(temperature_units)); + + convert = temperature_readers[unit_idx]; + v = convert(comp_outlet_temperature(&ui->points[idx])); + w_set_number(ui->comp_outlet_temperature[idx], v); +} + +static void compute_volume_flow_rate(UI *ui, int idx) { int unit_idx; VolumeFlowRateReader convert; - VolumeFlowRate v; + double v; unit_idx = ui->volume_flow_rate_unit.idx; assert(unit_idx >= 0 && (long unsigned int) unit_idx < nelem(volume_flow_rate_units)); @@ -422,6 +446,7 @@ insert_point(UI *ui, int idx) { memmove(&ui->intercooler_deltap[i], &ui->intercooler_deltap[i-1], sizeof(ui->intercooler_deltap[i-1])); memmove(&ui->pressure_ratio[i], &ui->pressure_ratio[i-1], sizeof(ui->pressure_ratio[i-1])); + memmove(&ui->comp_outlet_temperature[i], &ui->comp_outlet_temperature[i-1], sizeof(ui->comp_outlet_temperature[i-1])); memmove(&ui->volume_flow_rate[i], &ui->volume_flow_rate[i-1], sizeof(ui->volume_flow_rate[i-1])); } ui->npoints++; @@ -444,6 +469,7 @@ remove_point(UI *ui, int idx) { memmove(&ui->intercooler_deltap[idx], &ui->intercooler_deltap[idx+1], sizeof(ui->intercooler_deltap[idx])); memmove(&ui->pressure_ratio[idx], &ui->pressure_ratio[idx+1], sizeof(ui->pressure_ratio[idx])); + memmove(&ui->comp_outlet_temperature[idx], &ui->comp_outlet_temperature[idx+1], sizeof(ui->comp_outlet_temperature[idx])); memmove(&ui->volume_flow_rate[idx], &ui->volume_flow_rate[idx+1], sizeof(ui->volume_flow_rate[idx])); } ui->npoints--; |