Buildings.Fluid.Geothermal.ZonedBorefields.BaseClasses
Base classes used in Buildings.Fluid.Geothermal.ZonedBorefields
Information
This package contains base classes that are used to construct the models in Buildings.Fluid.Geothermal.ZonedBorefields.
Extends from Modelica.Icons.BasesPackage (Icon for packages containing base classes).
Package Content
Name | Description |
---|---|
![]() |
Partial model for borehole thermal energy storage with independent borefield zones |
![]() |
Package with ground heat transfer models |
Buildings.Fluid.Geothermal.ZonedBorefields.BaseClasses.PartialStorage
Partial model for borehole thermal energy storage with independent borefield zones
Information
This model simulates a borehole thermal energy storage system with multiple
zones of boreholes. Boreholes within the same zone are connected
in parallel. The borefield configuration and thermal parameters are defined in
the borFieDat
record.
Heat transfer to the soil is modeled using one borehole heat exchanger (To be added in an extended model) per borefield zone. The fluid mass flow rate into each borehole is divided to reflect the per-borehole fluid mass flow rate. The borehole model calculates the dynamics within the borehole itself using an axial discretization and a resistance-capacitance network for the internal thermal resistances between the individual pipes and between each pipe and the borehole wall.
The ground thermal response at each borehole segment is evaluated using analytical thermal response factors. Spatial and temporal superposition are used to evaluate the total temperature change at each of the borehole segments.
Extends from Buildings.Fluid.Geothermal.ZonedBorefields.Interfaces.PartialTwoNPortsInterface (Partial model with two vectors of ports and declaration of quantities for bore field models), Buildings.Fluid.Geothermal.ZonedBorefields.Interfaces.TwoNPortsFlowResistanceParameters (Parameters for flow resistance for models with two N ports).
Parameters
Type | Name | Default | Description |
---|---|---|---|
replaceable package Medium | PartialMedium | Medium in the component | |
Integer | nPorts | nZon | Number of fluid ports on each side |
Time | tLoaAgg | 3600.0 | Time resolution of load aggregation [s] |
Integer | nCel | 5 | Number of cells per aggregation level |
Integer | nSeg | 10 | Number of segments to use in vertical discretization of the boreholes |
Template | borFieDat | Borefield data record | |
PartialBorehole | borHol[nZon] | redeclare Buildings.Fluid.Ge... | Borehole |
Nominal condition | |||
MassFlowRate | m_flow_nominal[nPorts] | borFieDat.conDat.mZon_flow_n... | Nominal mass flow rate [kg/s] |
PressureDifference | dp_nominal[nPorts] | borFieDat.conDat.dp_nominal | Pressure difference [Pa] |
Assumptions | |||
Boolean | allowFlowReversal | true | = false to simplify equations, assuming, but not enforcing, no flow reversal |
Advanced | |||
MassFlowRate | m_flow_small[nPorts] | 1E-4*abs(m_flow_nominal) | Small mass flow rate for regularization of zero flow [kg/s] |
Diagnostics | |||
Boolean | show_T | false | = true, if actual temperature at port is computed |
Flow resistance | |||
Boolean | computeFlowResistance[nPorts] | {_dp_nominal > Modelica.Cons... | =true, compute flow resistance. Set to false to assume no friction |
Boolean | from_dp[nPorts] | fill(false, nPorts) | = true, use m_flow = f(dp) else dp = f(m_flow) |
Boolean | linearizeFlowResistance[nPorts] | fill(false, nPorts) | = true, use linear relation between m_flow and dp for any flow rate |
Real | deltaM[nPorts] | fill(0.1, nPorts) | Fraction of nominal flow rate where flow transitions to laminar |
Dynamics | |||
Conservation equations | |||
Dynamics | energyDynamics | Modelica.Fluid.Types.Dynamic... | Type of energy balance: dynamic (3 initialization options) or steady state |
Initialization | |||
AbsolutePressure | p_start | Medium.p_default | Start value of pressure [Pa] |
Temperature | TFlu_start[nSeg] | TGro_start | Start value of fluid temperature [K] |
Soil | |||
Temperature | TExt0_start | 283.15 | Initial far field temperature [K] |
Temperature | TExt_start[nSeg] | {if z[i] >= z0 then TExt0_st... | Temperature of the undisturbed ground [K] |
Filling material | |||
Temperature | TGro_start[nSeg] | TExt_start | Start value of grout temperature [K] |
Temperature profile | |||
Height | z0 | 10 | Depth below which the temperature gradient starts [m] |
Real | dT_dz | 0.01 | Vertical temperature gradient of the undisturbed soil for h below z0 [K/m] |
Connectors
Type | Name | Description |
---|---|---|
FluidPort_a | port_a[nPorts] | Fluid connector a (positive design flow direction is from port_a to port_b) |
FluidPort_b | port_b[nPorts] | Fluid connector b (positive design flow direction is from port_a to port_b) |
replaceable package Medium | Medium in the borehole pipes | |
output RealOutput | TBorAve[nZon] | Average borehole wall temperature in the borefield [K] |
output RealOutput | QBorAve[nZon] | Average (per borehole) heat transfer rate in each zone [W] |