借助Matlab有限元工具pde进行静态结构有限元分析

本次学习通过Matlab中的有限元工具进行静态结构有限元分析,假设分析的模型为:

在右端受到5N的力。

Matlab分析的代码及含义:

clc

clear

tic

% 创建 PDE model

model = createpde('structural', 'static-planestress');

% 创建需要计算的几何区域

circle = [1, 0., 0., 11e-3]';

square = [3, 4, 10.8e-3, 12.9e-3, 12.9e-3, 10.8e-3, -3e-3, -3e-3, 3e-3, 3e-3]';

circle2 = [1, 0., 0., 3e-3]';

circle = [circle; zeros(length(square) - length(circle), 1)];

circle2 = [circle2; zeros(length(square) - length(circle2), 1)];

gm = [circle, square,circle2];

sf = 'cir-sq-cir2';

ns = char('cir', 'sq','cir2')';

g = decsg(gm, sf, ns);

% 应用几何到模型

geometryFromEdges(model, g);

% pdegplot(model, 'EdgeLabels', 'on');

% 生成网格

generateMesh(model, 'GeometricOrder', 'quadratic', 'Hmax', 0.5e-3);

% pdeplot(model);

% 定义材料属性

structuralProperties(model, 'YoungsModulus', 210e9, 'PoissonsRatio', 0.28);

% 定义固定的约束边界条件

structuralBC(model,'Edge',[6,7,8,9], 'Displacement', [0;0]); % 固定位移约束

% 定义载荷

structuralBoundaryLoad(model, 'Edge', 1, 'SurfaceTraction', [0;-5e6/4.1761226]); % 施加Y方向力,单位N/m^2

% 模型求解

results = solve(model);

M = results.Displacement.Magnitude;

XY = (results.Mesh.Nodes)';

toc

mean(M(XY(:,1) == 10.8e-3))

%

figure(1);

pdeplot(model, 'XYData', results.Displacement.Magnitude,'ColorMap','jet');

axis equal

%

figure(2);

pdeplot(model, 'XYData', results.VonMisesStress,'ColorMap','jet');

axis equal

计算结果:

相关推荐
为何创造硅基生物7 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好7 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李7 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅7 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆7 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人9 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
郭涤生10 小时前
不同主机之间网络通信-以太网连接复习
开发语言·rk3588
山居秋暝LS10 小时前
【无标题】RTX00安装paddle OCR,win11不能装最新的,也不能用GPU
开发语言·r语言