This is not quite true. The model still accounts for deformation from the half space and assumes that the half space and contact sphere have the same material properties. Here is where the contact points are calculated in Simbody by taking into account half the indentation distance (i.e., since the material properties are assumed equal).I think then this also defines all the ground contact deformation to take place in the contact sphere, with an undeformable contact halfspace.
However, when the contact forces are applied to the half space body, they are transformed into body forces via Simbody's applyForceToBodyPoint. This computes the set of spatial forces and torques expressed in ground equivalent to the applied contact forces. The torques are computed by taking the cross product of the contact point in the half body (re-expressed in ground) with the applied contact force vector (Simbody implementation here).
All that to say: when you compute the spatial body forces on the half space from the contact sphere, the body torques will be about the origin, already accounting for true contact point location due to the Hertz force deformation. That's maybe more detail than you wanted, but sometime helpful to know where the devil is in these types of calculations.
That is correct. I think this is what most users would expect from this utility: a set of external loads that mimic the loads usually applied to OpenSim models (e.g., when running the inverse dyanmics tool).As a check that I'm fully understanding this, essentially you mean Tz = Mz - x * Fy + y * Fx [using Z is up] or Ty = My + x *Fz - z *Fx [using Y is up]. All this assumes we're talking about the halfspaceforces and torques, all expressed in the ground frame with respect to the ground origin.
Best,
Nick