So we actually set them to `u - bc_value` where u satisfies the bcs.  Which has the same effect I think.  We could directly set them to 0 instead (that might fix your worries about u being assembled to not satisfy bcs).