shoulder model still in progress

Hi Anybody team,
I’ve worked on my model for a couple of days and I have a new
problem. Actually, I try to do a parameters study that change some
dimensions of the glenohumeral head, that have been replaced by a
elliptical shape (prosthesis). To do so, I change the semi-length (a)
and the initial rotation of the ellipse (‘rot0’ or ‘r0’), to study the
effect on the deltoid muscle force (Fm). I’ve placed these variables
in the main program, to assure a quick access to them. I’ve also
linked these variables in the entire model.

In Matlab, I have programmed an algorithm that create a serie of
folders and files. Each folder is associated with a change of the
semi-length and initial rotation. Let’s take a further look on this.
For exemple, a folder named : “a=32” contains all the files that
represent the semi-length (a) that equals to 32. In this folder, I
have placed all the folder ‘r0’ that goes from 0 degres of initial
rotation to 55 degrees. Each of these ‘r0’ folders finally contains
the via points files that I have to use in Anybody.

The reason why I’ve created this ‘folder/files’ system is to be able
to quickly organize and retreive my datas. Also, it should be easier
to get access to it by simply associate the folders names with the
parameters values, during the parameters study in Anybody.

It can seams a little bit tricky and complicated, but you don’t have
to understand all that to be able to answer to my 2 questions.

Then, my question can be formulated as follows :

  1. Can I concatened ‘string’ variables in Anybody with use of the
    parameters values ?

For exemple, I want to point the file named “vp1_120_32_28_0”, that
represent the parameters values of a = 32, b = 28 and r0 = 0. Can I do
something like this : filename = “vp1_120_” + a + “" + b + "” + r0

I know that it’s possible in other programmation language like visual
basic. Maybe it’s also possible in Anybody ?

Also, if you check the main program, you can see that I’ve created a
string variable that point to the right place to retreive the data.
Then, my other question is :

  1. I want to know if it’s possible to point to a specific folder,
    instead of put all the files in the same folder ?

Thank you for your patience and availability.

Best regards,

Pierre-Olivier

Hi Pierre-Olivier

I have created a small example which should display how both of your
questions can be solved. I have uploaded it to the
folder “SmallExamples”.

I hope this is what you are missing, otherwise please write again.

Best regards
Søren

— In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
<pothekid@…> wrote:
>
> Hi Anybody team,
> I’ve worked on my model for a couple of days and I have a
new
> problem. Actually, I try to do a parameters study that change some
> dimensions of the glenohumeral head, that have been replaced by a
> elliptical shape (prosthesis). To do so, I change the semi-length
(a)
> and the initial rotation of the ellipse (‘rot0’ or ‘r0’), to study
the
> effect on the deltoid muscle force (Fm). I’ve placed these
variables
> in the main program, to assure a quick access to them. I’ve also
> linked these variables in the entire model.
>
> In Matlab, I have programmed an algorithm that create a serie of
> folders and files. Each folder is associated with a change of the
> semi-length and initial rotation. Let’s take a further look on
this.
> For exemple, a folder named : “a=32” contains all the files that
> represent the semi-length (a) that equals to 32. In this folder, I
> have placed all the folder ‘r0’ that goes from 0 degres of initial
> rotation to 55 degrees. Each of these ‘r0’ folders finally contains
> the via points files that I have to use in Anybody.
>
> The reason why I’ve created this ‘folder/files’ system is to be
able
> to quickly organize and retreive my datas. Also, it should be
easier
> to get access to it by simply associate the folders names with the
> parameters values, during the parameters study in Anybody.
>
> It can seams a little bit tricky and complicated, but you don’t
have
> to understand all that to be able to answer to my 2 questions.
>
> Then, my question can be formulated as follows :
>
> 1. Can I concatened ‘string’ variables in Anybody with use of the
> parameters values ?
>
> For exemple, I want to point the file named “vp1_120_32_28_0”, that
> represent the parameters values of a = 32, b = 28 and r0 = 0. Can
I do
> something like this : filename = “vp1_120_” + a + “" + b + "” +
r0
>
> I know that it’s possible in other programmation language like
visual
> basic. Maybe it’s also possible in Anybody ?
>
> Also, if you check the main program, you can see that I’ve created
a
> string variable that point to the right place to retreive the data.
> Then, my other question is :
>
> 2. I want to know if it’s possible to point to a specific folder,
> instead of put all the files in the same folder ?
>
> Thank you for your patience and availability.
>
> Best regards,
>
> Pierre-Olivier
>

