"Number of allowed iterations for contact solution has been exceeded..."

Hi All,

I have been working on putting together a single-upper-arm model,
following step-by-step the online building block tutorial (except, of
course, I was using an arm instead of a leg) and everything was going
well until I added the following line to the study part of the main file:

AnyFolder &Body = .HumanModel;

I got the following response:

WARNING - Via-point
‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’ on
‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine’ is
located below the wrapping surface
‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
WARNING - Via-point
‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’ on
‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine’
is located below the wrapping surface
‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’.

ERROR : C:\Documents and
Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4\BRep\Aalborg\Ar
m3D\Muscle.any(53)
: biceps_brachii_caput_longum : Number of allowed iterations for
contact solution has been exceeded in
Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
Model loading skipped

Any recommendations on how to change any of the above files so that I
can load my model and continue on with the tutorial? I have been
stumped for a while now, and any help would be appreciated!

Thanks,
Sarah

Hi Sarah

The first warning that you get is not fatal if you get it at load
time. It means that one of the points that the muscles passes
through is located inside one on the surfaces it should wrap around.
If you get it at load time it just means that the intial positions
of the segments makes this happen. If it happens when you run the
analysis it a more important warning. Then it may affect the
wrapping of the muscles, the solution is to make sure that none of
the end or via points on the muscle is located inside the wrapping
surfaces at any time during the analysis.

So it is important to notify if these warning appear when you run an
analysis or just at load time.

The second problem you have could be a result of having the end
points or via poitns located inside the surface while running the
analysis. It could also be due to numeric problems of the contact
algorithm, here the solution is to increase the number of points
used for the muscle. If you open the file
Brep/aalborg/arm3d/muscle.any and find the
biceps_brachii_caput_longum muscle you should increase the variable
named SPLine.StringMesh. Increasing the number will add more points
to the muscle and enhance the accuray of the muscle wrapping, but it
will also slow down the analysis so the number should not be too
large.

I hope this solves your problem otherwise please let us know

Best regards
AnyBody support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan”
<sarsulli@e…> wrote:
> Hi All,
>
> I have been working on putting together a single-upper-arm model,
> following step-by-step the online building block tutorial (except,
of
> course, I was using an arm instead of a leg) and everything was
going
> well until I added the following line to the study part of the
main file:
>
> AnyFolder &Body = .HumanModel;
>
> I got the following response:
>
> WARNING - Via-point
> ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’ on
> ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine’
is
> located below the wrapping surface
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
> WARNING - Via-point
> ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’ on
> 'Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine

> is located below the wrapping surface
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’
.
>
> ERROR : C:\Documents and
> Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4
\BRep\Aalborg\Arm3D\Muscle.any(53)
> : biceps_brachii_caput_longum : Number of allowed iterations
for
> contact solution has been exceeded in
> Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> Model loading skipped
>
> Any recommendations on how to change any of the above files so
that I
> can load my model and continue on with the tutorial? I have been
> stumped for a while now, and any help would be appreciated!
>
> Thanks,
> Sarah

Hi,

Thanks for getting back to me so quickly. Unfortunately though, I am
still having a hard time with the model. Interestingly enough, when I
close out AnyBody and then re-open a workstation I can load the current
model I have in about 2 seconds. Through a new model view the model looks
all jumbled, which is to be expected. However, when I run the
“SetInitialConditions” button, I get the following error:

Position analysis failed because the system is kinematically indeterminate.

  • attempts to continue (attempt no. 1).
    Position analysis failed because the system is kinematically indeterminate.
  • attempts to continue (attempt no. 2).
    Position analysis failed because the system is kinematically indeterminate.
  • attempts to continue (attempt no. 3).
    Position analysis failed because the system is kinematically indeterminate.
  • attempts to continue (attempt no. 4).
    Position analysis failed because the system is kinematically indeterminate.
  • attempts to continue (attempt no. 5).

