借助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

计算结果:

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
CoderYanger3 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读3 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie3 天前
Linux进程控制四大核心操作
linux·开发语言
Brilliantwxx3 天前
【STM32】 SPI Flash 驱动开发实战:阻塞模式驱动 W25Q64(含工程代码)
开发语言·stm32·单片机·嵌入式硬件