Hi Soren,
your solution have partially solved my problem. The fact is
that it works only for concatenation of strings and not for
concatenation of strings and float variables.

So, Jean-Olivier told me about the console application. I actually
work on this solution. It looks more powerful and better than running
the Anybody ‘win executable’, because I can put the console connexion
directly into my Matlab routine. It will allow me to directly refer my
via points, instead of creating a lot of via points folders. Also, I
should be able to run my parameters study in Matlab and not in Anybody
(do you think ?).

I will continue to work with the console. I should give you a feedback
really soon.

Thank you again

Pierre-Olivier

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Pierre-Olivier
>
> I have created a small example which should display how both of your
> questions can be solved. I have uploaded it to the
> folder “SmallExamples”.
>
> I hope this is what you are missing, otherwise please write again.
>
> Best regards
> Søren
>
>
> — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> <pothekid@> wrote:
> >
> > Hi Anybody team,
> > I’ve worked on my model for a couple of days and I have a
> new
> > problem. Actually, I try to do a parameters study that change some
> > dimensions of the glenohumeral head, that have been replaced by a
> > elliptical shape (prosthesis). To do so, I change the semi-length
> (a)
> > and the initial rotation of the ellipse (‘rot0’ or ‘r0’), to study
> the
> > effect on the deltoid muscle force (Fm). I’ve placed these
> variables
> > in the main program, to assure a quick access to them. I’ve also
> > linked these variables in the entire model.
> >
> > In Matlab, I have programmed an algorithm that create a serie of
> > folders and files. Each folder is associated with a change of the
> > semi-length and initial rotation. Let’s take a further look on
> this.
> > For exemple, a folder named : “a=32” contains all the files that
> > represent the semi-length (a) that equals to 32. In this folder, I
> > have placed all the folder ‘r0’ that goes from 0 degres of initial
> > rotation to 55 degrees. Each of these ‘r0’ folders finally contains
> > the via points files that I have to use in Anybody.
> >
> > The reason why I’ve created this ‘folder/files’ system is to be
> able
> > to quickly organize and retreive my datas. Also, it should be
> easier
> > to get access to it by simply associate the folders names with the
> > parameters values, during the parameters study in Anybody.
> >
> > It can seams a little bit tricky and complicated, but you don’t
> have
> > to understand all that to be able to answer to my 2 questions.
> >
> > Then, my question can be formulated as follows :
> >
> > 1. Can I concatened ‘string’ variables in Anybody with use of the
> > parameters values ?
> >
> > For exemple, I want to point the file named “vp1_120_32_28_0”, that
> > represent the parameters values of a = 32, b = 28 and r0 = 0. Can
> I do
> > something like this : filename = “vp1_120_” + a + “" + b + "” +
> r0
> >
> > I know that it’s possible in other programmation language like
> visual
> > basic. Maybe it’s also possible in Anybody ?
> >
> > Also, if you check the main program, you can see that I’ve created
> a
> > string variable that point to the right place to retreive the data.
> > Then, my other question is :
> >
> > 2. I want to know if it’s possible to point to a specific folder,
> > instead of put all the files in the same folder ?
> >
> > Thank you for your patience and availability.
> >
> > Best regards,
> >
> > Pierre-Olivier
> >
>

Hi Pierre-Olivier

You are right this is not possible in the current version of
AnyBody, in the forthcomming version 3.0 it is possible.

I think the console application is a good choice for your problem,
it will run faster and you can create the strings you need outside
AnyBody.

Best regards
Søren, AnyBody Support

