ThermofluidStream icon indicating copy to clipboard operation
ThermofluidStream copied to clipboard

PartialNTU Time Constant

Open RaphaelGebhart opened this issue 1 year ago • 0 comments

Currently ThermofluidStream.HeatExchangers.Internal.PartialNTU uses a time constant parameter Modelica.Units.SI.Time TC=0.01 "Heat exchanger time constant" annotation (Dialog(tab="Advanced"));

and filters the outlet enthalpy to ensure a robust simulation. On the other hand, the time constant can be a good first guess to consider the transient behavior without the need of a high spatial resolution, e.g. like ThermofluidStream.HeatExchangers.DiscretizedCounterFlowHEX. (Note that DiscretizedCounterFlowHEX does not consider the thermal inertia of the heat exchanger wall material, which might be relevant (e.g. for m_Wall c_Wall > m_flow_Fluid c_Fluid, i.e. for gas where rho_Wall >> rho_Fluid. We might reconsider that)

  • [x] Hence i added a short description for the time constant.

  • [ ] I would suggest to move the time constant from Advanced tab, since it matters.

  • [ ] I would suggest that the user can change initialization (e.g. h_out(T_0) instead of h_out=h_in). We could use ThermofluidStream.Processes.Internal.InitializationMethodsCondElement for that (or something similar). I tested it and it works.

  • [ ] I would suggest to change the default value of the heat exchanger time constant, because the heat exchanger time constant default value is currently less than the default value of the fluid flow time constant, which is not physical and leads to unphysical results, see figure below, where the heat exchanger is faster than the mass flow rate: Dimensional analysis (https://en.wikipedia.org/wiki/Dimensional_analysis) yields e.g. for water a time constant of TC ~ L sqrt(dp/rho) = 0.1s (L = dropOfCommons.L, dp = 1 bar, rho = 1000 kg/s) or for air TC = 1s (L = dropOfCommons.L, dp = 0.1 bar, rho = 1 kg/s). For the instationary bernoulli the time constant T = sqrt(1/2*dp/rho)*1/l (l - length)

  • [ ] Bonus: We could add a delay time like Modelica.Blocks.Nonlinear.FixedDelay or its approximation Modelica.Blocks.Nonlinear.PadeDelay

https://www.fluid.tuwien.ac.at/322034?action=AttachFile&do=get&target=1_6_1.pdf TFS4

RaphaelGebhart avatar Aug 14 '24 13:08 RaphaelGebhart