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