— In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
<pothekid@…> wrote:
>
> Hi Soren,
> your solution have partially solved my problem. The fact is
> that it works only for concatenation of strings and not for
> concatenation of strings and float variables.
>
> So, Jean-Olivier told me about the console application. I actually
> work on this solution. It looks more powerful and better than
running
> the Anybody ‘win executable’, because I can put the console
connexion
> directly into my Matlab routine. It will allow me to directly
refer my
> via points, instead of creating a lot of via points folders. Also,
I
> should be able to run my parameters study in Matlab and not in
Anybody
> (do you think ?).
>
> I will continue to work with the console. I should give you a
feedback
> really soon.
>
> Thank you again
>
> Pierre-Olivier
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
wrote:
> >
> > Hi Pierre-Olivier
> >
> > I have created a small example which should display how both of
your
> > questions can be solved. I have uploaded it to the
> > folder “SmallExamples”.
> >
> > I hope this is what you are missing, otherwise please write
again.
> >
> > Best regards
> > Søren
> >
> >
> > — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> > <pothekid@> wrote:
> > >
> > > Hi Anybody team,
> > > I’ve worked on my model for a couple of days and I
have a
> > new
> > > problem. Actually, I try to do a parameters study that change
some
> > > dimensions of the glenohumeral head, that have been replaced
by a
> > > elliptical shape (prosthesis). To do so, I change the semi-
length
> > (a)
> > > and the initial rotation of the ellipse (‘rot0’ or ‘r0’), to
study
> > the
> > > effect on the deltoid muscle force (Fm). I’ve placed these
> > variables
> > > in the main program, to assure a quick access to them. I’ve
also
> > > linked these variables in the entire model.
> > >
> > > In Matlab, I have programmed an algorithm that create a serie
of
> > > folders and files. Each folder is associated with a change of
the
> > > semi-length and initial rotation. Let’s take a further look on
> > this.
> > > For exemple, a folder named : “a=32” contains all the files
that
> > > represent the semi-length (a) that equals to 32. In this
folder, I
> > > have placed all the folder ‘r0’ that goes from 0 degres of
initial
> > > rotation to 55 degrees. Each of these ‘r0’ folders finally
contains
> > > the via points files that I have to use in Anybody.
> > >
> > > The reason why I’ve created this ‘folder/files’ system is to
be
> > able
> > > to quickly organize and retreive my datas. Also, it should be
> > easier
> > > to get access to it by simply associate the folders names with
the
> > > parameters values, during the parameters study in Anybody.
> > >
> > > It can seams a little bit tricky and complicated, but you
don’t
> > have
> > > to understand all that to be able to answer to my 2 questions.
> > >
> > > Then, my question can be formulated as follows :
> > >
> > > 1. Can I concatened ‘string’ variables in Anybody with use of
the
> > > parameters values ?
> > >
> > > For exemple, I want to point the file named “vp1_120_32_28_0”,
that
> > > represent the parameters values of a = 32, b = 28 and r0 = 0.
Can
> > I do
> > > something like this : filename = “vp1_120_” + a + “_” + b

  • “_” +
    > > r0
    > > >
    > > > I know that it’s possible in other programmation language like
    > > visual
    > > > basic. Maybe it’s also possible in Anybody ?
    > > >
    > > > Also, if you check the main program, you can see that I’ve
    created
    > > a
    > > > string variable that point to the right place to retreive the
    data.
    > > > Then, my other question is :
    > > >
    > > > 2. I want to know if it’s possible to point to a specific
    folder,
    > > > instead of put all the files in the same folder ?
    > > >
    > > > Thank you for your patience and availability.
    > > >
    > > > Best regards,
    > > >
    > > > Pierre-Olivier
    > > >
    > >
    >

Hi again Soren,
the console works well. However, I have a new problem,
but this time it is related to the initial rotation of the prosthesis.
In fact, in my model, I drive this initial rotation by a modification
of the orientation of the glenohumeral articulation (‘art_gh_hum’),
which is an elliptic shape. More specifically, it’s the
‘art_tub_minus_tub_majus’ refnode. I’ve add a rotation matrix that I
drive by a ‘rot0’ parameters in the ‘inputdata.any’ file. When I run
the model for an non-zero initial rotation, the program gives me this
message :

