PISM, A Parallel Ice Sheet Model  stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800

◆ compute_3d_horizontal_velocity()

void pism::stressbalance::SIAFD::compute_3d_horizontal_velocity ( const Geometry geometry,
const array::Staggered h_x,
const array::Staggered h_y,
const array::Vector sliding_velocity,
array::Array3D u_out,
array::Array3D v_out 
)
protectedvirtual

Compute horizontal components of the SIA velocity (in 3D).

Recall that

\[ \mathbf{U}(z) = -2 \nabla h \int_b^z F(s)P(s)ds + \mathbf{U}_b,\]

which can be written in terms of \(I(z)\) defined in compute_I():

\[ \mathbf{U}(z) = -I(z) \nabla h + \mathbf{U}_b. \]

Note
This is one of the places where "hybridization" is done.
Parameters
[in]h_xthe X-component of the surface gradient, on the staggered grid
[in]h_ythe Y-component of the surface gradient, on the staggered grid
[in]sliding_velocitythe thickness-advective velocity from the underlying stress balance module
[out]u_outthe X-component of the resulting horizontal velocity field
[out]v_outthe Y-component of the resulting horizontal velocity field

Definition at line 861 of file SIAFD.cc.

References compute_I(), pism::array::Array3D::get_column(), I, pism::k, pism::Component::m_grid, m_work_3d_0, m_work_3d_1, and pism::array::Array::update_ghosts().

Referenced by update().