Moment as boundary FEA structuralBoundaryLoad partial differential equation toolbox

8 visualizzazioni (ultimi 30 giorni)
Hello everybody. I found that there is no options for add momentum loads in structural analysis using structuralBoundaryLoad in the partial differential equation toolbox, there are just pressure, surface traction and force. For instance, I want to apply a moment in Z axis at the tip of a beam.
Is there something I missed or is this a serius limitation of the package.
Thank you!

Risposta accettata

Ravi Kumar
Ravi Kumar il 19 Gen 2022
Modificato: Ravi Kumar il 19 Gen 2022
I am assuming you are asking about moment loads and not momentum loads. PDE Toolbox supports tet elements with displacement DoFs. There are no rotational DoFs, like beam elements, to apply moment load directly. However, you can use surface traction that is equivalent to the moment. Here is an example with a simple cylindrical beam.
model = createpde('structural','static-solid');
model.Geometry = multicylinder(0.1,1);
figure(1)
pdegplot(model,'FaceLabels','on')
structuralProperties(model,'Cell',1,'YoungsModulus',200e9 * 0.0254^2,'PoissonsRatio',0.3);
%% Boundary conditions. Clamp one extreme.
structuralBC(model,'Face',1,'Constraint','fixed');
%% Surface traction to create a bending moment at the end
bendingMoment = 1;
forcing_function = @(region,state) momentForcingFunction(region,state,bendingMoment);
structuralBoundaryLoad (model,'Face',3,'SurfaceTraction',forcing_function);
%% Create mesh
generateMesh(model);
% Plot the mesh
figure(2)
pdemesh(model)
%% Solve
R = solve(model);
%% Output
% Displacement
figure(3)
pdeplot3D(model,'ColorMapData',R.Displacement.Magnitude,'Deformation',R.Displacement)
title('displacement')
%% Define a function to provide its handle as input to SurfaceTraction
function sf = momentForcingFunction(region,~,M)
% the structure "region" refers to the spatial coordinates to define a
% nonuniform surface traction. the second argument (not used here) would be
% necessary for time-varying loads.
% Bending moment
%M = 1; %
% Diameter
d = 0.2;
% y-coordinate
y = region.y;
% A normal (z-direction) surface traction that varies linearly with y
% represents the effect of a bending moment
sf = [zeros(size(region.x));
zeros(size(region.y));
- 64 * M * y / (pi * d^4)];
end
  2 Commenti
jose daniel hoyos giraldo
jose daniel hoyos giraldo il 20 Mar 2022
Hello. Thanks for sharing this solution. Would you mind explain a little further the way you modeled the moment? and the equation - 64 * M * y / (pi * d^4)]; and its equivalent in terms of total moment applied.
Thanks
jose daniel hoyos giraldo
jose daniel hoyos giraldo il 10 Apr 2022
@Ravi Kumar Hello. Would you mind giving me a further explanation, please?
I'm trying to apply a twisting moment to an H beam fixed at root.
Thank you!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by