Heat conduction

CryoGrid.Heat.GeothermalHeatFluxType
GeothermalHeatFlux{TQ} <: BoundaryProcess{HeatBalance}

Represents a simple, forced Neumann heat flux boundary condition for HeatBalance processes.

CryoGrid.Heat.GroundHeatFluxType
GroundHeatFlux{TE,TQ} <: BoundaryProcess{HeatBalance}

Represents a simple, forced Neumann heat flux boundary condition for HeatBalance processes.

CryoGrid.Heat.HeatBalanceType
HeatBalance{Tfc<:FreezeCurve,THeatOp<:HeatOperator,Tdt,Tprop} <: SubSurfaceProcess

Represents subsurface heat transfer processes. The formulation of heat transfer is governed by the HeatOperator, op.

CryoGrid.Heat.StefanProblemType
StefanProblem{Tp<:StefanParameters,Tx,Tt}

Represents the simple two-phase Stefan problem defined on a semi-infinite slab. The one-phase Stefan problem can be computed by setting the parameters T_s = T_m.

CryoGrid.Heat.TemperatureBCType
TemperatureBC{E,F} <: BoundaryProcess{HeatBalance}

Represents a simple, forced Dirichlet temperature boundary condition for HeatBalance processes.

CryoGrid.Heat.ThermalPropertiesType
ThermalProperties

Material thermal properties, e.g. conductivity and heat capacity. By default, this includes the thermal properties of water, ice, and air. This can be extended by passing additional properties into the constructor.

CryoGrid.Heat.TemperatureProfileMethod
TemperatureProfile(pairs::Pair{<:Union{DistQuantity,Param},<:Union{TempQuantity,Param}}...)

Convenience constructor for Numerics.Profile which automatically converts temperature quantities.

CryoGrid.Heat.enthalpyMethod
enthalpy(T, C, L, θ) = T*C + L*θ

Discrete enthalpy function on temperature, heat capacity, specific latent heat of fusion, and liquid water content.

CryoGrid.Heat.enthalpyinvMethod
enthalpyinv(H, C, L, θ) = (H - L*θ) / C

Discrete inverse enthalpy function given H, C, L, and θ.

CryoGrid.Heat.freezethaw!Method
freezethaw!(sub::SubSurface, heat::HeatBalance{FreeWater,<:EnthalpyBased}, state)

Implementation of "free water" freezing characteristic for any subsurface layer. Assumes that state contains at least temperature (T), enthalpy (H), heat capacity (C), total water content (θwi), and liquid water content (θw).

CryoGrid.Heat.freezethaw!Method
freezethaw!(sub::SubSurface, heat::HeatBalance, state)

Calculates freezing and thawing effects, including evaluation of the freeze curve. In general, this function should compute at least the liquid/frozen water contents and the corresponding heat capacity. Other variables such as temperature or enthalpy may also need to be computed depending on the thermal scheme being implemented.

CryoGrid.Heat.heatcapacity!Method
heatcapacity!(sub::SubSurface, heat::HeatBalance, state)

Computes the heat capacity for the given layer from the current state and stores the result in-place in the state variable C.

CryoGrid.Heat.heatcapacityMethod
heatcapacity(::SubSurface, state, i)

Computes the heat capacity for the given SubSurface layer at grid cell i.

CryoGrid.Heat.heatcapacityMethod
heatcapacity(sub::SubSurface, heat::HeatBalance, state, i)

Computes the heat capacity as a weighted average over constituent capacities with volumetric fractions θfracs.

CryoGrid.Heat.thermalconductivity!Method
thermalconductivity!(sub::SubSurface, heat::HeatBalance, state)

Computes the thermal conductivity for the given layer from the current state and stores the result in-place in the state variable k.

CryoGrid.Heat.thermalconductivityMethod
thermalconductivity(::SubSurface, state, i)

Computes the thermal conductivity for the given SubSurface layer at grid cell i.

CryoGrid.Heat.thermalconductivityMethod
thermalconductivity(sub::SubSurface, heat::HeatBalance, state, i)

Computes the thermal conductivity as a squared weighted sum over constituent conductivities with volumetric fractions θfracs.