Buildings.BoundaryConditions.GroundTemperature

Package with models to compute ground temperature

Information

This package contains models to compute the ground temperature.

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

Name Description
Buildings.BoundaryConditions.GroundTemperature.ClimaticConstants ClimaticConstants Surface temperature climatic constants
Buildings.BoundaryConditions.GroundTemperature.UndisturbedSoilTemperature UndisturbedSoilTemperature Undisturbed soil temperature
Buildings.BoundaryConditions.GroundTemperature.Examples Examples Collection of models that illustrate model use and test models
Buildings.BoundaryConditions.GroundTemperature.BaseClasses BaseClasses Package with base classes for Buildings.BoundaryConditions.GroundTemperature

Buildings.BoundaryConditions.GroundTemperature.UndisturbedSoilTemperature Buildings.BoundaryConditions.GroundTemperature.UndisturbedSoilTemperature

Undisturbed soil temperature

Information

This model provides a prescribed temperature boundary condition for buried objects, where the temperature is computed per the ASCE (1996) equation:

image

where:
Ts,z = ground temperature at depth z,
τ = annual period length (constant 365.25 days),
α = soil thermal diffusivity (assumed constant throughout the year),
t = time,
Tms = mean annual surface temperature,
As = temperature amplitude throughout the year (max - min),
tlag = phase lag of the surface temperature sinusoid

Corrections

Without correction, this model assumes that the surface temperature (depth = 0) is equal to the air temperature, which is acceptable for most design calculations.
For more accurate calculation, this model provides methods to compensate for the convective thermal resistance and the impact of surface cover.

The convective thermal resistance can be modeled as a virtual equivalent soil layer by setting the flag useCon to true and specifying the heat transfer coefficient hSur.
This correction would result in a larger delay and dampening of the resulting sinusoid.

The impact of surface cover on soil temperature can be modeled using n-factors by setting the flag useNFac to true and specifying the thawing and freezing n-factors at the surface.
More information about n-factors correction can be found in the documentation for Buildings.BoundaryConditions.GroundTemperature.BaseClasses.surfaceTemperature.

Since n-factors incorporate the effect of surface convection, both corrections would typically not be applied simultaneously.

References

ASCE (1996). Cold Regions Utilities Monograph. D.W. Smith, Technical Editor.

Parameters

TypeNameDefaultDescription
Lengthdep Depth [m]
BooleanuseNFacfalse= true, use n-factors to correct climatic constants
RealnFacTha1Thawing n-factor (TAir > 0degC)
RealnFacFre1Freezing n-factor (TAir <= 0degC)
BooleanuseConfalse= true, includes convection between air and surface coupling
RealhSur25Surface convective heat transfer coefficient [W/(m2.K)]
GenericsoiDatredeclare parameter Building...Soil thermal properties
GenericcliConredeclare parameter Climatic...Surface temperature climatic conditions

Modelica definition

model UndisturbedSoilTemperature "Undisturbed soil temperature" parameter Modelica.SIunits.Length dep "Depth"; parameter Boolean useNFac = false "= true, use n-factors to correct climatic constants"; parameter Real nFacTha = 1 "Thawing n-factor (TAir > 0degC)"; parameter Real nFacFre = 1 "Freezing n-factor (TAir <= 0degC)"; parameter Boolean useCon = false "= true, includes convection between air and surface coupling"; parameter Real hSur(unit="W/(m2.K)", min=0) = 25 "Surface convective heat transfer coefficient"; replaceable parameter Buildings.HeatTransfer.Data.Soil.Generic soiDat "Soil thermal properties"; replaceable parameter ClimaticConstants.Generic cliCon "Surface temperature climatic conditions"; Modelica.SIunits.Temperature T "Undisturbed soil temperature at depth dep"; protected constant Modelica.SIunits.Angle pi = Modelica.Constants.pi; constant Modelica.SIunits.Duration Year = 365.2422*24*60*60 "Annual period length"; parameter Modelica.SIunits.Length corDep = if useCon then dep + soiDat.k / hSur else dep "Convection-corrected depth"; parameter ClimaticConstants.Generic corCliCon= if useNFac then BaseClasses.surfaceTemperature(cliCon=cliCon, nFacTha=nFacTha, nFacFre=nFacFre) else cliCon "<i>n</i>-factor corrected climatic constants"; parameter Modelica.SIunits.ThermalDiffusivity soiDif = soiDat.k / soiDat.c / soiDat.d "Soil diffusivity"; parameter Modelica.SIunits.Duration timLag = corCliCon.sinPha "Start time of surface temperature sinusoid"; parameter Real pha = - corDep * (pi/soiDif/Year)^0.5 "Phase angle of ground temperature sinusoid"; initial equation assert(not (useCon and useNFac), "N-Factors and surface convection corrections would typically not be used simultaneously", level = AssertionLevel.warning); equation T = corCliCon.TSurMea + corCliCon.TSurAmp * exp(pha) * sin(2*pi*(time-timLag)/Year + pha); end UndisturbedSoilTemperature;