Azzera filtri
Azzera filtri

solving a 1 DoF MSS-Spring-Damper when the spring stiffness is a function of displacement

6 visualizzazioni (ultimi 30 giorni)
Hello guys,
I'm trying to solve a 1 DoF SMD system whith an external force (as a function of time) and a step spring stiffness as a function of the displacement.
Actually, after reaching a specific displacement, there would be a secondary spring (in parallel) so the total stiffness is afunction of displacement.
Any help would be appreciated.
  2 Commenti
Sam Chak
Sam Chak il 17 Feb 2023
Can you show the mathematical equation for the 1-DoF SMD system that you are trying to solve?
How is the secondary spring suddenly brought into the 1-DoF SMD system without an external force?
reza ahmadian
reza ahmadian il 17 Feb 2023
Dear Sam,
Thank for replying,
The equation will be something like :
F(t)=m*x(2)+b*x(1)+k1*x+k2*f1(x)
where f1(x)= x-x1 if x>x1
=0 if x<=x1
x1,x,b,k1 and k2 are constant parameters
There is an external force. the fact is if that force exceed a specific value, the system will reach the engaging point over time, where the secondary spring will get involved.

Accedi per commentare.

Risposte (1)

Sam Chak
Sam Chak il 18 Feb 2023
If the system is stiff, then you can try using the ode15s() solver.
In the following example, the external force f(t) is assumed a unit step function.
% Parameters
m = 1;
b = 2;
k1 = 1;
k2 = 1;
xd = 0.5;
% Settings
% x(1) is the position of the spring
% x(2) is the time derivative of x(1)
odefun = @(t, x) [x(2);
(heaviside(t) - b*x(2) - k1*x(1) - k2*((x(1) - xd).*heaviside(x(1) - xd)))/m];
tspan = [0 15];
x0 = [0 0];
% Solving and plotting
[t, x] = ode15s(odefun, tspan, x0);
plot(t, x), grid on
xlabel('t'), ylabel('\bf{x}')
legend('x_1', 'x_2', 'location', 'east')

Categorie

Scopri di più su Statics and Dynamics in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by