Clear Filters
Clear Filters

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

2 views (last 30 days)
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 Comments
Sam Chak
Sam Chak on 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 on 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.

Sign in to comment.

Answers (1)

Sam Chak
Sam Chak on 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')

Categories

Find more on Statics and Dynamics in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!