ERROR : C:\Documents and
Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4\ARep\Wheelchair
\Wheelchair\Wheelchair.Main.any(39)
: MyStudy : Position analysis failed because the system is
kinematically indeterminate.

From here, if I try to reload the model, I get the same warning and error
messages that I was getting previously:

Singular orientation (Gimbal Lock) for AnyKinRotational object:
‘Main.HumanModel.ShoulderArm.Jnt.GHRot’
WARNING - Via-point ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’
on ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine’ is
located below the wrapping surface
‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
WARNING - Via-point ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’
on ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine’ is
located below the wrapping surface
‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’.

ERROR : C:\Documents and
Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4\BRep\Aalborg\Ar
m3D\Muscle.any(53)
: biceps_brachii_caput_longum : Number of allowed iterations for
contact solution has been exceeded in
Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
Model loading skipped

I have tried adjusting the variable named SPLine.StringMesh, however that
is not helping the problem (is tripling the number increasing the variable
enough?). How can I go about determining if, for example, a point that
the muscle passes through is located inside one of the surfaces it should
wrap around?

Thanks again for your help,
Sarah

> Hi Sarah
>
> The first warning that you get is not fatal if you get it at load
> time. It means that one of the points that the muscles passes
> through is located inside one on the surfaces it should wrap around.
> If you get it at load time it just means that the intial positions
> of the segments makes this happen. If it happens when you run the
> analysis it a more important warning. Then it may affect the
> wrapping of the muscles, the solution is to make sure that none of
> the end or via points on the muscle is located inside the wrapping
> surfaces at any time during the analysis.
>
> So it is important to notify if these warning appear when you run an
> analysis or just at load time.
>
> The second problem you have could be a result of having the end
> points or via poitns located inside the surface while running the
> analysis. It could also be due to numeric problems of the contact
> algorithm, here the solution is to increase the number of points
> used for the muscle. If you open the file
> Brep/aalborg/arm3d/muscle.any and find the
> biceps_brachii_caput_longum muscle you should increase the variable
> named SPLine.StringMesh. Increasing the number will add more points
> to the muscle and enhance the accuray of the muscle wrapping, but it
> will also slow down the analysis so the number should not be too
> large.
>
> I hope this solves your problem otherwise please let us know
>
> Best regards
> AnyBody support
>
>
> — In anyscript@yahoogroups.com, “Sarah R. Sullivan”
> wrote:
> > Hi All,
> >
> > I have been working on putting together a single-upper-arm model,
> > following step-by-step the online building block tutorial (except,
> of
> > course, I was using an arm instead of a leg) and everything was
> going
> > well until I added the following line to the study part of the
> main file:
> >
> > AnyFolder &Body = .HumanModel;
> >
> > I got the following response:
> >
> > WARNING - Via-point
> > ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’ on
> > ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine’
> is
> > located below the wrapping surface
> > ‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
> > WARNING - Via-point
> > ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’ on
> > 'Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> ’
> > is located below the wrapping surface
> > ‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’
> .
> >
> > ERROR : C:\Documents and
> > Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4
> \BRep\Aalborg\Arm3D\Muscle.any(53)
> > : biceps_brachii_caput_longum : Number of allowed iterations
> for
> > contact solution has been exceeded in
> > Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> > Model loading skipped
> >
> > Any recommendations on how to change any of the above files so
> that I
> > can load my model and continue on with the tutorial? I have been
> > stumped for a while now, and any help would be appreciated!
> >
> > Thanks,
> > Sarah
>
>
>
>
> AnyBody Technology provides free support on the use of the AnyBody
> Modeling System and the Scripting language AnyScript. Other users are
> welcome to join the discussions.
>
>
> Yahoo! Groups Links
> To visit your group on the web, go to:
> http://groups.yahoo.com/group/anyscript/
> To unsubscribe from this group, send an email to:
> anyscript-unsubscribe@yahoogroups.com
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


Sarah R. Sullivan
PhD Candidate, Biomedical Engineering
Rutgers, The State University of New Jersey
Piscataway, NJ 08854
sarsulli@eden.rutgers.edu
908-420-3371

