diff --git a/docs/examples/bhe_field_madrid/bore_field_madrid.md b/docs/examples/bhe_field_madrid/bore_field_madrid.md index 172135645f18fdf076812ea8edf3d27415d8484b..2bcc64b213b01116c536007c9c919f121c6c668e 100644 --- a/docs/examples/bhe_field_madrid/bore_field_madrid.md +++ b/docs/examples/bhe_field_madrid/bore_field_madrid.md @@ -28,7 +28,8 @@ For running the example, either run the batch script `batch_madrid.py` directly IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_madrid.json` +cd examples/bore_field/madrid +geoloop batch-run batch_madrid.json ``` --- @@ -69,4 +70,7 @@ Other results have been visualized by running the `Plotmain` command: Fig. 4: Timeseries plot of the circular borehole field with tilted boreholes; average borehole wall temperature and outlet temperature. /// +## References +- Wawoe, D., XX,YY, Van Wees, J.D.: A Semi-Analytical Model of the Energy Output of Curved Borehole Heat Exchangers, + in: proceedings European Geothermal Congress. Zurich, 2025 diff --git a/docs/examples/bhe_field_me/bore_field_me.md b/docs/examples/bhe_field_me/bore_field_me.md index 2f20c5568fef2c081e8b08b89845693bc81e3315..a8f1e63c7dd73ddb8f887db42fbf88d9d8878ead 100644 --- a/docs/examples/bhe_field_me/bore_field_me.md +++ b/docs/examples/bhe_field_me/bore_field_me.md @@ -29,7 +29,8 @@ For running the example, either run the batch script `batch_me.py` directly from IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_me.json` +cd examples/bore_field/ME_cooling +geoloop batch-run batch_me.json ``` --- diff --git a/docs/examples/bhe_roermond/lithology_Roermond.md b/docs/examples/bhe_roermond/lithology_Roermond.md index 8c91e7d4d18714c773c9f95c5523c13d00785a1a..9fb1635989385e1adcd89f5d5690f4f550337624 100644 --- a/docs/examples/bhe_roermond/lithology_Roermond.md +++ b/docs/examples/bhe_roermond/lithology_Roermond.md @@ -36,7 +36,8 @@ For running the example, either run the batch script `batch_Roermond.py` directl IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_Roermond.json` +cd examples/lithology/roermond +geoloop batch-run batch_Roermond.json ``` --- diff --git a/docs/examples/coax_optimization/Coaxial_BHE_optimization.md b/docs/examples/coax_optimization/Coaxial_BHE_optimization.md index 0195d244fdca6635a1ef8144fe453493f1012ac1..cf8b41ef2e1bd3c0d7a25adffcd8a0c0d85932d5 100644 --- a/docs/examples/coax_optimization/Coaxial_BHE_optimization.md +++ b/docs/examples/coax_optimization/Coaxial_BHE_optimization.md @@ -20,7 +20,8 @@ For running the example, either run the batch script `batch_COAX_optimization.py IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_COAX_optimization.json` +cd examples/optimization +geoloop batch-run batch_COAX_optimization.json ``` --- diff --git a/docs/examples/gfunc_benchmark/PYG_benchmark.md b/docs/examples/gfunc_benchmark/PYG_benchmark.md index ceb2e7aec0c6c1511cb5393e025f75982aeab7bf..f4ca80501c21265cdb6697dedcf9358cb925dfcb 100644 --- a/docs/examples/gfunc_benchmark/PYG_benchmark.md +++ b/docs/examples/gfunc_benchmark/PYG_benchmark.md @@ -50,7 +50,8 @@ For running the example, either run the batch script `batch_PYG_benchmark.py` di IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_PYG_benchmark.json` +cd examples/benchmark/PYG_benchmark +geoloop batch-run batch_PYG_benchmark.json ``` --- @@ -72,12 +73,14 @@ agreement in the plots. /// caption Fig. 3: Timeseries plot of inlet ($T_{in}$), outlet ($T_{out}$) and average borehole wall temperature ($T_{b,ave}$) for the Geoloop benchmark simulations of the single U-tube borehole design. +Please note that standard g-function and geoloop outcomes are in perfect agreement. /// ![Fig. 4](images/PYG_SU_P_P_SR_ANALYTICAL_SU_A_P_SR_temperature_depth_8000.0.png) /// caption Fig. 4: Depth plot of inlet fluid (Pipe 0), outlet fluid (Pipe 1) and borehole wall ($T_b$) temperatures for the Geoloop benchmark simulations of the single U-tube borehole design. +Please note that resulting temperatures of standard g-function and geoloop are in perfect agreement. /// ### Double U-tube @@ -96,6 +99,7 @@ in the calculated temperature field inside the borehole, as shown in Fig. 5 and /// caption Fig. 3: Timeseries plot of inlet ($T_{in}$), outlet ($T_{out}$) and average borehole wall temperature ($T_{b,ave}$) for the Geoloop benchmark with pygfunction, for the double U-tube borehole design. +Please note that resulting temperatures of standard g-function and geoloop are in perfect agreement. /// ![Fig. 4](images/PYG_DU_P_P_SR_ANALYTICAL_DU_A_P_SR_temperature_depth_8000.0.png) @@ -114,7 +118,7 @@ g-function method (top) and by the semi-analytical Geoloop model (bottom). /// !!! Note - The aligned results from the benchmark simulation of the semi-analytical model in Geoloop and the standard implementation + The results from the benchmark simulation of the semi-analytical model in Geoloop and the standard implementation of g-functions validates the semi-analytical modelling approach that allows for a depth-dependent BHE design and subsurface model. --- diff --git a/docs/examples/simple_simulation/simple_simulation.md b/docs/examples/simple_simulation/simple_simulation.md index 3553726f25e8b04257ba751dd16c2e646d8988ec..b834b192bbd5fe258d2955efc8b65ac6b15e5f2f 100644 --- a/docs/examples/simple_simulation/simple_simulation.md +++ b/docs/examples/simple_simulation/simple_simulation.md @@ -1,7 +1,8 @@ # Simple deterministic and stochastic simulation of a single U-tube !!! Note - The example is located in the following working directory: `geoloop/examples/benchmark/simple_simulation` + The example is located in the following working directory: `geoloop/examples/simple_simulation` + This example demonstrates a simple deterministic and stochastic simulation, using the semi-analytical Geoloop model. For detailed explanation of the input parameters and conditions for a simulation, see the [Manual](../../manual/cli.md). @@ -10,20 +11,19 @@ For detailed explanation of the input parameters and conditions for a simulation ### Deterministic simulation configuration The physical and operational design of the simulated BHE are defined in the configuration file `SU_100.json` in the working directory. -This configuration defines a deterministic simulation of a single U-tube BHE down to 100 meters, -that imposes a continuous heat extraction on the subsurface, at a constant inlet temperature of 5 °C for a year of operation. -Here the power extraction from the subsurface is calculated for this specific case. +This configuration defines a deterministic (single run) simulation of a single U-tube BHE down to 100 meters. +It imposes a constant inlet temperature of 5 °C for a year of operation, and calculates +the power extraction from the BHE. ### Stochastic simulation configuration -For the stochastic simulation, the additional configuration file `SU_100_variables.json` in the working directory, that is used -and linked in the main input JSON file `SU_100.json`, defines a simulation of a single U-tube BHE -down to 100 meters, that imposes a continuous heat extraction on te subsurface, at a constant inlet temperature that varies -for 100 samples between 5 °C and 10 °C for a year of operation. -Here, the relation between the inlet temperature and the power extraction from the subsurface is determined. +For the stochastic (Monte Carlo) simulation, the additional configuration file `SU_100_variables.json` in the working directory, that is used +and linked in the main input JSON file `SU_100.json`, that varies +for 100 samples the inlet temperature between 5 °C and 10 °C, for a year of operation. +For the corresponding results, the relation between the inlet temperature and the power extracted from the subsurface is determined. ## Plotting configuration For the deterministic simulation, time-plots are created for visualization of the evolution of fluid and borehole temperatures -and the extracted power during the simulated year of operation. Also, depth-plots after 100 hours and one month of operation +and the extracted power during the simulated year of operation. Also, depth-plots after 100 hours and 700 hours (ca one month) of operation are created to show the evolution of the fluid and borehole temperatures over time and depth. For the stochastic simulation, the relation between the (variable) inlet temperature and the extracted power are visualized in a scatter plot. @@ -45,11 +45,12 @@ Both generate the same results. **B — Running Using the Command Line Interface** ```bash -geoloop batch-run `path/to/batch_SU_100.json` +cd examples/simple_simulation +geoloop batch-run batch_SU_100.json ``` By running the example, in executing the `SingleRunSim` module in the batch configuration, automatically a figure is created -(Fig. 1) that shows a cross-section of the simulated BHE design. +in the output directory (Fig. 1) that shows a cross-section of the simulated BHE design. ![SU_100](images/SU_100_A_T_bhdesign.png) @@ -62,13 +63,17 @@ By running the `Runmain` module, an addition configuration file `SU_100_variable working directory and linked in the main input JSON file `SU_100.json` under `variables_config`. After also executing the *Plotmain* module twice in the `batch_SU_100.py` script, the rest of the figures are created and stored in the output directory. +Many more figures than shown here are generated in the output directory. For a comprehensive explanation of the definition +of generated figures and options to generate them, we refer to the [Manual](../../manual/cli.md) --- ## Results Following from the deterministic simulation, time-plots of the fluid and average borehole temperatures and the extracted power are shown in Fig. 2 and Fig. 3. These figures show how the outlet temperature and thereby power yield decline over time, -during constant system operation at a fixed inlet temperature. +during constant system operation at a fixed inlet temperature. Please note that the legend includes A,T, SR,MC. +A refers to geoloop's semi-analytical depth-dependent model , T to inlet Temperature mode, and +SR and MC to single run or monte carlo outcomes. see [Manual](../../manual/cli.md) for more detailed explanation. ![Fig. 2](images/SU_100_A_T_SRtimeplot_Q_b.png) diff --git a/docs/examples/variable_flow_rate/variable_flow_rate.md b/docs/examples/variable_flow_rate/variable_flow_rate.md index 5d588d36df677483766128ab316178b3fba562f3..643ab89efdf021e96ea7101e7928e57390baa649 100644 --- a/docs/examples/variable_flow_rate/variable_flow_rate.md +++ b/docs/examples/variable_flow_rate/variable_flow_rate.md @@ -23,7 +23,8 @@ For running the example, either run the batch script `batch_variable_flow_rate.p IDE or use the CLI by: ```bash -geoloop batch-run `path/to/batch_variable_flow_rate.json` +cd examples/variable_flow_rate +geoloop batch-run batch_variable_flow_rate.json ``` --- diff --git a/docs/manual/simulation_configuration.md b/docs/manual/simulation_configuration.md index 0238b62445a8d97b0289fd2d28f3888de1d4a943..94b0b855b0534b9f89314e3edc021e648a106f6d 100644 --- a/docs/manual/simulation_configuration.md +++ b/docs/manual/simulation_configuration.md @@ -1,6 +1,6 @@ -# Doing a BHE Simulation Using Geoloop +# Performing a BHE Simulation Using Geoloop -The configuration of a simulation is defined through JSON input files (`*.json`), organized in a `jsondir` directory +The configuration of a simulation is defined through JSON input files (`*.json`), organized in a `json` directory (e.g. `/examples/simple_simulation`). One Geoloop simulation uses different modules from various packages, depending on the configuration defined in the main input JSON file. @@ -11,7 +11,7 @@ and may include links to additional input JSON files for: - Configuration for a stochastic simulation - Configuration of an optimization simulation - Configuration of depth-dependent subsurface thermal properties -- Configuration of a heat load time-profile +- Configuration of a power load time-profile - Configuration of a flow rate time-profile The following sections provide a nomenclature for the input for the different simulation types and modules, including model @@ -101,61 +101,61 @@ For an example of a simple deterministic model simulation, see the example of a The main input JSON file includes the following parameters: -| Parameter | Description | Unit | Type | Remark | -|------------------|------------------------------------------------------------------------|--------|----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| base_dir | Path to output folder | — | string | Creates folder if it does not exist | -| type | Type of BHE design | — | string | Options: UTUBE or COAXIAL for `model_type` ANALYTICAL and PYG and PYGFIELD; UTUBE for `model_type` FINVOL | -| H | Borehole length | m | scalar | — | -| D | Buried depth of the BHE | m | scalar | — | -| borefield | Path to configuration file for borehole field design | — | string | Optional; only used for `model_type` PYGFIELD | -| r_b | Borehole radius | m | scalar | — | -| pos | Positions of pipes in borehole | — | nested_list | `[x;y]*` coordinates of pipes; first position(s) are of inlet pipe(s); required if `type` is UTUBE, falls back to default of `[[0,0][0,0]]` if `type` is COAXIAL | -| r_out | Outer pipe radius | m | list | First position(s) are of inlet pipe(s) | -| SDR | SDR value of the pipes | — | scalar | Determines pipe thickness | -| k_p | Pipe thermal conductivity | W/mK | scalar | — | -| nInlets | Number of inlet pipes | — | scalar | Required if `type` is UTUBE, falls back to default of 1 if `type` is COAXIAL | -| insu_dr | Fraction of pipe thickness with insulating material | — | scalar | Range: 0–1 | -| insu_k | Thermal conductivity of insulating material | W/mK | scalar | — | -| insu_z | Maximum depth of insulating material | m | scalar | — | -| k_g | Grout thermal conductivity | W/mK | scalar or list | — | -| z_k_g | End depths of k_g values | m | list | Used only if `k_g` is a list | -| epsilon | Pipe surface roughness | m | scalar | — | -| fluid_str | Type of fluid mixed with water | — | string | Must be supported by `pygfunction` media module | -| fluid_percent | Fluid percentage | % | scalar | — | -| m_flow | Flow rate per pipe | kg/s | scalar | The total flow into the system is the sum of the flow rates for the nr. of inlet pipes. Used if `dploopcrit` and `flow_data` are not defined | -| litho_k_param | Path to lithology module configuration file | — | string | Optional | -| Tg | (Sub)surface temperature | °C | scalar or list | Represents surface temperature if scalar | -| Tgrad | Subsurface temperature gradient | °C/100m | scalar | Used only if `Tg` is scalar | -| z_Tg | End depths of Tg values | m | list | Used only if `Tg` is a list | -| k_s | Subsurface thermal conductivity | W/mK | scalar or list | Used only if `litho_k_param` is not defined | -| z_k_s | End depths of k_s values | m | list | Used only if `k_s` is a list and `litho_k_param` is not defined | -| k_s_scale | Scaling factor for subsurface thermal conductivity | — | scalar | Scales `k_s` values over depth | -| alfa | Subsurface thermal diffusivity | m²/s | scalar | — | -| model_type | Type of model used in simulation | — | string | Options: ANALYTICAL; FINVOL; PYG; PYGFIELD | -| run_type | Starting point for performance calculation | — | string | Options: POWER or TIN (depends on `model_type`) | -| nyear | Number of simulated years | year | scalar | — | -| nled | Number of hours per simulated timestep | hour | scalar | — | -| nsegments | Number of model segments over depth | — | scalar | — | -| nr | Number of grid cells in radial direction | — | scalar | Required only if `model_type` is FINVOL | -| r_sim | Maximum simulation radius | m | scalar | Required only if `model_type` is FINVOL | -| dploopcrit | Pumping power | bar | scalar | — | -| dooptimize | Enable optimization | — | boolean | true or false | -| copcrit | Minimum COP of circulation pump | — | scalar | Used only if `dooptimize` is true | -| optimize_keys | Parameters to optimize | — | list | Only variable parameters supported | -| optimize_keys_bounds | Bounds for optimized parameters | — | nested_list | `[[lower, upper]]` matching optimize_keys | -| loadprofile | Path to configuration file of the heat load profile | — | string | Optional | -| flow_data | Path to configuration file of the flow rate profile | - | string | Optional | -| Q | Power demand | W | scalar | Used if `run_type` is POWER and no `loadprofile` defined | -| Tin | Inlet temperature | °C | scalar | Used if `run_type` is TIN | -| variables_config | Path to stochastic simulation configuration file | — | string | Used for stochastic runs (RunMain module) | -| save_Tfield_res | Flag to save results of 3D temperature field in a numarical simulation | — | boolean | Only used if model_type is FINVOL | +| Parameter | Description | Unit | Type | Remark | +|----------------------|------------------------------------------------------------------------|---------|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| base_dir | Path to output folder | — | string | Creates folder if it does not exist | +| type | Type of BHE design | — | string | Options: UTUBE or COAXIAL for `model_type` ANALYTICAL and PYG and PYGFIELD; UTUBE for `model_type` FINVOL | +| H | Borehole length | m | scalar | — | +| D | Buried depth of the BHE | m | scalar | — | +| borefield | Path to configuration file for borehole field design | — | string | Optional; only used for `model_type` PYGFIELD | +| r_b | Borehole radius | m | scalar | — | +| pos | Positions of pipes in borehole | — | nested_list | `[x;y]*` coordinates of pipes; first position(s) are of inlet pipe(s); required if `type` is UTUBE, falls back to default of `[[0,0][0,0]]` if `type` is COAXIAL | +| r_out | Outer pipe radius | m | list | First position(s) are of inlet pipe(s) | +| SDR | SDR value of the pipes | — | scalar | Determines pipe thickness | +| k_p | Pipe thermal conductivity | W/mK | scalar | — | +| nInlets | Number of inlet pipes | — | scalar | Required if `type` is UTUBE, falls back to default of 1 if `type` is COAXIAL | +| insu_dr | Fraction of pipe thickness with insulating material | — | scalar | Range: 0–1 | +| insu_k | Thermal conductivity of insulating material | W/mK | scalar | — | +| insu_z | Maximum depth of insulating material | m | scalar | — | +| k_g | Grout thermal conductivity | W/mK | scalar or list | — | +| z_k_g | End depths of k_g values | m | list | Used only if `k_g` is a list | +| epsilon | Pipe surface roughness | m | scalar | — | +| fluid_str | Type of fluid mixed with water | — | string | Must be supported by `pygfunction` media module | +| fluid_percent | Fluid percentage | % | scalar | — | +| m_flow | Flow rate per pipe | kg/s | scalar | The total flow into the system is the sum of the flow rates for the nr. of inlet pipes. Used if `dploopcrit` and `flow_data` are not defined | +| litho_k_param | Path to lithology module configuration file | — | string | Optional | +| Tg | (Sub)surface temperature | °C | scalar or list | Represents surface temperature if scalar | +| Tgrad | Subsurface temperature gradient | °C/100m | scalar | Used only if `Tg` is scalar | +| z_Tg | End depths of Tg values | m | list | Used only if `Tg` is a list | +| k_s | Subsurface thermal conductivity | W/mK | scalar or list | Used only if `litho_k_param` is not defined | +| z_k_s | End depths of k_s values | m | list | Used only if `k_s` is a list and `litho_k_param` is not defined | +| k_s_scale | Scaling factor for subsurface thermal conductivity | — | scalar | Scales `k_s` values over depth | +| alfa | Subsurface thermal diffusivity | m²/s | scalar | — | +| model_type | Type of model used in simulation | — | string | Options: ANALYTICAL; FINVOL; PYG; PYGFIELD | +| run_type | Starting point for performance calculation | — | string | Options: POWER or TIN (depends on `model_type`) | +| nyear | Number of simulated years | year | scalar | — | +| nled | Number of hours per simulated timestep | hour | scalar | — | +| nsegments | Number of model segments over depth | — | scalar | — | +| nr | Number of grid cells in radial direction | — | scalar | Required only if `model_type` is FINVOL | +| r_sim | Maximum simulation radius | m | scalar | Required only if `model_type` is FINVOL | +| dploopcrit | Pumping power | bar | scalar | — | +| dooptimize | Enable optimization | — | boolean | true or false | +| copcrit | Minimum COP of circulation pump | — | scalar | Used only if `dooptimize` is true | +| optimize_keys | Parameters to optimize | — | list | Only variable parameters supported | +| optimize_keys_bounds | Bounds for optimized parameters | — | nested_list | `[[lower, upper]]` matching optimize_keys | +| loadprofile | Path to configuration file of the heat load profile | — | string | Optional | +| flow_data | Path to configuration file of the flow rate profile | - | string | Optional | +| Q | Power demand | W | scalar | Used if `run_type` is POWER and no `loadprofile` defined | +| Tin | Inlet temperature | °C | scalar | Used if `run_type` is TIN | +| variables_config | Path to stochastic simulation configuration file | — | string | Used for stochastic runs (RunMain module) | +| save_Tfield_res | Flag to save results of 3D temperature field in a numarical simulation | — | boolean | Only used if model_type is FINVOL | The *pos* parameter includes: -| Parameter | Unit | Description | -|------------|------|-------------| -| x | m | Position along x-axis | -| y | m | Position along y-axis | +| Parameter | Unit | Description | +|-----------|------|-----------------------| +| x | m | Position along x-axis | +| y | m | Position along y-axis | > To maintain a constant borehole wall temperature for each depth slice (UBWT boundary condition, see [Theory](../theory/theory.md)), > inlet and outlet pipes in a multi-U-tube configuration should alternate and be **radially symmetric**. @@ -180,14 +180,14 @@ For simulating a *field of boreholes*, define a separate JSON file for the boreh only be simulated when using the standard functionality of *pygfunction* (when `model_type` is PYGFIELD) This file is linked in the main JSON under `borefield` and includes: -| Parameter | Description | Unit | Type | Remark | -|------------|--------------|------|------|---------| -| field_N | Total number of boreholes | — | int | — | -| field_M | Boreholes per side of the field | — | int | Only equally sided fields supported | -| field_R | Distance between boreholes | m | int | If field_M is 0, defines radial distance (circular field) | -| field_segments | Number of depth segments | — | int | More segments = smoother curved trajectory | -| field_inclination_start | Start inclination angle | ° | int | Applied to all boreholes | -| field_inclination_end | End inclination angle | ° | int | Applied to all boreholes | +| Parameter | Description | Unit | Type | Remark | +|-------------------------|---------------------------------|------|------|-------------------------------------------------------------------------------| +| field_N | Total number of boreholes | — | int | — | +| field_M | Boreholes per side of the field | — | int | Only equally sided fields supported | +| field_R | Distance between boreholes | m | int | Distance between boreholes. If field_M is 0, defines radius of circular field | +| field_segments | Number of depth segments | — | int | More segments = smoother curved trajectory | +| field_inclination_start | Start inclination angle | ° | int | Applied to all boreholes | +| field_inclination_end | End inclination angle | ° | int | Applied to all boreholes | > If the start and end inclinations differ, boreholes will have a **curved shape**. @@ -207,10 +207,10 @@ For a *stochastic simulation*, the main input JSON is used by the `RunMain` modu (see [Geoloop Interface](cli.md)). For an example of a simple stochastic simulation see [simple model simulation](../examples/simple_simulation/simple_simulation.md). A separate JSON defines parameters for *Monte Carlo* sampling, linked under `variables_config`: -| Parameter | Description | Unit | Type | -|------------|--------------|------|------| -| n_samples | Number of samples | — | scalar | -| *variable parameter* | `[sampling mode; arg1; arg2]` | — | list[string, scalar, scalar] | +| Parameter | Description | Unit | Type | +|----------------------|-------------------------------|------|------------------------------| +| n_samples | Number of samples | — | scalar | +| *variable parameter* | `[sampling mode; arg1; arg2]` | — | list[string, scalar, scalar] | Multiple variable parameters can be defined simultaneously and the user can choose different sampling distributions. Supported parameters include: @@ -231,12 +231,12 @@ Supported parameters include: Supported sampling distributions and their corresponding arguments for the configuration JSON are: -| Sampling Mode | arg1 | arg2 | -|----------------|------|------| -| Normal | mean | standard deviation | -| Uniform | minimum | maximum | -| Lognormal | μ | σ | -| Triangular | minimum | peak | +| Sampling Mode | arg1 | arg2 | +|---------------|---------|--------------------| +| Normal | mean | standard deviation | +| Uniform | minimum | maximum | +| Lognormal | μ | σ | +| Triangular | minimum | peak | The main input JSON file for a Geoloop simulation already includes several arguments that define the preferences for an optimization simulation, @@ -270,29 +270,29 @@ describes its structure. For stochastic simulations, the first dimension of the parameters in the *results* subset is always the number of samples. -| Parameter | Description | Unit | Dimensions | Remark | -|----|----|-------|----|---------------------------------------------| -| Q_b | Heat load | W | time | Only calculated for run_type TIN | -| Re_in | Reynolds nr. in the inlet pipe(s) | | time | | -| Re_out | Reynolds nr. in the outlet pipe(s) | | time | | -| T_b | Borehole wall temperature | C | time; zseg | | -| T_bave | Depth-average borehole wall temperature | C | time | | -| T_f | Fluid temperature | C | time; z; nPipes | | -| T_fi | Inlet temperature | C | time | Only calculated for run_type POWER | -| T_fo | Outlet temperature | C | time | | -| Tg | (Sub)surface temperature | C | time or time; zseg | | -| dploop | Pumping pressure | bar | time | | -| flowrate | Flowrate | kg/s | time | The flow rate in each pipe | -| hours | Simulation timesteps | hours | time | | -| k_g | Grout thermal conductivity | W/mK | time or time; zseg | | -| k_s | Subsurface thermal conductivity | W/mK | time or time; zseg | | -| qloop | Consumed power by the fluid circulation pump | W | time | | -| qsign | Sign of heat flow | | time | Sign indicates heat extraction or injection | -| qzb | Subsurface heat flow | W/m | time; zseg | | -| nPipes | Number of pipes | | | Coördinates for the nPipes dimension | -| time | Simulation timesteps | hours | | Coördinates for the time dimension | -| z | Depth for top and bottom of simulation depth segments | m | | Coördinates for the depth dimension | -| zseg | Depth for middle of simulation depth segments | m | | Coördinates for the depth-segment dimension | +| Parameter | Description | Unit | Dimensions | Remark | +|-----------|-------------------------------------------------------|-------|--------------------|---------------------------------------------| +| Q_b | Heat load | W | time | Only calculated for run_type TIN | +| Re_in | Reynolds nr. in the inlet pipe(s) | | time | | +| Re_out | Reynolds nr. in the outlet pipe(s) | | time | | +| T_b | Borehole wall temperature | C | time; zseg | | +| T_bave | Depth-average borehole wall temperature | C | time | | +| T_f | Fluid temperature | C | time; z; nPipes | | +| T_fi | Inlet temperature | C | time | Only calculated for run_type POWER | +| T_fo | Outlet temperature | C | time | | +| Tg | (Sub)surface temperature | C | time or time; zseg | | +| dploop | Pumping pressure | bar | time | | +| flowrate | Flowrate | kg/s | time | The flow rate in each pipe | +| hours | Simulation timesteps | hours | time | | +| k_g | Grout thermal conductivity | W/mK | time or time; zseg | | +| k_s | Subsurface thermal conductivity | W/mK | time or time; zseg | | +| qloop | Consumed power by the fluid circulation pump | W | time | | +| qsign | Sign of heat flow | | time | Sign indicates heat extraction or injection | +| qzb | Subsurface heat flow | W/m | time; zseg | | +| nPipes | Number of pipes | | | Coördinates for the nPipes dimension | +| time | Simulation timesteps | hours | | Coördinates for the time dimension | +| z | Depth for top and bottom of simulation depth segments | m | | Coördinates for the depth dimension | +| zseg | Depth for middle of simulation depth segments | m | | Coördinates for the depth-segment dimension | In addition to the database file, a plot is generated from a cross-section of the borehole design. Both are stored according to the following convention: diff --git a/examples/bore_field/madrid/input/loadprofile_madrid_groundload.csv b/examples/bore_field/madrid/input/loadprofile_madrid_groundload.csv index e32e28aca7143e0c2a0f85f2c79dd024344d4232..eeec42f7a87cf261fe43b7e54b102cb53554b8c2 100644 --- a/examples/bore_field/madrid/input/loadprofile_madrid_groundload.csv +++ b/examples/bore_field/madrid/input/loadprofile_madrid_groundload.csv @@ -1,19 +1,19 @@ -# total_demand,date,day,month,year,, -# ,Max power (MW),,,,, -#,,,4.17,3.42,, +# local_time,total_demand,date,day,month,year,, +# ,,,,,, +# ,,,,,, local_time,total_demand,date,day,month,year,, -01/01/2022 00:00,218,01/01/2022 00:00,1,1,2022,1,744 -01/01/2022 01:00,218,01/01/2022 01:00,1,1,2022,2,672 -01/01/2022 02:00,218,01/01/2022 02:00,1,1,2022,3,743 -01/01/2022 03:00,218,01/01/2022 03:00,1,1,2022,4,720 -01/01/2022 04:00,218,01/01/2022 04:00,1,1,2022,5,744 -01/01/2022 05:00,218,01/01/2022 05:00,1,1,2022,6,720 -01/01/2022 06:00,218,01/01/2022 06:00,1,1,2022,7,744 -01/01/2022 07:00,218,01/01/2022 07:00,1,1,2022,8,744 -01/01/2022 08:00,218,01/01/2022 08:00,1,1,2022,9,720 -01/01/2022 09:00,218,01/01/2022 09:00,1,1,2022,10,745 -01/01/2022 10:00,218,01/01/2022 10:00,1,1,2022,11,720 -01/01/2022 11:00,218,01/01/2022 11:00,1,1,2022,12,744 +01/01/2022 00:00,218,01/01/2022 00:00,1,1,2022,, +01/01/2022 01:00,218,01/01/2022 01:00,1,1,2022,, +01/01/2022 02:00,218,01/01/2022 02:00,1,1,2022,, +01/01/2022 03:00,218,01/01/2022 03:00,1,1,2022,, +01/01/2022 04:00,218,01/01/2022 04:00,1,1,2022,, +01/01/2022 05:00,218,01/01/2022 05:00,1,1,2022,, +01/01/2022 06:00,218,01/01/2022 06:00,1,1,2022,, +01/01/2022 07:00,218,01/01/2022 07:00,1,1,2022,, +01/01/2022 08:00,218,01/01/2022 08:00,1,1,2022,, +01/01/2022 09:00,218,01/01/2022 09:00,1,1,2022,, +01/01/2022 10:00,218,01/01/2022 10:00,1,1,2022,, +01/01/2022 11:00,218,01/01/2022 11:00,1,1,2022,, 01/01/2022 12:00,218,01/01/2022 12:00,1,1,2022,, 01/01/2022 13:00,218,01/01/2022 13:00,1,1,2022,, 01/01/2022 14:00,218,01/01/2022 14:00,1,1,2022,,