1D Heat exchanger DAE help #1434
-
Hello all, I am trying to model a heat pump with a fixed condenser area and then vary the sink (cold side) conditions (i.e. 15°C- 85°C for one case then 15°C - 45°C and so on). This heat exchanger will have a desuperheating and condensing region with the minimum DT at that transition point. I want the model to minimize the pressure ratio of the compressor (saturation temperature) without temperature cross in the transition region. Two questions: Can I see the temperature at each of the finite elements across the length to check if there is a temperature cross and what the DT is? Second question (less important): can I vary the U value along the length? Any help or advice would be appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
@bjl25 That all depends on what model you use (or how you write the model if you create a custom one), but in general you can see everything that goes on inside the model. Given your application, you might want to look at the If you use a 1D heat exchanger (or equivalent), you will be able to check the temperatures at any finite element (e.g. Also note, that with a good set of thermophysical properties and suitable finite element spacings you will never see a temperature cross-over as the equations (and the physics behind them) do not allow it. What you might find however is that the solver is unable to find a feasible solution due to overly large (or small) finite elements causing the numerical errors and instability (model stiffness). |
Beta Was this translation helpful? Give feedback.
@bjl25 That all depends on what model you use (or how you write the model if you create a custom one), but in general you can see everything that goes on inside the model. Given your application, you might want to look at the
FeedwaterHeater
models: https://github.com/IDAES/idaes-pse/tree/main/idaes/models_extra/power_generation/unit_modelsIf you use a 1D heat exchanger (or equivalent), you will be able to check the temperatures at any finite element (e.g.
print(value(model.hot_side.properties[time, x].temperature))
- note that the name will likely be different for your model). As for varyingU
, that will depend on whether the model definesU
as a scalar variable or a variable indexed by…