A discretization method for heat exchangers might be useful
I have received multiple requests for finding/imposing the minimum pinch inside a heat exchanger. For that, a discretization approach must be taken. The MovingBoundaryHeatExchanger does this already by assuming, that minimal temperature differences only occur at phase change locations or at the edges.
For example, this article lists a nice overview on different discretization methods: http://dx.doi.org/10.5772/intechopen.78997.
A 1D method with a specified amount of heat exchange sections would be a good first model (also from that article). Other implementations could be for example
- https://idaes-pse.readthedocs.io/en/stable/reference_guides/model_libraries/generic/unit_models/heat_exchanger_1D.html, sections of same Q
- https://doi.org/10.3390/en14248238,
- https://github.com/DLR-SR/ThermofluidStream/blob/main/ThermofluidStream/HeatExchangers/DiscretizedCounterFlowHEX_FR.mo,
- http://thermocycle.squoilin.eu/components/heat-exchangers/hx1d/,
- https://backend.orbit.dtu.dk/ws/portalfiles/portal/219965885/1_s2.0_S0306261920310497_main.pdf (very nice overview on many research papers on dynamic discretized heat exchanger models)
- https://github.com/laterrea/CBSim/blob/main/src sections of sams T
- https://github.com/squoilin/NextGenerationHeatPumps, specifically linear change of enthalpy and pressure over number of specified sections: https://github.com/squoilin/NextGenerationHeatPumps/blob/master/nghp/components/heat_exchangers.py
For a first shot, a DiscretizedHeatExchanger will be implemented, following the approach taken here: https://github.com/squoilin/NextGenerationHeatPumps/blob/6db23af4dbad2098043a74d1871dbcc6f8eee468/nghp/components/heat_exchangers.py#L109C46-L110C47
Linearly distribute the change of enthalpy and the change of pressure on both sides into N sections and then calculate UA/td_pinch based on these sections. The component will inherit from the MovingBoundaryHeatExchanger, or the MovingBoundaryHeatExchanger will inherit from the new component.