PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
◆ set_basal_heat_flux()
Set coefficients in discrete equation for Neumann condition at base of ice. This method generates the Neumann boundary condition for the linear system. The Neumann boundary condition is \[ \frac{\partial E}{\partial z} = - \frac{\phi}{K} \] where \(\phi\) is the heat flux. Here \(K\) is allowed to vary, and takes its value from the value computed in assemble_R(). The boundary condition is combined with the partial differential equation by the technique of introducing an imaginary point at \(z=-\Delta z\) and then eliminating it. In other words, we combine the centered finite difference approximation \[ \frac{ E_{1} - E_{-1} }{2\dz} = -\frac{\phi}{K} \] with \[ -R_{k-\frac12} E_{k-1} + \left( 1 + R_{k-\frac12} + R_{k+\frac12} \right) E_{k} - R_{k+\frac12} E_{k+1} + \text{advective terms} = \dots \] to get \begin{align*} \frac{E_{1}-E_{-1}}{2\,\Delta z} & = -\frac{\phi}{K_{0}}, \\ E_{1}-E_{-1} & = -\frac{2\,\Delta z\,\phi}{K_{0}}, \\ E_{-1}\,R_{-\frac12}-R_{-\frac12}\,E_{1} & = \frac{2\,R_{-\frac12}\,\Delta z\,\phi}{K_{0}}, \\ -R_{\frac12}\,E_{1}+E_{0}\,\left(R_{\frac12}+R_{-\frac12}+1\right)-E_{-1}\,R_{-\frac12} + \text{advective terms} & = \dots, \\ \left(-R_{\frac12}-R_{-\frac12}\right)\,E_{1}+E_{0}\,\left(R_{\frac12}+R_{-\frac12}+1\right) + \text{advective terms} & = \frac{2\,R_{-\frac12}\,\Delta z\,\phi}{K_{0}}+\dots. \end{align*} The error in the pure conductive and smooth conductivity case is \( O(\dz^2) \). This method should only be called if everything but the basal boundary condition is already set.
Definition at line 328 of file enthSystem.cc. References G, pism::hydrology::K(), pism::columnSystemCtx::m_dt, pism::columnSystemCtx::m_dz, m_ice_density, m_R, and set_basal_neumann_bc(). Referenced by pism::energy::CHSystem::update_impl(), and pism::energy::EnthalpyModel::update_impl(). |