Skip to content

T_DR (Dampfraumtemperatur) as fixed boundary condition - physical justification? #4

Description

@JonasPfeiffer123

Question about T_DR modelling approach

While using FreeTTES as a reference model for validation of a 1D Euler-based thermal storage model, I noticed that T_DR (the steam/headspace temperature above the water surface) is treated as a fixed, constant boundary condition rather than a dynamic thermodynamic state.

Context

I am implementing a stratified 1D thermal energy storage model based on a finite-volume Euler discretization (both explicit and implicit solvers) for co-simulation with district heating network tools. As part of a master's thesis, I am comparing several model variants of increasing complexity:

  • 0D fully-mixed reference
  • 1D Upwind explicit/implicit, N = 2…200 nodes
  • 1D TVD explicit/implicit, N = 2…200 nodes
    ... and more

FreeTTES serves as the Lagrangian reference model for accuracy benchmarking as you have validated the model against measured data (current comparison is MAE of outlet temperature over a 60 h charge/idle/discharge scenario).

Observed behaviour

In FreeTTES_model.py (line 377), each timestep reads:

theta_DR = speicher_param["T_DR"]   # read fresh from config every step

This value is passed to __Modell_Waermeleitung as an upper boundary temperature (analogous to T_Boden at the bottom), and Q_V_DR (line 537) is computed as the resulting heat flux into the water - without any heat capacity or energy balance for the headspace itself.

Questions

  1. Is this intentional? For an atmospheric outdoor tank, the headspace could be expected to lose heat through the roof and exchange heat with the top water layer - i.e. its temperature should evolve dynamically.

  2. What is the physical motivation for keeping T_DR constant? Is it meant to represent solar irradiation keeping the roof structure at a roughly constant elevated temperature? Or is it a deliberate simplification?

  3. Is there any documentation beyond docs/ that describes the assumptions behind this boundary condition?

Impact on validation

With T_DR = 99 °C as a constant energy source, FreeTTES effectively injects heat into the top water layer throughout the simulation. In my Euler model, this creates a systematic MAE contribution of ~0.3 K at N = 200 implicit, which I would like to either replicate correctly (as a fixed boundary condition) or replace with a physically motivated dynamic headspace model.

Understanding the intent behind this design would help me decide which approach is more appropriate for atmospheric large-scale tank modelling.

Thank you for the great open-source work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions