How to code a cantilever beam with lumped spring mass damper on the free end

23 ビュー (過去 30 日間)
Shrijit
Shrijit 2025 年 2 月 20 日
コメント済み: Sam Chak 2025 年 2 月 21 日
Coding a cantilever beam with lumped spring mass and applying a point load on the free end. I want to get the response for the free vibration and forced vibration case. Please help

回答 (2 件)

Sam Chak
Sam Chak 2025 年 2 月 20 日
Generally, you can model beam dynamics using Euler-Bernoulli theory for long beams or Timoshenko–Ehrenfest theory for short beams. Both theories involve partial derivatives and require a strong mathematical proficiency to code the structural mechanics accurately and solve the partial differential equations.
If you can visualize how the force is applied to a specific point on the beam, you can solve the cantilever beam problem using the tools from the Partial Differential Equation Toolbox, without the need for advanced mathematics. However, you need to be knowledgeable about geometry, structural properties, and mechanical vibrations.
Here is a simple example, but using the old method of modeling the beam. If you are free, you should learn how to migrate the code to the unified finite element workflow.
%% Specify the geometry of cantilever beam
width = 0.1;
depth = 0.005;
height = 0.005;
gm = multicuboid(width, depth, height);
%% Create the cantilever beam model
TipVertex = addVertex(gm, Coordinates=[0.05, 0, 0.005]);
sModel = createpde(structural="transient-solid");
sModel.Geometry = gm;
msh = generateMesh(sModel);
figure
pdegplot(sModel, VertexLabels="on", FaceAlpha=0.5); % FaceLabels="on",
title("Beam model")
%% Structural Properties of the beam
E = 210E9; % Mr. Young's Modulus
nu = 0.3; % Mr. Poisson's Ratio
rho = 7800; % Density of iron (kg/m3)
structuralProperties(sModel, YoungsModulus=E, PoissonsRatio=nu, MassDensity=rho);
structuralBC(sModel, Face=5, Constraint="fixed");
firstNF = 2639; % first vibration mode (rad/s)
Tfundamental = 2*pi/firstNF; % fundamental period of oscillation
%% Apply an impulse load on the tip of the beam for 2% of the fundamental period of oscillation
Te = 0.02*Tfundamental;
structuralBoundaryLoad(sModel, Vertex=TipVertex, Force=[0; 0; -100], EndTime=Te, Label="force");
%% Solve the cantilever beam model
structuralIC(sModel, Velocity=[0;0;0]); % Set initial conditions for the beam model
ncycles = 10; % number of cycles
tsim = linspace(0, ncycles*Tfundamental, 30*ncycles); % simulation time
R1 = solve(sModel, tsim);
%% Plot result
figure
plot(tsim, R1.Displacement.uz(TipVertex,:))
title('Vertical Displacement of Beam Tip')
legend('Structural PDE model')
xlabel('Time')
ylabel('Displacement')

Shrijit
Shrijit 2025 年 2 月 20 日
then how do i model the spring mass damper with the beam?
can you help me with that?

カテゴリ

Help Center および File ExchangeAssembly についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by