![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/867860/image.png)
Moment as boundary FEA structuralBoundaryLoad partial differential equation toolbox
3 次查看(过去 30 天)
显示 更早的评论
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!
0 个评论
采纳的回答
Ravi Kumar
2022-1-19
编辑:Ravi Kumar
2022-1-19
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/867860/image.png)
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!