Professional Documents
Culture Documents
Newmarkbeta025 PDF
Newmarkbeta025 PDF
displacement relative
Incremental quantities:
∆u i = u i+1 − u i
to ground,
u(t) Let
∆ti
2
∆t i
mean
C1∆ ui = − ∆u&&gi + C 2 u&i + 2u&&i (7)
τ
4 4 ξω
Where C1 = + + ω 2 , and
ti ti +1 ∆ ti 2
∆t i
∆t
1
Let τ denote time as measured from the start of
C2 = 4 ξω +
∆ti
the interval. Hence
Help
u&&g ( t ) (mm / sec 2 ) u&&g (τ ) = 4000τ ( 0 ≤ τ ≤ 0.5)
u&&g (τ ) = 4000 (1 − τ ) (0.5 ≤ τ ≤ 1.0)
2000
0 - 0.5sec
− 4000τ
t
u (t ) = ∫ sin ω( t − τ) dτ
0
ω
− 4000
= ( ωt − sin ωt )
0.5 1.0 1.5 ω3
The problem is solved using step by step
integration and then by means of Duhamel’s 0.5 - 1.0sec
integral. 0.5
− 4000τ − 4000(1 − τ )
t
u (t ) = ∫ ω
sin ω( t − τ )dτ + ∫
ω
sin ω( t − τ) dτ
Step by step integration solution 0 0.5
− 4000
The file thdemo.m whose listing is given below = [2 sin ω( t − 0.5) − sin ωt − ω( t − 1) ]
ω3
contains the necessary instructions to solve the
problem. The acceleration data is created directly
as a matrix ‘constant’ with values specified at 1.0 - 1.5sec:
0.5
− 4000τ
1
0.01sec intervals. The other parameters are − 4000(1 − τ)
defined and the time-history function invoked to
u (t ) = ∫0 ω sin ω( t − τ) dτ + 0∫.5 ω sin ω( t − τ) dτ
0.0
-2.0
-4.0
-6.0
-8.0
-10.0
MATLAB FILES
Demo file - ‘thdemo.m’
% script to test time history solution
% triangular acceleration pulse of 1sec
T=0.4;
xi=0.0;
% set up vector of accelerations at 0.01sec intervals
accel=[0:40:2000 1960:-40:0 zeros(1,50)];
w=2*pi/T;
dt=0.01;
p=1;
nout=2;
[U,Umax,Vmax,Amax]=th(w,xi,accel,dt,p,nout);
% set up time axis for plotting (every 2nd point used)
timebase=[0:nout*dt:size(accel,2)*dt-dt];
figure(1); plot(accel);
xlabel('time'); ylabel('ground acceleration (mm/s/s)');
figure(2); plot(timebase,U,'-',timebase,U,'o');
xlabel('time (sec)'); ylabel('displcement (mm)');
disp('Maximum displacement');
Umax
function [Y,Ymax,Vmax,Amax]=th(w,xi,ug,dt,p,nout);
nstp = size(ug,2);
Y=zeros(size(p,1),1);
Ymax=Y; Vmax=Y; Amax=Y;
A=w.*w+4/dt*(xi.*w)+4/dt^2;
B=4*(xi.*w+1/dt);
u=0;
ud=0;
udd=-p*ug(1)-2*xi.*w.*ud-w.*u; j=1;
for i=2:nstp
du=(p.*-(ug(i)-ug(i-1))+B.*ud+2*udd)./A;
dud=2*du/dt-2*ud;
dudd=4*(du-ud*dt)./(dt.*dt)-2*udd;
u=u+du;
ud=ud+dud;
udd=udd+dudd;
Ymax=max(Ymax,abs(u));
Vmax=max(Vmax,abs(ud));
Amax=max(Amax,abs(udd+ug(i)));
if nout*fix((i-1)/nout)==i-1, j=j+1;, Y(:,j)=u;, end;
end;