Heat conduction
CryoGrid.Heat.GeothermalHeatFlux — Type
GeothermalHeatFlux{TQ} <: BoundaryProcess{HeatBalance}Represents a simple, forced Neumann heat flux boundary condition for HeatBalance processes.
CryoGrid.Heat.GroundHeatFlux — Type
GroundHeatFlux{TE,TQ} <: BoundaryProcess{HeatBalance}Represents a simple, forced Neumann heat flux boundary condition for HeatBalance processes.
CryoGrid.Heat.HeatBalance — Type
HeatBalance{THeatOp<:HeatOperator,Tdt,Tprop} <: SubSurfaceProcessRepresents subsurface heat transfer processes. The formulation of heat transfer is governed by the HeatOperator, op.
CryoGrid.Heat.HeatBalanceImplicit — Type
Type alias for the implicit enthalpy formulation of HeatBalance.
CryoGrid.Heat.PermafrostTemperatureInit — Type
PermafrostTemperatureInit{TT1,TT2,TTb,TTm,Tz1,Tz2,Tz3,Tz4} <: VarInitializer{:T}Simple, piecewise linear temprature initializer that uses three temperature values and four characteristic depths to initialize the temperature profile. T0 is the initial surface temperature, Tpf is the permafrost temperature at z_deep, z_thaw and z_base are the top and bottom freezing fronts which are both assumed to be have temperature equal to Tm.
CryoGrid.Heat.PermafrostTemperatureInit — Method
(init::PermafrostTemperatureInit)(T::AbstractVector, grid::Grid)Evaluate the initializer on the given temperature vector T which should match the length of cells(grid).
CryoGrid.Heat.StefanProblem — Type
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.TemperatureBC — Type
TemperatureBC{E,F} <: BoundaryProcess{HeatBalance}Represents a simple, Dirichlet temperature boundary condition for HeatBalance processes.
CryoGrid.Heat.ThermalProperties — Type
ThermalPropertiesMaterial 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.TemperatureProfile — Method
TemperatureProfile(pairs::Pair{<:Union{DistQuantity,Param},<:Union{TempQuantity,Param}}...)Convenience constructor for Numerics.Profile which automatically converts temperature quantities.
CryoGrid.Heat.enthalpy — Method
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.enthalpyinv — Method
enthalpyinv(H, C, L, θ) = (H - L*θ) / CDiscrete inverse enthalpy function given H, C, L, and θ.
CryoGrid.Heat.enthalpyinv — Method
enthalpyinv(::FreeWater, H, θwi, C, L)Inverse enthalpy function for free water freezing characteristic given enthalpy H, total water content θwi, heat capacity C, and latent heat of fusion L.
CryoGrid.Heat.enthalpyinv — Method
enthalpyinv([::FreezeCurve], sub::SubSurface, heat::HeatBalance, state)Evaluates the inverse enthalpy function (H -> T) on the current state.
CryoGrid.Heat.freezecurve — Method
freezecurve(sub::SubSurface)Returns the soil freezing characteristic FreezeCurve for the given subsurface layer. Defautls to FreeWater.
CryoGrid.Heat.freezethaw! — Method
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!(::FreezeCurve, ::SubSurface, ::Process, 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.heat_conduction_linear_periodic_ub — Method
Analytical solution to linear form of the heat equation on a semi-infinite rod with periodic fluctuations at the upper boundary. Solution taken from Riseborough et al. 2008.
CryoGrid.Heat.heatcapacity! — Method
heatcapacity!(sub::SubSurface, 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.heatcapacity — Method
heatcapacity(sub::SubSurface, state, i)Computes the heat capacity as a weighted average over constituent capacities with volumetric fractions θfracs.
CryoGrid.Heat.thermalconductivity! — Method
thermalconductivity!(sub::SubSurface, 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.thermalconductivity — Method
thermalconductivity(sub::SubSurface, heat::HeatBalance, state, i)Computes the thermal conductivity as a squared weighted sum over constituent conductivities with volumetric fractions θfracs.
CryoGrid.Heat.thermalproperties — Method
thermalproperties(::SubSurface)Returns the thermal properties for the given subsurface layer.