Azzera filtri
Azzera filtri

UnderDamped Free SDOF System

45 visualizzazioni (ultimi 30 giorni)
YQ
YQ il 6 Mar 2024
Commentato: YQ il 6 Mar 2024
%%%%%%%%%%%%%%%% Equation of Motion: Damped SDOF System %%%%%%%%%%%%%%%%%%%
%%%%%% Example Problem - 2.5 (Dynamics of Structures - Ashok K.Jain) %%%%%%
clc;
clear all;
close all;
%% INPUTs:
m = 5*10^3; % Lumped Mass (kg)
k = 10^5; % Stiffness (N/m)
c = 0.05; % Damping Coefficient
x0 = 0.02; % Initial Displacement (in m)
v0 = 0.05; % Initial Velocity (in m/s)
%% OUTPUTs:
z = c/m;
wn = sqrt(k/m) % Natural Circular Frequency (rad/s)
f = wn/(2*pi()) % Natural Cyclic Frequency (Hertz-Hz)
T = 1/f % Fundamental Time-Period (sec)
Z = c/(2*m*wn) % Damping Ratio
wd = wn*(sqrt(1-Z^2)) % Damped Frequency
A = sqrt((x0^2) + (v0/wn)^2) % Amplitude (m)
vm = A*wn % Maximum Velocity (m/s)
am = vm*wn % Maximum Acceleration (m/s/s)
Phi = atand(x0*wn/v0) % Phase Angle (in degree)
p = [1 z wn^2];
roots(p)
syms X(t)
E = diff(X,t,2) + diff(X,t)*z + (wn^2)*X == 0;
x = dsolve(vpa(E)) % C1 & C2 are constant and can be determined by BCs
dX = diff(X,t);
conds =[X(0)==x0,dX(0)==v0];
x = dsolve(vpa(E),conds)
xD = rad2deg(x)
%% Plots:
fplot(xD,[0 5],'k','LineWidth',1.25);
xlabel('displacment (in m)');
ylabel('time (t)');
title('Displacement Response Curve');
Problem-1: The graph obtained through this code is looks similar to undamped system, while this is a code of undamped system and has to degrad with each cycle?

Risposta accettata

Manikanta Aditya
Manikanta Aditya il 6 Mar 2024
Hey,
The code you’ve written is for a damped system, but the damping coefficient c you’ve chosen is quite small (0.05). This means the system is lightly damped and the response will look similar to that of an undamped system. In a damped system, the amplitude of oscillation decreases over time, which is known as decay.
The rate of this decay is determined by the damping ratio Z. In your case, the damping ratio is calculated as Z = c/(2*m*wn), which turns out to be a small value due to the small damping coefficient. Therefore, the decay of oscillation is slow and might not be clearly visible within the first few cycles.
If you want to see a noticeable decay in the oscillation, you could increase the damping coefficient c. This will increase the damping ratio Z, leading to a faster decay of the oscillation amplitude. Try adjusting these parameters and observe the changes in the system response.
%%%%%%%%%%%%%%%% Equation of Motion: Damped SDOF System %%%%%%%%%%%%%%%%%%%
%%%%%% Example Problem - 2.5 (Dynamics of Structures - Ashok K.Jain) %%%%%%
clc;
clear all;
close all;
%% INPUTs:
m = 5*10^3; % Lumped Mass (kg)
k = 10^5; % Stiffness (N/m)
c = 500; % Increased Damping Coefficient
x0 = 0.02; % Initial Displacement (in m)
v0 = 0.05; % Initial Velocity (in m/s)
%% OUTPUTs:
z = c/m;
wn = sqrt(k/m); % Natural Circular Frequency (rad/s)
f = wn/(2*pi()); % Natural Cyclic Frequency (Hertz-Hz)
T = 1/f; % Fundamental Time-Period (sec)
Z = c/(2*m*wn); % Damping Ratio
wd = wn*(sqrt(1-Z^2)); % Damped Frequency
A = sqrt((x0^2) + (v0/wn)^2); % Amplitude (m)
vm = A*wn; % Maximum Velocity (m/s)
am = vm*wn; % Maximum Acceleration (m/s/s)
Phi = atand(x0*wn/v0); % Phase Angle (in degree)
p = [1 z wn^2];
roots(p)
ans =
-0.0500 + 4.4719i -0.0500 - 4.4719i
syms X(t)
E = diff(X,t,2) + diff(X,t)*z + (wn^2)*X == 0;
x = dsolve(vpa(E)); % C1 & C2 are constant and can be determined by BCs
dX = diff(X,t);
conds =[X(0)==x0,dX(0)==v0];
x = dsolve(vpa(E),conds);
xD = rad2deg(x);
%% Plots:
fplot(xD,[0 5],'k','LineWidth',1.25);
xlabel('displacment (in m)');
ylabel('time (t)');
title('Displacement Response Curve');
In this code, I’ve increased the damping coefficient c from 0.05 to 500. This should make the damping more noticeable in the system response.
Hope it helps!
  3 Commenti
YQ
YQ il 6 Mar 2024
Sorry my bad. Actually the question has given the data for damping ratio as 0.05 and I've take damping coefficient as 0.05.
Thanks for your input as it suggest me to look into my problem with a different approach.
YQ
YQ il 6 Mar 2024
Can you resolve one more query related to the same problem stated above?
What sort of change is needed in this code to determine velocity vs time graph ?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by