ERROR(OBJ1) : F:\Program Files\AnyBody
Technology\AnyBody.2.0\abduction.main.any(38) : ‘MyStudy’ :
Muscle recruitment analysis failed, simplex solver reports that
solution does not satisfy all constraints.

I’ve seen this error a lot of time, but i have no idea why it doesn’t
works.

I will upload a new version of my model called ‘Shoulder_model_rot0’.
So, if you can tell me what is wrong, i would appreciate it.

thanks for your support and have a nice week

Best regards,

Pierre-Olivier

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Pierre-Olivier
>
> You are right this is not possible in the current version of
> AnyBody, in the forthcomming version 3.0 it is possible.
>
> I think the console application is a good choice for your problem,
> it will run faster and you can create the strings you need outside
> AnyBody.
>
> Best regards
> Søren, AnyBody Support
>
>
> — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> <pothekid@> wrote:
> >
> > Hi Soren,
> > your solution have partially solved my problem. The fact is
> > that it works only for concatenation of strings and not for
> > concatenation of strings and float variables.
> >
> > So, Jean-Olivier told me about the console application. I actually
> > work on this solution. It looks more powerful and better than
> running
> > the Anybody ‘win executable’, because I can put the console
> connexion
> > directly into my Matlab routine. It will allow me to directly
> refer my
> > via points, instead of creating a lot of via points folders. Also,
> I
> > should be able to run my parameters study in Matlab and not in
> Anybody
> > (do you think ?).
> >
> > I will continue to work with the console. I should give you a
> feedback
> > really soon.
> >
> > Thank you again
> >
> > Pierre-Olivier
> >
> > — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> wrote:
> > >
> > > Hi Pierre-Olivier
> > >
> > > I have created a small example which should display how both of
> your
> > > questions can be solved. I have uploaded it to the
> > > folder “SmallExamples”.
> > >
> > > I hope this is what you are missing, otherwise please write
> again.
> > >
> > > Best regards
> > > Søren
> > >
> > >
> > > — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> > > <pothekid@> wrote:
> > > >
> > > > Hi Anybody team,
> > > > I’ve worked on my model for a couple of days and I
> have a
> > > new
> > > > problem. Actually, I try to do a parameters study that change
> some
> > > > dimensions of the glenohumeral head, that have been replaced
> by a
> > > > elliptical shape (prosthesis). To do so, I change the semi-
> length
> > > (a)
> > > > and the initial rotation of the ellipse (‘rot0’ or ‘r0’), to
> study
> > > the
> > > > effect on the deltoid muscle force (Fm). I’ve placed these
> > > variables
> > > > in the main program, to assure a quick access to them. I’ve
> also
> > > > linked these variables in the entire model.
> > > >
> > > > In Matlab, I have programmed an algorithm that create a serie
> of
> > > > folders and files. Each folder is associated with a change of
> the
> > > > semi-length and initial rotation. Let’s take a further look on
> > > this.
> > > > For exemple, a folder named : “a=32” contains all the files
> that
> > > > represent the semi-length (a) that equals to 32. In this
> folder, I
> > > > have placed all the folder ‘r0’ that goes from 0 degres of
> initial
> > > > rotation to 55 degrees. Each of these ‘r0’ folders finally
> contains
> > > > the via points files that I have to use in Anybody.
> > > >
> > > > The reason why I’ve created this ‘folder/files’ system is to
> be
> > > able
> > > > to quickly organize and retreive my datas. Also, it should be
> > > easier
> > > > to get access to it by simply associate the folders names with
> the
> > > > parameters values, during the parameters study in Anybody.
> > > >
> > > > It can seams a little bit tricky and complicated, but you
> don’t
> > > have
> > > > to understand all that to be able to answer to my 2 questions.
> > > >
> > > > Then, my question can be formulated as follows :
> > > >
> > > > 1. Can I concatened ‘string’ variables in Anybody with use of
> the
> > > > parameters values ?
> > > >
> > > > For exemple, I want to point the file named “vp1_120_32_28_0”,
> that
> > > > represent the parameters values of a = 32, b = 28 and r0 = 0.
> Can
> > > I do
> > > > something like this : filename = “vp1_120_” + a + “" + b
> + "
” +
> > > r0
> > > >
> > > > I know that it’s possible in other programmation language like
> > > visual
> > > > basic. Maybe it’s also possible in Anybody ?
> > > >
> > > > Also, if you check the main program, you can see that I’ve
> created
> > > a
> > > > string variable that point to the right place to retreive the
> data.
> > > > Then, my other question is :
> > > >
> > > > 2. I want to know if it’s possible to point to a specific
> folder,
> > > > instead of put all the files in the same folder ?
> > > >
> > > > Thank you for your patience and availability.
> > > >
> > > > Best regards,
> > > >
> > > > Pierre-Olivier
> > > >
> > >
> >
>

