modelCheck_ValidityAnalysis
Extends from TransiEnt.Basics.Icons.Checkmodel (Icon for check models).
Information
1. Purpose of model
Check model for the validity analysis function ValidityAnalysis. Seven scenarios are evaluated, which together trigger every status value of every criterion at least once. Scenarios 1 to 4 are taken from Gillner et al. (Auburn field experiment and ten-year study), scenarios 5 to 7 are synthetic.
2. Level of detail, physical effects considered, and physical insight
(Purely technical component without physical modeling.)
3. Limits of validity
- The function is evaluated once during initialization; there is no dynamic simulation.
- Scenario 1 uses the injected volume of the first cycle in Table 5 of Gillner et al. and the optimized grid with a first cell width of 1 m.
- Scenarios 5 to 7 are constructed to trigger specific status values and do not represent real sites.
4. Interfaces
(no elements — standalone check model)
5. Nomenclature
status_* |
overall status of the scenarios (0 fulfilled, 1 warning, 2 violated) [-] | |
auburn, auburnNoBuoyancy, tenYears_HR020, tenYears_HR075, fineGravel, coarseGravel, thickLowPermeability |
result records of the scenarios (see Records.ValidityResult) |
6. Governing Equations
(no equations — check model)
7. Remarks for Usage
Translate and simulate (StopTime = 1 s). The reports of all scenarios are printed to the log. Expected status values (Darcy's law / local thermal equilibrium / natural regional groundwater flow / buoyancy switch → overall):
| Scenario | Input | Expected key figures | Status |
| 1 auburn | Molz1983, 19.36 kg/s, r_0 = 0.1 m, H_a = 21 m, V_inj = 25300 m³, 20 → 60 °C, t_cycle = 87 d, u = 9.6 m/a | R_th ≈ 25.6 m, Re_d ≈ 1.8, E ≈ 2.8 %, Ra ≈ 79, q_0 ≈ 0.21 m/d, N = 0.12 ... 0.19 | 1/0/1/0 → 1 |
| 2 auburnNoBuoyancy | as 1, buoyancy = false | Ra > 4π², q_0 > 0.05 m/d | 1/0/1/2 → 2 |
| 3 tenYears_HR020 | Molz1983, 30 → 60 °C, 40 bar, 31.44 kg/s, V_inj = 420000 m³, u = 0 | R_th ≈ 104 m, E ≈ 3 % | 1/0/0/0 → 1 |
| 4 tenYears_HR075 | as 3, 2.24 kg/s, V_inj = 30000 m³ | E ≈ 0.2 % | 0/0/0/0 → 0 |
| 5 fineGravel | as 3, d_50 = 10 mm, k = 1e-10 m², u = 9.6 m/a | E ≈ 35 %, r_E ≈ 0.7 m, N_hi ≈ 0.16 | 1/1/1/0 → 1 |
| 6 coarseGravel | d_50 = 25 mm, k = 1e-9 m², n = 0.3, V_inj = 231000 m³, u = 100 m/a, buoyancy = false | Re_d ≈ 85, r_E ≈ 1.9 m, r_LTNE ≈ 1.7 m, N_lo ≈ 1.7 | 2/2/2/2 → 2 |
| 7 thickLowPermeability | H_a = 60 m, k = 2e-11 m², k_v = 1.2e-12 m², 5 kg/s, buoyancy = false | Ra ≈ 27, q_0 ≈ 0.04 m/d | 0/0/0/1 → 1 |
An inner ClaRa.SimCenter must be present; its fluid1 is passed to the function for the property evaluation.
8. Validation
The expected values in section 7 were calculated independently with tabulated water properties. For scenario 1, the Rayleigh-Darcy number reproduces Ra = 79 reported by Gillner et al. for the Auburn experiment.
9. References
Gillner, M., Jin, Y., Speerforck, A.: System-level model for high-temperature aquifer thermal energy storage (HT-ATES) accounting for buoyancy-driven flow. Manuscript.
Molz, F. J., Melville, J. G., Parr, A. D., King, D. A., Hopf, M. T., 1983: Aquifer thermal energy storage: a well doublet experiment at increased temperatures. Water Resources Research 19, 149–160.
10. Version History
Model created by Markus Gillner (markus.gillner@tuhh.de) on 01.10.2026
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Time | t_year | 365*86400 | Duration of one year |
| Base.Records.ValidityResult | auburn | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(), setting = Base.Records.Setting(H_a = 21, H_c = 9, V_inj = 25300, r_0 = 0.1, buoyancy = true), m_flow_max = 19.36, T_inj = 333.15, t_cycle = 87*86400, u_amb = 9.6/t_year, vleFluidType = simCenter.fluid1) | Scenario 1: Auburn field experiment, cycle 1 |
| Base.Records.ValidityResult | auburnNoBuoyancy | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(), setting = Base.Records.Setting(H_a = 21, H_c = 9, V_inj = 25300, r_0 = 0.1, buoyancy = false), m_flow_max = 19.36, T_inj = 333.15, t_cycle = 87*86400, u_amb = 9.6/t_year, vleFluidType = simCenter.fluid1) | Scenario 2: Auburn field experiment without buoyancy |
| Base.Records.ValidityResult | tenYears_HR020 | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(T_initial = 303.15, p_initial = 40e5), setting = Base.Records.Setting(H_a = 21, H_c = 30, V_inj = 4.2e5, r_0 = 0.15, buoyancy = true), m_flow_max = 31.44, T_inj = 333.15, t_cycle = t_year, vleFluidType = simCenter.fluid1) | Scenario 3: ten-year study, H_a/R_th = 0.2 |
| Base.Records.ValidityResult | tenYears_HR075 | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(T_initial = 303.15, p_initial = 40e5), setting = Base.Records.Setting(H_a = 21, H_c = 30, V_inj = 3.0e4, r_0 = 0.15, buoyancy = true), m_flow_max = 2.24, T_inj = 333.15, t_cycle = t_year, vleFluidType = simCenter.fluid1) | Scenario 4: ten-year study, H_a/R_th = 0.75 |
| Base.Records.ValidityResult | fineGravel | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(T_initial = 303.15, p_initial = 40e5, k = 1e-10, k_v = 1e-11), setting = Base.Records.Setting(H_a = 21, H_c = 30, V_inj = 4.2e5, r_0 = 0.15, buoyancy = true), m_flow_max = 31.44, T_inj = 333.15, t_cycle = t_year, d_50 = 0.010, u_amb = 9.6/t_year, vleFluidType = simCenter.fluid1) | Scenario 5: synthetic fine gravel aquifer |
| Base.Records.ValidityResult | coarseGravel | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(T_initial = 303.15, p_initial = 40e5, n = 0.3, k = 1e-9, k_v = 2e-10), setting = Base.Records.Setting(H_a = 21, H_c = 30, V_inj = 2.31e5, r_0 = 0.15, buoyancy = false), m_flow_max = 31.44, T_inj = 333.15, t_cycle = t_year, d_50 = 0.025, u_amb = 100/t_year, vleFluidType = simCenter.fluid1) | Scenario 6: synthetic coarse gravel aquifer |
| Base.Records.ValidityResult | thickLowPermeability | Base.Function.ValidityAnalysis(site = Base.Records.Molz1983(T_initial = 303.15, p_initial = 40e5, k = 2e-11, k_v = 1.2e-12), setting = Base.Records.Setting(H_a = 60, H_c = 30, V_inj = 6.6e4, r_0 = 0.15, buoyancy = false), m_flow_max = 5, T_inj = 333.15, t_cycle = t_year, vleFluidType = simCenter.fluid1) | Scenario 7: synthetic thick aquifer of low permeability |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | status_auburn | auburn.statusOverall | Overall status of scenario 1 (expected 1) |
| Integer | status_auburnNoBuoyancy | auburnNoBuoyancy.statusOverall | Overall status of scenario 2 (expected 2) |
| Integer | status_tenYears_HR020 | tenYears_HR020.statusOverall | Overall status of scenario 3 (expected 1) |
| Integer | status_tenYears_HR075 | tenYears_HR075.statusOverall | Overall status of scenario 4 (expected 0) |
| Integer | status_fineGravel | fineGravel.statusOverall | Overall status of scenario 5 (expected 1) |
| Integer | status_coarseGravel | coarseGravel.statusOverall | Overall status of scenario 6 (expected 2) |
| Integer | status_thickLowPermeability | thickLowPermeability.statusOverall | Overall status of scenario 7 (expected 1) |
| ClaRa.SimCenter | simCenter |