Error message in muscle wrapping

I am getting the following error:

Supinator_humerus_part_1 : Number of allowed iterations for
contact solution has been exceeded in
Main.Model.HumanModel.Left.ShoulderArm.Mus.Supinator_humerus_part_1.SPL
ine

I have written about this before, and I have increased the
SPline.StringMesh to 250 (5 times the original amount), at which point
the model would run. I’m not sure if the problem I am having is the
result of the fact that I recently uploaded a new version of AnyBody,
or if I have something else wrong with the model. I am attaching it
for comment.

I would appreciate any help!

Thanks,
Sarah

Hi Sarah

We have recently uploaded a new repository, where the shoulder arm
model has been updated. Some of the things we updated where the
wrapping paths of the supinator muscles as i recall it. I think it
might solve your problem, using this repository

http://www.anybody.aau.dk/repository/Repository6/index.htm

This version only runs with AnyBody Ver. 2., because many of the
models make use of new features in the system.

I have made a comparison between the definition of the cylinder
which the supinator wraps on in repository 5 and repository6 ,
please see the file brep/aalborg/Arm3d/RadiusMuscleGeometry.any

The cylinder is defined slightly differently in the two repositories
i think the main thing is that now the cylinder is a bit longer.
Previously the muscle could in some cases slide around he cylinder
edge which could cause the problems you have.

Here is the new cylinder definition

// Cylinder fitted to the radius bone for wrapping of supinator,
not from literature.
AnyRefNode SupinatorCyl = {

 AnyVec3 P1 =sRel;
 AnyVec3 P2 =.Scale( {0.0406227,-0.000, 0.008321})

.Mirror;//sRel+VZLength;
AnyVec3 P3 =.Scale({-0.182219,-0.027245, -0.002})
.Mirror;//sRel+VXRadius;

 sRel = .Scale({-0.182103, -0.027227, 0.0050})*.Mirror;
 //Calculate rot matrix for cylinder using three points
 //p2-p1 used to find x axis
 //p3-p1 used to find the y axis
 //z axis found as cross product
 AnyMat33  Mat = RotMat(sRel,P3,P2);

 //Switch around the on the columns to compensate that the

cylinder has
//main axis along the zaxis
ARel={
{Mat[0][2],Mat[0][0],Mat[0][1]},
{Mat[1][2],Mat[1][0],Mat[1][1]},
{Mat[2][2],Mat[2][0],Mat[2][1]}};

 AnySurfCylinder cyl = {
   Radius=((.sRel[0]-.P3[0])^2+(.sRel[1]-.P3[1])^2+(.sRel[2]-.P3

[2])^2)^0.5;
Length= ((.sRel[0]-.P2[0])^2+(.sRel[1]-.P2[1])^2+(.sRel[2]-.P2
[2])^2)^0.5;
//AnyDrawParamSurf drw={RGB={1,0,0};};
CapRatio=1;
};
};

So i think you should either change the entire repository, or you
should change the lines above, in the file
brep/aalborg/Arm3d/RadiusMuscleGeometry.any

It is correct to increase the number of points in the StringMesh
when you see the error you have got, but a mesh size of 250 is too
much and will slow down the model, it will normally be a sign that
something else is wrong. This could be that the muscle is sliding
around the end of the cylinder or moves sideways in big steps
between each time step. The best way to see this is to exclude all
muscles but the one causing the problem, make the objects it wraps
on visible and then run the kinematic analysis, while keeping a
close eye on the muscle motion.

I hope this helps you solve the problems, otherwise please write
again.

Best regards
Søren, AnyBody Support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan” <sarsulli@…>
wrote:
>
> I am getting the following error:
>
> Supinator_humerus_part_1 : Number of allowed iterations for
> contact solution has been exceeded in
>
Main.Model.HumanModel.Left.ShoulderArm.Mus.Supinator_humerus_part_1.S
PL
> ine
>
> I have written about this before, and I have increased the
> SPline.StringMesh to 250 (5 times the original amount), at which
point
> the model would run. I’m not sure if the problem I am having is
the
> result of the fact that I recently uploaded a new version of
AnyBody,
> or if I have something else wrong with the model. I am attaching
it
> for comment.
>
> I would appreciate any help!
>
> Thanks,
> Sarah
>