Forums Anyscript.org  

Go Back   Forums Anyscript.org > Self-Supported Forum > Debug model

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 11-22-2013, 09:21 AM
yangyang_2151 yangyang_2151 is offline
Junior Member
 
Join Date: Sep 2013
Posts: 22
Default Muscle recruitment solver

Hi ~

I encountered a problem when I was learning muscle modeling.I made a very example test,but always show :Muscle recruitment solver: solve aborted after maximum number of line-search iteration. Why?

But ,when changed the 'Axis=y' to 'Axis=x' or 'Axis=z',the example run successful

the changed code :
AnyPrismaticJoint Joint={
Axis = y;
AnyRefFrame & hel= Main.MyModel.GlobalRef.global;
AnyRefFrame & global=Main.MyModel.segment.center;
};

thank you very much for you time and help.
Attached Files
File Type: any teat3.any (1.3 KB, 10 views)
Reply With Quote
  #2  
Old 11-23-2013, 01:34 PM
jr@anybodytech.com jr@anybodytech.com is offline
Member
 
Join Date: May 2010
Posts: 98
Default

Hi Yang Yang,

This is the algorithm's way of telling you that the equilibrium cannot be obtained with the muscle configuration you have. Possibly the muscles you have are able to carry loads around the x and z axes but not around the y axis.

Best regards,
John
Reply With Quote
  #3  
Old 11-23-2013, 02:46 PM
yangyang_2151 yangyang_2151 is offline
Junior Member
 
Join Date: Sep 2013
Posts: 22
Default

Quote:
Originally Posted by jr@anybodytech.com View Post
Hi Yang Yang,

This is the algorithm's way of telling you that the equilibrium cannot be obtained with the muscle configuration you have. Possibly the muscles you have are able to carry loads around the x and z axes but not around the y axis.

Best regards,
John
Hi John
thank you help,I can't understand why The direction of elongation along x and z axis is ok but around the y axis ? In my mind , The direction of elongation is the same and there are no difference between the x y and z axis .
If I need the segment move along the y axis ,How to set the program?
thank you very much ~~~~
Reply With Quote
  #4  
Old 11-23-2013, 10:30 PM
jr@anybodytech.com jr@anybodytech.com is offline
Member
 
Join Date: May 2010
Posts: 98
Default

Yang Yang, it's really very simple. When axis is 'y' you have segment above the global reference frame. Muscles can only pull, but to hold segment up against gravity, the muscle would have to push.

If you reverse gravity from -9.81 to 9.81, then it works.

John
Reply With Quote
  #5  
Old 11-24-2013, 02:48 AM
yangyang_2151 yangyang_2151 is offline
Junior Member
 
Join Date: Sep 2013
Posts: 22
Default

Thank you for your help, with you help I solve the problem .
Reply With Quote
  #6  
Old 02-24-2015, 02:39 AM
aliasad aliasad is offline
Junior Member
 
Join Date: Feb 2015
Posts: 14
Default Muscle recruitment solver

ERROR(OBJ.MCH.MUS4) : C:/U..s/t..k/D..p/A..3/AMMR/A..n/E..s/S..l/SitUpModel.Main.any(70) : Study.InverseDynamics : Muscle recruitment solver : solver aborted due to singular KKT matrix.

Hi dear Sir I am facing these problem whenever I tried to change number of steps from 51 to 5 or 10 please help me out sir.



#include "../libdef.any"

// Find a detailed description here
#include "Model/Description.any"