Hi Pierre-Olivier

I have tested your model a bit.

The error you get means that the muscles can not balance the load in
anyway. Most of the time this is due lack of boundary conditions or
limitations in the muscles configuration. Unfortunately we also
sometimes see that the problem is of numerical nature with the
equlibrium equations being ill-conditioned. So even though they have
a solution in priciple, the algorithm is not capable of finding it
for numerical reasons. We have previously found that for models like
this adding a small amount of gravity in the zero directions solves
the problem. I have tested this on your case and a gravity vector of
{0.1,-9.81,0.1} solves the problem, also for non-zero rot0 values.
Alternatively you could try with different settings of the
RecruitmentSolver and RecruitmentLpPenalty variables in the study.

Another issue:
I get multiple penetration warnings when running the model i think
you should try to get rid of them, they might have a influence on
the results depending on how severe they are.

Best regards
Søren

— In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
<pothekid@…> wrote:
>
> Hi again Soren,
> the console works well. However, I have a new
problem,
> but this time it is related to the initial rotation of the
prosthesis.
> In fact, in my model, I drive this initial rotation by a
modification
> of the orientation of the glenohumeral articulation (‘art_gh_hum’),
> which is an elliptic shape. More specifically, it’s the
> ‘art_tub_minus_tub_majus’ refnode. I’ve add a rotation matrix that
I
> drive by a ‘rot0’ parameters in the ‘inputdata.any’ file. When I
run
> the model for an non-zero initial rotation, the program gives me
this
> message :
>
> ERROR(OBJ1) : F:\Program Files\AnyBody
> Technology\AnyBody.2.0\abduction.main.any(38) : ‘MyStudy’ :
> Muscle recruitment analysis failed, simplex solver reports that
> solution does not satisfy all constraints.
>
> I’ve seen this error a lot of time, but i have no idea why it
doesn’t
> works.
>
> I will upload a new version of my model
called ‘Shoulder_model_rot0’.
> So, if you can tell me what is wrong, i would appreciate it.
>
> thanks for your support and have a nice week
>
> Best regards,
>
> Pierre-Olivier
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
wrote:
> >
> > Hi Pierre-Olivier
> >
> > You are right this is not possible in the current version of
> > AnyBody, in the forthcomming version 3.0 it is possible.
> >
> > I think the console application is a good choice for your
problem,
> > it will run faster and you can create the strings you need
outside
> > AnyBody.
> >
> > Best regards
> > Søren, AnyBody Support
> >
> >
> > — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> > <pothekid@> wrote:
> > >
> > > Hi Soren,
> > > your solution have partially solved my problem. The
fact is
> > > that it works only for concatenation of strings and not for
> > > concatenation of strings and float variables.
> > >
> > > So, Jean-Olivier told me about the console application. I
actually
> > > work on this solution. It looks more powerful and better than
> > running
> > > the Anybody ‘win executable’, because I can put the console
> > connexion
> > > directly into my Matlab routine. It will allow me to directly
> > refer my
> > > via points, instead of creating a lot of via points folders.
Also,
> > I
> > > should be able to run my parameters study in Matlab and not in
> > Anybody
> > > (do you think ?).
> > >
> > > I will continue to work with the console. I should give you a
> > feedback
> > > really soon.
> > >
> > > Thank you again
> > >
> > > Pierre-Olivier
> > >
> > > — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> > wrote:
> > > >
> > > > Hi Pierre-Olivier
> > > >
> > > > I have created a small example which should display how both
of
> > your
> > > > questions can be solved. I have uploaded it to the
> > > > folder “SmallExamples”.
> > > >
> > > > I hope this is what you are missing, otherwise please write
> > again.
> > > >
> > > > Best regards
> > > > Søren
> > > >
> > > >
> > > > — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> > > > <pothekid@> wrote:
> > > > >
> > > > > Hi Anybody team,
> > > > > I’ve worked on my model for a couple of days and I
> > have a
> > > > new
> > > > > problem. Actually, I try to do a parameters study that
change
> > some
> > > > > dimensions of the glenohumeral head, that have been
replaced
> > by a
> > > > > elliptical shape (prosthesis). To do so, I change the semi-
> > length
> > > > (a)
> > > > > and the initial rotation of the ellipse (‘rot0’ or ‘r0’),
to
> > study
> > > > the
> > > > > effect on the deltoid muscle force (Fm). I’ve placed
these
> > > > variables
> > > > > in the main program, to assure a quick access to them.
I’ve
> > also
> > > > > linked these variables in the entire model.
> > > > >
> > > > > In Matlab, I have programmed an algorithm that create a
serie
> > of
> > > > > folders and files. Each folder is associated with a change
of
> > the
> > > > > semi-length and initial rotation. Let’s take a further
look on
> > > > this.
> > > > > For exemple, a folder named : “a=32” contains all the
files
> > that
> > > > > represent the semi-length (a) that equals to 32. In this
> > folder, I
> > > > > have placed all the folder ‘r0’ that goes from 0 degres of
> > initial
> > > > > rotation to 55 degrees. Each of these ‘r0’ folders finally
> > contains
> > > > > the via points files that I have to use in Anybody.
> > > > >
> > > > > The reason why I’ve created this ‘folder/files’ system is
to
> > be
> > > > able
> > > > > to quickly organize and retreive my datas. Also, it
should be
> > > > easier
> > > > > to get access to it by simply associate the folders names
with
> > the
> > > > > parameters values, during the parameters study in Anybody.
> > > > >
> > > > > It can seams a little bit tricky and complicated, but you
> > don’t
> > > > have
> > > > > to understand all that to be able to answer to my 2
questions.
> > > > >
> > > > > Then, my question can be formulated as follows :
> > > > >
> > > > > 1. Can I concatened ‘string’ variables in Anybody with use
of
> > the
> > > > > parameters values ?
> > > > >
> > > > > For exemple, I want to point the file
named “vp1_120_32_28_0”,
> > that
> > > > > represent the parameters values of a = 32, b = 28 and r0 =
0.
> > Can
> > > > I do
> > > > > something like this : filename = “vp1_120_” + a + “" + b
> > + "
” +
> > > > r0
> > > > >
> > > > > I know that it’s possible in other programmation language
like
> > > > visual
> > > > > basic. Maybe it’s also possible in Anybody ?
> > > > >
> > > > > Also, if you check the main program, you can see that I’ve
> > created
> > > > a
> > > > > string variable that point to the right place to retreive
the
> > data.
> > > > > Then, my other question is :
> > > > >
> > > > > 2. I want to know if it’s possible to point to a specific
> > folder,
> > > > > instead of put all the files in the same folder ?
> > > > >
> > > > > Thank you for your patience and availability.
> > > > >
> > > > > Best regards,
> > > > >
> > > > > Pierre-Olivier
> > > > >
> > > >
> > >
> >
>