Latent heat
Methods
Latent heat (of crystallisation) can be implemented as a source term (usually numerically not very stable):
GeoParams.MaterialParameters.LatentHeat.ConstantLatentHeat
— TypeConstantLatentHeat(Q_L=400kJ/kg)
Set a constant latent heat:
\[ Q_L = cst\]
where $Q_L$ is the latent heat [$J/kg$].
Alternatively, you can implement it by modifying the heat capacity, which is often numerically better.
GeoParams.MaterialParameters.HeatCapacity.Latent_HeatCapacity
— TypeLatent_HeatCapacity(Cp=ConstantHeatCapacity(), Q_L=400kJ/kg)
This takes the effects of latent heat into account by modifying the heat capacity in the temperature equation:
\[\rho C_p^{\textrm{new}} \frac{\partial T}{\partial t} = \frac{\partial }{\partial x_i} \left( k \frac{\partial T}{\partial x_i} \right) + H_s\]
with
\[C_p^{\textrm{new}} = C_p + \frac{\partial \phi}{\partial T} Q_L\]
where $Q_L$ is the latent heat [$J/kg$], and $\frac{\partial \phi}{\partial T}$ is the derivative of the melt fraction with respect to temperature