I am trying to implement an additional wrapping object in my model. It is a cylinder to represent the spine of the scapula. I have a problem though when running the model with this cylinder. Although the program runs the model does not respect the wrapping conditions throughout the movement. See the attached figure - the highlighted muscle passes through the wrapping object (blue cylinder seen from the end view) in time steps 3, 4 and 5 but then seems to wrap around the object at time step 6. I have tried increasing SPLine.StringMesh for the muscle in question but that does not help. I am surprised no error came up if the muscle did not respect the wrapping object.
Any ideas on this?
Thanks for the help
Model is also attached
That does look strange indeed. I increased the number of time steps to 70 and ran the model again. The muscle appears to penetrate the cylinder and then after some time steps it suddenly jumps to the surface of the cylinder.
I have played a bit with the model, and there is something else that is strange: Try running the kinematic analysis and then plotting the property Main.MyStudy.Output.Model.Muscles.supraspinatus_3.Lmt. This is the total length of the muscle-tendon unit. The strange thing is that this seems completely continuous and not with a jump at the time step when the muscle jumps to the surface of the cylinder. This is confirmed by plotting the velocity, LmtDot, which is also completely continuous. Please try it out and confirm my finding.
This makes me suspect that the problem is not in the muscle wrapping algorithm but in the ModelView update function. You see, to allow interactivity, the ModelView runs in its own computational thread and receives messages from the computational process about updates. Sometimes the timing of this can go wrong, and the ModelView plots something that is not the current state of the model.
So your problem is likely just a visual one, but I will of course bug-report the problem to our programmers.
Thanks for the reply.
I also plotted Lmt and Lmtdot and got the same results as you - continuous curves. So this is good in that it seems like the wrapping object is working as intended just the visualization of this that is not. This will make it a bit more time consuming to error-check wrapping objects to see if they are working as intended so it would be great to hear if the programmers come up with a solution to the visualization problem.