From 6c556a9c5beaba6dabc27223d5e8c74c26aee292 Mon Sep 17 00:00:00 2001 From: Alexey Zholtikov Date: Wed, 14 Oct 2026 08:10:05 +0300 Subject: [PATCH] feat: added honeywell ngs regen heat exchanger cmm 47-32-14 --- README.md | 1 + ats0002/47_32_14.h | 89 ++++++++++++++++++++++++++ heat_exchander_airflow_pressure_drop.c | 2 + version.txt | 2 +- 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 ats0002/47_32_14.h diff --git a/README.md b/README.md index d0c3474..3956a45 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ - Honeywell Heat Exchanger CMM 21-50-14 - Honeywell Ram Heat Exchanger CMM 21-52-80 - Honeywell NGS Heat Exchanger CMM 47-32-06 + - Honeywell NGS Regen Heat Exchanger CMM 47-32-14 - Liebherr Reheater CMM 21-53-89 - Liebherr Condenser CMM 21-53-88 3. Multiple part number selection for each heat exchanger. diff --git a/ats0002/47_32_14.h b/ats0002/47_32_14.h new file mode 100644 index 0000000..3a7703b --- /dev/null +++ b/ats0002/47_32_14.h @@ -0,0 +1,89 @@ +#pragma once + +#include "ats0002.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + /** + * @file 47_32_14.h + * + * @brief Honeywell NGS Regen Heat Exchanger CMM 47-32-14 configuration data. + * + * This module provides static configuration data for Honeywell NGS Regen Heat + * Exchanger CMM 47-32-14, including pressure-to-airflow anchor points for + * cooling and hot sides, air passage definitions, and heat exchanger type + * mappings for part number 2342176-1. + * + * Key features: + * - Cooling side performance data (Figure 1005) + * - Hot side performance data (Figure 1008) + * - Complete air passage configuration with operational limits + * + * @note All data arrays are static and const-qualified for read-only access. + */ + + /** + * @brief Honeywell NGS Regen Heat Exchanger CMM 47-32-14, Figure 1005 (P/N 2342176-1). + * + * Cooling side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT. + */ + static const airflow_to_pressure_anchors_data_t _cooling_side_2342176_1[] = { + {3.0, 0.10}, + {4.0, 0.17}, + {5.0, 0.23}, + {6.0, 0.32}, + {7.0, 0.41}, + {8.0, 0.52}, + {9.0, 0.63}, + {10.0, 0.79}}; + + /** + * @brief Honeywell NGS Regen Heat Exchanger CMM 47-32-14, Figure 1008 (P/N 2342176-1). + * + * Hot side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT. + */ + static const airflow_to_pressure_anchors_data_t _hot_side_2342176_1[] = { + {3.0, 0.13}, + {4.0, 0.21}, + {5.0, 0.30}, + {6.0, 0.40}, + {7.0, 0.52}, + {8.0, 0.66}, + {9.0, 0.81}, + {10.0, 1.01}}; + + static const air_passage_data_t _air_passage_2342176_1_data[] = { + {.air_passage_description = "Cold Air Side", + .air_passage_anchors = _cooling_side_2342176_1, + .anchors_data_size = ARRAY_SIZE(_cooling_side_2342176_1), + .recalculated_required = true, + .airflow_pressure_unit = PSIG, + .min_barometric_pressure = 840.0, + .max_barometric_pressure = 1070.0, + .min_airflow_temperature = 15.0, + .max_airflow_temperature = 35.0, + .min_airflow_pressure = 0.01, + .max_airflow_pressure = 15.0}, + {.air_passage_description = "Hot Air Side", + .air_passage_anchors = _hot_side_2342176_1, + .anchors_data_size = ARRAY_SIZE(_hot_side_2342176_1), + .recalculated_required = true, + .airflow_pressure_unit = PSIG, + .min_barometric_pressure = 840.0, + .max_barometric_pressure = 1070.0, + .min_airflow_temperature = 15.0, + .max_airflow_temperature = 35.0, + .min_airflow_pressure = 0.01, + .max_airflow_pressure = 15.0}}; + + static const heat_exchanger_type_data_t heat_exchanger_47_32_14_data[] = { + {.part_number_description = "2342176-1", + .air_passages_data = _air_passage_2342176_1_data, + .air_passages_data_size = ARRAY_SIZE(_air_passage_2342176_1_data)}}; + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/heat_exchander_airflow_pressure_drop.c b/heat_exchander_airflow_pressure_drop.c index 41d94a9..b76e744 100644 --- a/heat_exchander_airflow_pressure_drop.c +++ b/heat_exchander_airflow_pressure_drop.c @@ -2,6 +2,7 @@ #include "ats0002/21_50_14.h" #include "ats0002/21_52_80.h" #include "ats0002/47_32_06.h" +#include "ats0002/47_32_14.h" #include "ats0002/21_53_89.h" #include "ats0002/21_53_88.h" @@ -9,6 +10,7 @@ static const heat_exchanger_data_t heat_exchanger_data[] = { {"Honeywell Heat Exchanger CMM 21-50-14", heat_exchanger_21_50_14_data, ARRAY_SIZE(heat_exchanger_21_50_14_data)}, {"Honeywell Ram Heat Exchanger CMM 21-52-80", heat_exchanger_21_52_80_data, ARRAY_SIZE(heat_exchanger_21_52_80_data)}, {"Honeywell NGS Heat Exchanger CMM 47-32-06", heat_exchanger_47_32_06_data, ARRAY_SIZE(heat_exchanger_47_32_06_data)}, + {"Honeywell NGS Regen Heat Exchanger CMM 47-32-14", heat_exchanger_47_32_14_data, ARRAY_SIZE(heat_exchanger_47_32_14_data)}, {"Liebherr Reheater CMM 21-53-89", heat_exchanger_21_53_89_data, ARRAY_SIZE(heat_exchanger_21_53_89_data)}, {"Liebherr Condenser CMM 21-53-88", heat_exchanger_21_53_88_data, ARRAY_SIZE(heat_exchanger_21_53_88_data)}}; diff --git a/version.txt b/version.txt index 867e524..589268e 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.2.0 \ No newline at end of file +1.3.0 \ No newline at end of file