I want to simulate the transverse vibration of a beam. I used the standard Dynamic Euler-Bernoulli beam equation and clamped-clamped boundary conditions. The solution seems to be OK for small values of t (time), but becomes unstable afterwards. I modeled it successfully in Python using Euler-Implicit method, and I do not have that kind of behavior, which is not coherent with the reality.
Equation:
I used the standard Dynamic Euler-Bernoulli beam equation:
which translates in
PDE = D[y[x, t], {t, 2}] + c^2*D[y[x, t], {x, 4}] == 0
For 0<t<4, I obtain:
For 0<t<8, I obtain:
Do you have an idea of the source of the problem?
FULL CODE
(*CONSTANTS*)
c = 5;
L = 2*Pi;
T = 8;
(*EQUATION*)
PDE = D[y[x, t], {t, 2}] + c^2*D[y[x, t], {x, 4}] == 0
(*INITIAL CONDITIONS*)
IC1 = y[x,0]== Sin[x];(*Initial shape of the beam*)
IC2 = D[y[x, t],{t, 1}] == 0 /. {t -> 0};(*No initial velocity*)
(*BOUNDARY CONDITIONS*)
(*Clamped on the left side of the beam*)
BCLeft1 = y[x, t] == 0 /. {x -> 0};
BCLeft2 = D[y[x, t],{x, 1}] == 0 /. {x -> 0};
(*Clamped on the right side of the beam*)
BCRight1 = y[x, t] == 0 /. {x -> L};
BCRight2 = D[y[x, t],{x, 1}]== 0 /. {x -> L};
(*SOLVE*)
soln = NDSolve[{PDE,IC1,IC2,BCLeft1,BCLeft2,BCRight1,BCRight2}, y[x, t], {x, 0,L},{t,0,T},Method -> {"MethodOfLines",
"DifferentiateBoundaryConditions" -> {True, "ScaleFactor" -> 0}}][[1,1,2]];
Plot3D[soln, {x, 0,L},{t,0,T},PlotPoints->150]
Dynamics.nb (11.9 MB)





