feat: added honeywell ram heat exchanger cmm 21-52-80

This commit is contained in:
aZholtikov committed 2026-10-13 12:12:42 +03:00
1 parent 8c0160dd77
commit df084a39f3
4 files changed
+223 -3

No files matched your search

+2 -1
View File
@@ -3,8 +3,9 @@
## Features ## Features
1. Calculation of pressure drop across heat exchangers. 1. Calculation of pressure drop across heat exchangers.
2. Support for three heat exchanger models: 2. Support for heat exchanger models:
- Honeywell Heat Exchanger CMM 21-50-14 - Honeywell Heat Exchanger CMM 21-50-14
- Honeywell Ram Heat Exchanger CMM 21-52-80
- Liebherr Reheater CMM 21-53-89 - Liebherr Reheater CMM 21-53-89
- Liebherr Condenser CMM 21-53-88 - Liebherr Condenser CMM 21-53-88
3. Multiple part number selection for each heat exchanger. 3. Multiple part number selection for each heat exchanger.
+217
View File
@@ -0,0 +1,217 @@
#pragma once
#include "ats0002.h"
#ifdef __cplusplus
extern "C"
{
#endif
/**
* @file 21_52_80.h
*
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80 configuration data.
*
* This module provides static configuration data for Honeywell Ram Heat
* Exchanger CMM 21-52-80, including pressure-to-airflow anchor points for
* cooling and hot sides, air passage definitions, and heat exchanger type
* mappings for part numbers 67200152-00 and 67200152-01.
*
* Key features:
* - Cooling side performance data (Figure TEST-8)
* - Primary hot side performance data (Figure TEST-10)
* - Main hot side performance data (Figure TEST-12)
* - Complete air passage configuration with operational limits
*
* @note All data arrays are static and const-qualified for read-only access.
*/
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-8 (P/N 67200152-00).
*
* Cooling side dependence of ΔPS (KPA) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _cooling_side_67200152_00[] = {
{50.0, 0.06},
{60.0, 0.08},
{70.0, 0.10},
{80.0, 0.13},
{90.0, 0.15},
{100.0, 0.17},
{200.0, 0.47},
{300.0, 0.85},
{400.0, 1.30},
{500.0, 1.74},
{600.0, 2.36}};
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-8 (P/N 67200152-01).
*
* Cooling side dependence of ΔPS (KPA) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _cooling_side_67200152_01[] = {
{50.0, 0.06},
{60.0, 0.08},
{70.0, 0.10},
{80.0, 0.13},
{90.0, 0.15},
{100.0, 0.17},
{200.0, 0.47},
{300.0, 0.85},
{400.0, 1.30},
{500.0, 1.74},
{600.0, 2.36}};
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-10 (P/N 67200152-00).
*
* Primary hot side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _primary_hot_side_67200152_00[] = {
{25.0, 0.14},
{30.0, 0.19},
{40.0, 0.29},
{50.0, 0.42},
{60.0, 0.61},
{70.0, 0.80},
{80.0, 0.92},
{90.0, 1.14},
{100.0, 1.38},
{200.0, 4.91},
{300.0, 11.30}};
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-10 (P/N 67200152-01).
*
* Primary hot side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _primary_hot_side_67200152_01[] = {
{25.0, 0.14},
{30.0, 0.19},
{40.0, 0.29},
{50.0, 0.42},
{60.0, 0.61},
{70.0, 0.80},
{80.0, 0.92},
{90.0, 1.14},
{100.0, 1.38},
{200.0, 4.91},
{300.0, 11.30}};
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-12 (P/N 67200152-00).
*
* Main hot side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _main_hot_side_67200152_00[] = {
{25.0, 0.34},
{30.0, 0.43},
{40.0, 0.68},
{50.0, 0.89},
{60.0, 1.18},
{70.0, 1.47},
{80.0, 1.82},
{90.0, 2.26},
{100.0, 2.75},
{200.0, 9.82},
{300.0, 27.01}};
/**
* @brief Honeywell Ram Heat Exchanger CMM 21-52-80, Figure TEST-12 (P/N 67200152-01).
*
* Main hot side dependence of ΔPS (PSIG) on air flow rate (LB/MIN), UPPER LIMIT.
*/
static const airflow_to_pressure_anchors_data_t _main_hot_side_67200152_01[] = {
{25.0, 0.34},
{30.0, 0.43},
{40.0, 0.68},
{50.0, 0.89},
{60.0, 1.18},
{70.0, 1.47},
{80.0, 1.82},
{90.0, 2.26},
{100.0, 2.75},
{200.0, 9.82},
{300.0, 27.01}};
static const air_passage_data_t _air_passage_67200152_00_data[] = {
{.air_passage_description = "Cooling Air Side",
.air_passage_anchors = _cooling_side_67200152_00,
.anchors_data_size = ARRAY_SIZE(_cooling_side_67200152_00),
.recalculated_required = true,
.airflow_pressure_unit = KPA,
.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 = 2.0},
{.air_passage_description = "Primary Bleed Air Side",
.air_passage_anchors = _primary_hot_side_67200152_00,
.anchors_data_size = ARRAY_SIZE(_primary_hot_side_67200152_00),
.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 = "Main Bleed Air Side",
.air_passage_anchors = _main_hot_side_67200152_00,
.anchors_data_size = ARRAY_SIZE(_main_hot_side_67200152_00),
.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 air_passage_data_t _air_passage_67200152_01_data[] = {
{.air_passage_description = "Cooling Air Side",
.air_passage_anchors = _cooling_side_67200152_01,
.anchors_data_size = ARRAY_SIZE(_cooling_side_67200152_01),
.recalculated_required = true,
.airflow_pressure_unit = KPA,
.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 = 2.0},
{.air_passage_description = "Primary Bleed Air Side",
.air_passage_anchors = _primary_hot_side_67200152_01,
.anchors_data_size = ARRAY_SIZE(_primary_hot_side_67200152_01),
.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 = "Main Bleed Air Side",
.air_passage_anchors = _main_hot_side_67200152_01,
.anchors_data_size = ARRAY_SIZE(_main_hot_side_67200152_01),
.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_21_52_80_data[] = {
{.part_number_description = "67200152-00",
.air_passages_data = _air_passage_67200152_00_data,
.air_passages_data_size = ARRAY_SIZE(_air_passage_67200152_00_data)},
{.part_number_description = "67200152-01",
.air_passages_data = _air_passage_67200152_01_data,
.air_passages_data_size = ARRAY_SIZE(_air_passage_67200152_01_data)}};
#ifdef __cplusplus
}
#endif
+3 -1
View File
@@ -1,10 +1,12 @@
#include "ats0002/ats0002.h" #include "ats0002/ats0002.h"
#include "ats0002/21_50_14.h"
#include "ats0002/21_52_80.h"
#include "ats0002/21_53_89.h" #include "ats0002/21_53_89.h"
#include "ats0002/21_53_88.h" #include "ats0002/21_53_88.h"
#include "ats0002/21_50_14.h"
static const heat_exchanger_data_t heat_exchanger_data[] = { 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 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)},
{"Liebherr Reheater CMM 21-53-89", heat_exchanger_21_53_89_data, ARRAY_SIZE(heat_exchanger_21_53_89_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)}}; {"Liebherr Condenser CMM 21-53-88", heat_exchanger_21_53_88_data, ARRAY_SIZE(heat_exchanger_21_53_88_data)}};
+1 -1
View File
@@ -1 +1 @@
1.0.0 1.1.0