Hi Sarah

Sorry about your problems…

I think you should try to take it in two steps
1 make sure the kinematics of your model is running
2 solve the muscle wrapping problem you appear to have

Problem 1:
In your main file please select to use a human model with no muscles
on. It should have a name with this extension “_nomuscles.any” since
this model have no muscles. Or simply outcomment all the muscles in
the files arm3d/muscles.any and arm3d/muscles-forearm.any

The error you get that the system is kinematically indeterminate is
most likely because the GH joint is in a gimbal lock position.
Gimbal lock means that the joint is at an singular indeterminate
position. The simplest solution is to change the drivers for the arm
away from this position, if you drive the GH joint change its driver
values. Alternatively you will have to change the type definition of
the GH joint in the file arm3d/joints.any to Type=RotVector which do
not have any problems with gimbal lock.

When your model is running swith back the muscles again

Problem 2:
It should not be needed to tripel the SPline.Mesh number something
like 80 would normally be high enough.

The only way to determine if the muscle end points or via points is
penetrating the wrapping surface is to look if you have the warning.
If you get this you have that you have to decide what is the reason.
If it is at load time before running any analysis, you can ignore it.
If it appears while running an analysis generaly there could be two
reasons:
1: The model is driven into an unrealistic position for exampel
having the arm penetraing the ribcage. Here the solution is to
change the motion.
2: The location of the muscle insertation points and via points in
respect to the wrapping surfaces could be incorrect. To visualize
this you will have to find the surface generating the problem and
swith on a visualization of it. Then looking at the muscle points
you should be able to see where they penetrate the surface. To solve
the problem you will have to move either the muscle insertation
points or the surface.

I hope this helps solving your problems otherwise please let us know.

