Hi Runjian,
Darcy flux (eqn A-2 in the user manual) is given as
q = - (k * kr)/mu * dphi/||dist||
dphi = (P - W*rho*g*z)_up - (P - W*rho*g*z)_dn,
||dist|| = norm of separation distance.
where 'up' and 'dn' corresponds to upwind and downwind control volumes.
For the unit_gradient BC, the difference in liquid pressure between up and dn cells is not accounted for, so
A zero-gradient BC on a region for RICHARDS mode = Not specifying any BC on a region for RICHARDS mode.
As I understand it, the advantage of ZERO_GRADIENT_BC is for mode other than RICHARDS. e.g. In TH mode, you could specify a ZERO_GRADIENT_BC for pressure, but a dirichlet/neumann for temperature on a region. But, if you one doesn't specify a BC for a region, "no flow" BC is assumed by default for both pressure and temperature.
-Gautam.