Hello!
I just started working with AB so please have patience 
I have a model of a knee and I am trying to simulate a landing motion and separate a pivoting motion. The purpose is to study the effect of the two motions on the ACL, the anterior tibial translation and the internal/external rotations.
To give an idea about the model of the knee I have, it is similar to the AMMR knee model but it is adapted to a cadaver's MRI scans.
I have already tried applying a load/moment using AnyForce/Moment3D, but I realized those are constant loads/moments.
What I am trying to do is start the simulation with the knee flexed, lets say at around 60 deg, and extend it using a simple driver. This part is implemented and works. But what I actually want is that around lets say 5 deg (almost extended), firstly I would apply a sudden force of X Newtons and for the second simulation I would apply at the same knee angle a sudden moment of Y Nm. I think maybe best would be to use a sine wave with a certain frequency or to apply the force/moment with a certain acceleration starting at the certain knee extension, but I am not sure as in how I should implement this.
I appreciate any suggestions
Here is the code I have so far.
AnyFolder Loads =
{
AnyForce3D AppliedForce =
{
AnyRefFrame& target = Main.MyModel.Shank;
Flocal = {0.0, 400.0, 0.0}; //apply force on y axis
AnyDrawVector Drw =
{
AnyRefFrame& ref = Main.MyModel.Shank.ContactPointTibia;
Vec = .Flocal/3000;
Line.Thickness = 0.01;
Line.End.Style = Line3DCapStyleArrow ;
Line.RGB = {1, 0, 0};
PointAway = Off;
GlobalCoord = Off;
};
};
AnyMoment3D AppliedMoment =
{
AnyRefFrame& ref = Main.MyModel.Shank;
Mlocal = {0.0, 0.0, 50}; //apply moment on z axis
AnyDrawVector Drw =
{
AnyRefFrame& ref = Main.MyModel.Shank.ContactPointTibia;
Vec = .Mlocal/1000;
Line.Thickness = 0.01;
Line.End.Style = Line3DCapStyleArrow ;
Line.RGB = {0, 0, 1};
PointAway = Off;
GlobalCoord = Off;
};
};
};
AnyBodyStudy MyStudy =
{
MechObjectExclude = KneeFDKModel_ExcludeThis;
Gravity = {0.0, -9.81, 0.0};
AnyFolder &Model = .MyModel; //include segments and nodes
AnyFolder &Loads = .Loads; //include loads & moments
tEnd = 10;
nStep = 1;
//knee flexion driver
AnyKinEqSimpleDriver KneeFlexion =
{
AnyRevoluteJoint &Knee = .Model.Jnt.Knee;
DriverVel = -DriverPos/.tEnd;
DriverPos = {pi/3};
AnyVector KneeFlexionDeg = Knee.Pos * 180 / pi;
Reaction.Type = {Off};
CType = {Soft};
};
}; //MyStudy
Thank you in advance for help!
Best,
Diana