Main = {
// ----------------------------------------------------------
// Path to draw settings
// ----------------------------------------------------------
#path BM_DRAWSETTINGS_FILE "Model/DrawSettings.any"

// ----------------------------------------------------------
// Model configuration:
// For more info on body model configuration options please load the model and double click on:
// #include "<ANYBODY_PATH_BODY>\Documentation\BodyModel.param eters.any"
// ----------------------------------------------------------

// The Mannequin file specifies load-time positions for all the segments
// in the HumanModel. This is important for the model's ablity to resolve
// all the kinematic constraints when the model is analyzed.
// The mannequin file also drives those degrees of freedom of the human
// model that are not governed by problem-specific drivers at run time.
#path BM_MANNEQUIN_FILE "Model/Mannequin.any"


// #define BM_TRUNK_MUSCLES CONST_MUSCLES_NONE
// #define BM_LEG_MUSCLES_BOTH CONST_MUSCLES_NONE
// #define BM_ARM_MUSCLES_BOTH CONST_MUSCLES_NONE

// Model of the human body to be used for the analysis
#include "<ANYBODY_PATH_BODY>/HumanModel.any"

/// The actual model where all components are assembled
AnyFolder Model =
{
/// Body model without default drivers
AnyFolder &HumanModel=.HumanModel.BodyModel;
/// Reference to the mannequin folder (used by drivers)
AnyFolder &Mannequin =.HumanModel.Mannequin;

#include "Model/Environment.any"

AnyFolder ModelEnvironmentConnection = {
#include "Model/JointsAndDrivers.any"
};

//-->Folder for design parameters
AnyFolder Parameters =
{
AnyVar Distance_From_PelvisContactNode_To_HeelNode = 0.6;
};
//<--

//-->Use of the object name to insert additional objects inside
HumanModel.Trunk.SegmentsLumbar.PelvisSeg =
{
AnyRefNode ContactNode =
{
sRel = .Scale({-0.02, -0.18, 0});
AnyDrawRefFrame Drw =
{
ScaleXYZ = 0.1*{1, 1, 1};
RGB = {1, 0, 0};
};
};
};
//<--
};

AnyBodyStudy Study = {
AnyOperationShellExec ConvertToAPDL=
{
Show=On;
FileName ="AnyFE2APDL.exe";
Arguments ="-i\C:\Users\tamuk\Desktop\AMMRV1.6.3\AMMR\Applicati on\Examples\SitUpModel\Model\ForceL5.xml-o\C:\Users\tamuk\Desktop\AMMRV1.6.3\AMMR\Applicati on\Examples\SitUpModel\Model-t\C:\Users\tamuk\Desktop\AMMRV1.6.3\AMMR\Applicati on\Examples\SitUpModel\Model\APDLsitup.txt";
WorkDir="C:\Users\tamuk\Desktop\AMMRV1.6.3\AMMR\Ap plication\Examples\SitUpModel\Model";
};

AnyFolder &Model = .Model;

tEnd = 10;
Gravity = {0.0, -9.81, 0.0};
nStep = 5;
AnyMechOutputFileForceExport ForceOutput =
{
FileName = "Output\ForceL5.xml";
/*NumberFormat = thats fine t
{
Digits = 15;
Width = 22;
Style = ScientificNumber;
FormatStr = "";
};*/
AllSegmentsInStudyOnOff = Off;
XMLformatOnOff = On;
UseRefFrameOnOff = Off;
AnySeg &L5Seg = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L5S eg;
AnyRefFrame &L5RefFrame = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L5S eg;
};


AnyMechOutputFileForceExport FE_out =
{
FileName = "files_in/ForceL5.xml";
UseRefFrameOnOff = On;
AnyRefFrame &L5RefFrame = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L5S eg;
AllSegmentsInStudyOnOff = Off;
XMLformatOnOff = On;
//AllSegmentsInStudyOnOff = Off;
AnySeg &L5 = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.L5S eg;
};


//include the next line to have a camera in the model




}; // End of study

// Include an operation sequence to run all required steps of your application (see Operations tab)
#include "<ANYBODY_PATH_TOOLBOX>\Operations\RunAppSequence. any"

}; //Main
Reply With Quote
  #7  
Old 02-25-2015, 12:04 PM
aalmunajjed aalmunajjed is offline
Senior Member
 
Join Date: Mar 2011
Posts: 633
Default

The error message means that AMS cannot find a muscle activation to deal with the motion. I would suggest to keep 51 steps if that runs.
__________________
Best regards, Amir

__________________
Amir Al-Munajjed, AnyBody Support

Please provide AMMR and AMS version numbers in case you send a debug model. The folder structure should follow the standard in the AMMR. This makes it a lot easier for us to answer your questions faster.

Consider to subscribe to a forum, click the 'ForumTools' link above the list of threads then select 'Subscribe to Forum'.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:19 PM.