Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
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:

Risposta accettata

Yifeng Tang
Yifeng Tang il 17 Lug 2024
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 Commento
Emefun
Emefun il 17 Lug 2024
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.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by