Penetration between segments


Failed to resolve kinematic constraints (final kin. error = 1.880922E+001)
Constraint no. 6 above error tolerance 0.000001, error = 0.013139. - constr. #0 in 'Main.HumanModel.BodyModel.Right.Leg.Jnt.Ankle.Constraints'
Constraint no. 7 above error tolerance 0.000001, error = 0.199984. - constr. #1 in 'Main.HumanModel.BodyModel.Right.Leg.Jnt.Ankle.Constraints'
Constraint no. 8 above error tolerance 0.000001, error = 0.049096. - constr. #2 in 'Main.HumanModel.BodyModel.Right.Leg.Jnt.Ankle.Constraints'
Constraint no. 12 above error tolerance 0.000001, error = 0.316830. - constr. #1 in 'Main.HumanModel.BodyModel.Right.Leg.Jnt.Knee.Constraints'
Constraint no. 13 above error tolerance 0.000001, error = 0.275215. - constr. #2 in 'Main.HumanModel.BodyModel.Right.Leg.Jnt.Knee.Constraints'
Constraint no. 41 above error tolerance 0.000001, error = 18.809221. - constr. #0 in 'Main.Model.ModelEnvironmentConnection.Drivers.KneeDriverRight'
0) ...Inverse dynamic analysis terminated
[u][SIZE=1]ERROR(OBJ.MCH.KIN3)[/u][/SIZE] : [u][SIZE=1]C:/U..s/g..a/D..p/c..l/A..s/A..n/E..s/K..d/KneeLoad.main.any[/u][/SIZE] : [u][SIZE=1]Study.InverseDynamics[/u][/SIZE] : Kinematic analysis failed in time step 0

Hi Pavel,

Thanks for your answer in the ligament´s model forum, I have found the way to create what the professor wants.

I have a problem with the inverse dynamics, with the voigt ligament´s model the inverse dynamics runs, but with the new ligament´s model ( Kelvin´s force model ) not and the program tells me the above error.

What it means?

Thanks,
Giovanni

Hi,

Is that an FDK model? If yes, then it means it could not solve the problem. Probably this configuration is far from the equilibrium.

Otherwise the kinematics has to be better.

Pavel

Hi Pavel,

These are the ligament´s curves that I must use for my knee´s model. These curves result from a given 80 degrees flexion angle when I run the kinematics.

When I´ll run the Inverse dynamics putting as input:

DriverVel = 0;
DriverPos = 0;
CType = {ForceDep};

as ForceDep, a particular Interpolation force function, I get an initial system point of 26 degrees in the flexion direction, after that I can see the movement of the leg under the input force.

So, Why doesn´t the system start from 0?
In the inverse dynamics with a FDK model Could I give a particular initial angle?

Thanks,
Regards,
Giovanni

Hi Giovanni,

When you set the driver position of the joint with the FDK on the position is used as the initial guess.

So when the system starts it uses 0 deg but you will not see this displayed in the ModelView, it then solved the FDK dof and ends up in the location where you have the equilibrium which is 26 deg in your case.

Usually for a knee model we would not use FDK on the flexion angle but prescribe this one.

Best regards
Søren

Hi AnyBody team,

I´m almost at the end of my model, I hope, but I have a real problem with Inverse dynamics: I have used for my model something like TKA-benddemo.
In the Inverse dynamics I eliminate the Joints in the knee, and I use the driver with Force Dep Kinematics to move the system. the result is very strange because I put this kind of force in the shank:

And I obtain this kind of ligament´s behavior and leg movements:

I don´t know why I obtain this strange behavior.

Thanks,
Giovanni

Hi Giovanni,

I remember you asked for a stepwise function for ligament forces to look like the result - i would suspect that it may related, but otherwise we need more information.

Could you plot your function and see what happens? Also try a small time step and look at all the entities how they develop.

Pavel

Hi Pavel,

I´m in serious problems with the equilibrium.

In my inverse dynamics model, I eliminate the joints, as the same of TKA-KneeBendDemo. I put my ligament´s model, and the same drivers of TKA model, then in “JointandDrivers.any” I give a AnyForce3D and a AnyMoment3D in a particular point of the tibia. I don´t use the AnyReacForce because I haven´t understand why there is something like that in the TKA-KneeBendDemo!

Could you explain me why there is this kind of class?
Then I don´t understand why if I give ForceDep to the patella drivers and eliminate the ForceDep knee drivers the Inverse Dynamics run.

Best regards,
Giovanni

what´s the meaning of this error?


Failed to resolve force-dependent kinematics. Too small steps for GSS search causes looping of Newton method (final force error = 3.441346E-002). Continue anyhow...

Thanks, giovanni

Giovanni,
that means that the solution could not be found within requested tolerance. It is not very nice to increase the tolerance, but looking at the value in the error message it seems to be a matter of 0.05 N and if you could allow such error - try increasing the tolerance and see whether that helps. Otherwise you may want to try a different initial guess or try to look for smaller time ranges and see whether that works with minimal forces.

Pavel

Hi Pavel,

Is The penetration in the AnyForceSurfaceContact class in meters?

Thanks,
Giovanni

Hi Giovanni,

It does not have to be in meters. That will depend on the units of your model.

Pavel

Hi Pavel,

Let’s try to understand more, for example, in the TKA-KneeBendDemo is max prenetation in meters?

Thanks,
Giovanni

yes, i think all the models in the repository are in meters.

Hi Anybody’s team,

I would know why is there in the TKA-KneeBendDemo (TibiaFemoralContact Forces.any) something like MedialLateralStiffness, AnteriorPosteriorStiffness…? what should they simulate?

Thanks, best regards,
Giovanni

Giovanni,

those artificial stiffness functions are weak springs to ensure an easier running of the model. They avoid that the fdk solver tries solutions too far outside. In the final solution they usually have small force values and do not alter the results.
They do not simulate anything natural.

Hi Anybody,

Thanks for your fast response, now could you help me with my contact model?
Are there others kind of penetration contact model different from AnyForceSurfaceContact?

I’m modeling a knee and I have the same meniscus present in TKA-BendDemo.any, but different kind of ligaments so the same contact model is not good and it gives me Maxpenetration = 1e-2 that is very big.

Best regards,
Giovanni

Giovanni,

if you want to have contact between surfaces, AnyForceSurfaceContact is the only option you have.