Clear Filters
Clear Filters

How do I get the right vector of spring coefficients for the nonlinear translational spring?

55 views (last 30 days)
Hi, I have to simulate a arrangement of nonlinear translational springs. Now i have the polynomial expression:
F = (286e+16*x^3)/209e+4 - (412e+15*x^2)/838e+3 + (352e+16*x)/167e+9;
% F = k_3 * x^3 + k_2 * x^2 + k_1 * x;
And now i tryed to give the different factors k1 to k5 to the spring:
Also i tested it with a constant force with the following model: (its also attached)
But now i get errors. I tryed the system with linear springs and it worked well. Anybody have a clue what I've done wrong or have to change?
An error occurred while running the simulation and the simulation was terminated
Caused by:

Accepted Answer

Yifeng Tang
Yifeng Tang on 17 Jul 2024 at 16:03
Hi Emefun,
A couple of things to fix:
(1) add mass blocks. The "dynamic variable derivatives" error is most likely referring to applying a force to where the mass is zero, so inf acceleration. When you had a linear spring, the solver may be able to simplify the equation enough to avoid this, but it's not in general possible for nonlinear spring.
(2) I noticed you've specified nominal values in all the nonlinear spring blocks. I suspect that you meant to set initial conditions. It should be done in the "Initial Target" section. It's very rare when it's necessary to modify the nominal values.
Making these two changes and the model will run. But it runs very slow. I looked at the results and I believe it's due to the very high frequency of the oscillation you have in the system. Please check whether the parameters (spring constants, masses, etc) are correctly set, including the units.
See attached model.
  1 Comment
Emefun
Emefun on 17 Jul 2024 at 17:38
Thank you so much! I controll the nominal values from a matlab script. So I can calculate them in the m-file and save it to the workspace and then I'm able to simulate the model.
About the simulation-speed, yess I know its slow, but I have to deal with it. Luckily its only for a single chase. The other calculation have other parameters and there its done in a few seconds.
Thanks again. Best regards.

Sign in to comment.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!