I fully agree about the geometry.
In order to enforce the no-slip, the velocity is set to zero at BounceBack nodes (cf. BounceBack::computeU). The density is typically computed as in the bulk (which is the prescribed value is our case, since it does not changed after initialization), cf. BounceBack::computeRho.