Best regards
AnyBody support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan”
<sarsulli@e…> wrote:
> Hi,
>
> Thanks for getting back to me so quickly. Unfortunately though, I
am
> still having a hard time with the model. Interestingly enough,
when I
> close out AnyBody and then re-open a workstation I can load the
current
> model I have in about 2 seconds. Through a new model view the
model looks
> all jumbled, which is to be expected. However, when I run the
> “SetInitialConditions” button, I get the following error:
>
> Position analysis failed because the system is kinematically
indeterminate.
> - attempts to continue (attempt no. 1).
> Position analysis failed because the system is kinematically
indeterminate.
> - attempts to continue (attempt no. 2).
> Position analysis failed because the system is kinematically
indeterminate.
> - attempts to continue (attempt no. 3).
> Position analysis failed because the system is kinematically
indeterminate.
> - attempts to continue (attempt no. 4).
> Position analysis failed because the system is kinematically
indeterminate.
> - attempts to continue (attempt no. 5).
>
> ERROR : C:\Documents and
> Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4
\ARep\Wheelchair\Wheelchair\Wheelchair.Main.any(39)
> : MyStudy : Position analysis failed because the system is
> kinematically indeterminate.
>
> From here, if I try to reload the model, I get the same warning
and error
> messages that I was getting previously:
>
> Singular orientation (Gimbal Lock) for AnyKinRotational object:
> ‘Main.HumanModel.ShoulderArm.Jnt.GHRot’
> WARNING - Via-
point ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’
>
on 'Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine
’ is
> located below the wrapping surface
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
> WARNING - Via-
point ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’
>
on ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLin
e’ is
> located below the wrapping surface
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’
.
>
> ERROR : C:\Documents and
> Settings\ssullivan\Desktop\AnyBodyRepository4\AnyBodyRepository4
\BRep\Aalborg\Arm3D\Muscle.any(53)
> : biceps_brachii_caput_longum : Number of allowed iterations
for
> contact solution has been exceeded in
> Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> Model loading skipped
>
> I have tried adjusting the variable named SPLine.StringMesh,
however that
> is not helping the problem (is tripling the number increasing the
variable
> enough?). How can I go about determining if, for example, a point
that
> the muscle passes through is located inside one of the surfaces it
should
> wrap around?
>
> Thanks again for your help,
> Sarah
>
> > Hi Sarah
> >
> > The first warning that you get is not fatal if you get it at
load
> > time. It means that one of the points that the muscles passes
> > through is located inside one on the surfaces it should wrap
around.
> > If you get it at load time it just means that the intial
positions
> > of the segments makes this happen. If it happens when you run
the
> > analysis it a more important warning. Then it may affect the
> > wrapping of the muscles, the solution is to make sure that none
of
> > the end or via points on the muscle is located inside the
wrapping
> > surfaces at any time during the analysis.
> >
> > So it is important to notify if these warning appear when you
run an
> > analysis or just at load time.
> >
> > The second problem you have could be a result of having the end
> > points or via poitns located inside the surface while running
the
> > analysis. It could also be due to numeric problems of the
contact
> > algorithm, here the solution is to increase the number of points
> > used for the muscle. If you open the file
> > Brep/aalborg/arm3d/muscle.any and find the
> > biceps_brachii_caput_longum muscle you should increase the
variable
> > named SPLine.StringMesh. Increasing the number will add more
points
> > to the muscle and enhance the accuray of the muscle wrapping,
but it
> > will also slow down the analysis so the number should not be too
> > large.
> >
> > I hope this solves your problem otherwise please let us know
> >
> > Best regards
> > AnyBody support
> >
> >
> > — In anyscript@yahoogroups.com, “Sarah R. Sullivan”
> > wrote:
> > > Hi All,
> > >
> > > I have been working on putting together a single-upper-arm
model,
> > > following step-by-step the online building block tutorial
(except,
> > of
> > > course, I was using an arm instead of a leg) and everything
was
> > going
> > > well until I added the following line to the study part of the
> > main file:
> > >
> > > AnyFolder &Body = .HumanModel;
> > >
> > > I got the following response:
> > >
> > > WARNING - Via-point
> > > ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_SH’ on
> >
> ‘Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_breve.SPLine’
> > is
> > > located below the wrapping surface
> >
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.collum_hum.collum_hum’.
> > > WARNING - Via-point
> > > ‘Main.HumanModel.ShoulderArm.Seg.Radius.I_Biceps_LH’ on
> >
> 'Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> > ’
> > > is located below the wrapping surface
> >
> ‘Main.HumanModel.ShoulderArm.Seg.Humerus.art_gh_hum.art_gh_humSurf’
> > .
> > >
> > > ERROR : C:\Documents and
> > > Settings\ssullivan\Desktop\AnyBodyRepository4
\AnyBodyRepository4
> > \BRep\Aalborg\Arm3D\Muscle.any(53)
> > > : biceps_brachii_caput_longum : Number of allowed
iterations
> > for
> > > contact solution has been exceeded in
> > >
Main.HumanModel.ShoulderArm.Mus.biceps_brachii_caput_longum.SPLine
> > > Model loading skipped
> > >
> > > Any recommendations on how to change any of the above files so
> > that I
> > > can load my model and continue on with the tutorial? I have
been
> > > stumped for a while now, and any help would be appreciated!
> > >
> > > Thanks,
> > > Sarah
> >
> >
> >
> >
> > AnyBody Technology provides free support on the use of the
AnyBody
> > Modeling System and the Scripting language AnyScript. Other
users are
> > welcome to join the discussions.
> >
> >
> > Yahoo! Groups Links
> > To visit your group on the web, go to:
> > http://groups.yahoo.com/group/anyscript/
> > To unsubscribe from this group, send an email to:
> > anyscript-unsubscribe@yahoogroups.com
> > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.
>
>
> –
> Sarah R. Sullivan
> PhD Candidate, Biomedical Engineering
> Rutgers, The State University of New Jersey
> Piscataway, NJ 08854
> sarsulli@e…
> 908-420-3371