深圳市建设网站公司,长春模板建站系统,怎么做网站代码,网页设计图纸刹车变形分析
本示例展示了如何使用 MATLAB 软件进行刹车变形分析。 这个例子是Matlab官方PDE工具箱的第一个例子#xff0c;所需要的数据文件都由Matlab提供#xff0c;包括CAD模型文件。
步骤 1: 导入 CAD 模型
导入 CAD 模型#xff0c;这里使用的是一个带有孔的支架模…
刹车变形分析
本示例展示了如何使用 MATLAB® 软件进行刹车变形分析。 这个例子是Matlab官方PDE工具箱的第一个例子所需要的数据文件都由Matlab提供包括CAD模型文件。
步骤 1: 导入 CAD 模型
导入 CAD 模型这里使用的是一个带有孔的支架模型。
model femodel(AnalysisTypestructuralStatic, ...GeometryBracketWithHole.stl);这个是Matlab Unified Modeling的新写法而不是以前pdemodel的写法。 这里的Geometry参数是一个STL文件这个文件是Matlab提供的包含了支架的几何形状。
figure
pdegplot(model,FaceLabelson);
view(30,30);
title(Bracket with Face Labels)
exportgraphics(gcf, BracketWithHole.png, Resolution600)不知道怎么回事切换到后面的视图整个图形都变黑了……不知道是什么魔法要素。
view(-134, -32)
title(Bracket with Face Labels, Rear View)
exportgraphics(gcf, BracketWithHoleRear.png, Resolution600)步骤 2: 材料属性
设置材料属性。
model.MaterialProperties ...materialProperties(YoungsModulus200e9, ...PoissonsRatio0.3);这也是新的写法model是一个类。 whos modelName Size Bytes Class Attributesmodel 1x1 5766 femodel步骤 3: 产生网格
产生网格这里使用的是默认的网格参数。Matlab教程里面喜欢把产生网格放在设置边界条件之后我喜欢放在之前因为我通常要做边界条件的变化而网格是基本不变的。
model generateMesh(model);figure
pdemesh(model);
title(Mesh of the Bracket)
exportgraphics(gcf, BracketWithHoleRearMesh.png, Resolution600)步骤 4: 边界条件和加载条件
model.FaceBC(4) faceBC(Constraint“fixed”); 这里设置了支架的底部固定不允许移动。这种设置参数的方式其实也兼容原先的参数对的方式比如 faceBC(Constraint, fixed)。 这里的4是支架的底部的面的编号这个编号是在pdegplot函数中显示的F4。
载荷也是一样的设置方式注意这里载荷是一个向量方向是z轴负方向大小是1e4。
model.FaceLoad(8) faceLoad(SurfaceTraction[0;0;-1e4]);步骤 5: 求解模型
求解模型。
tic;result solve(model);toc这样一个静态问题7780个节点求解的时间很短在我的笔记本上大概是1秒左右。
步骤 6: 结果可视化
先看看result的结构。
result StaticStructuralResults - 属性:Displacement: [1x1 FEStruct]Strain: [1x1 FEStruct]Stress: [1x1 FEStruct]VonMisesStress: [7780x1 double]Mesh: [1x1 FEMesh]result是一个结构体里面包含了位移、应变、应力、等效应力、网格等信息。
z方向的最大位移直接用max函数就可以得到。
max(abs(result.Displacement.uz))4.4621e-05也就是0.0446mm这个位移是在z方向的也就是垂直于支架底部的方向。
位移大小位移向量的膜哦不模的结果的可视化可以用pdeplot3D函数这个函数是Matlab的PDE工具箱的函数用来绘制三维的PDE模型的结果。
figure
pdeplot3D(result.Mesh, ColorMapDataresult.Displacement.uz)
title(Displacement in z-direction)
exportgraphics(gcf, BracketWithHoleDisplacement-z.png, Resolution600)以此类推可以绘制应力、应变、范氏等效应力等的结果。
figure
pdeplot3D(result.Mesh, ColorMapDataresult.VonMisesStress)
title(Von Mises Stress)
exportgraphics(gcf, BracketWithHoleVMS.png, Resolution600)其他可以自己查看的细节
result结构体的其他属性比如Strain、Stress等。model结构体的其他属性比如MaterialProperties、FaceBC、FaceLoad等。pdeplot3D函数的其他参数比如FaceAlpha、EdgeAlpha等。generateMesh函数的其他参数比如Hmax、Hmin等。faceBC和faceLoad函数的其他参数比如Temperature、Heat等。
其实比较麻烦的不是这种比较简单的加载如果加载是一个函数或者需要增加一个非常量的载荷就需要自己编一个函数然后传给faceLoad函数。 这个函数的输入参数是位置和状态输出是载荷的大小。这个函数的编写就需要一些编程的技巧了。
其实也非常简单现整一个函数function ret boundaryFcn(location, state)然后一步一步地调试到运行到这个函数 在函数里面就能看到location和state的结构然后就可以写出这个函数了。
基本上location对应就是几何三个坐标或者面的方向state对应就是状态统一用u表示求解变量对于静力学问题就是位移对于热传递问题就是温度。
总结
总的来说这个新的Matlab的PDE工具箱的写法更加面向对象更加符合现代的编程风格但是对于老的写法还是兼容的。求解静力学问题的过程比较清晰对于处理非常简单相对偏理论的问题是很容易拿到结果的并且各个数据结构相对透明比如Mesh节点、单元等信息都可以直接访问。如果要变更边界条件、载荷来研究灵敏度也是非常方便的只需要修改model结构体的属性然后重新求解就可以了。相应的如果要做一些优化也是非常方便的。例如要进行最大变形的控制上面的例子中就给出了如何从结果中提取最大位移的方法。从2016b开始STL文件的导入就慢慢变好2022b开始STEP文件也开始支持基本上这个工具的可用性就相应变得比较强了。上面这个例子要运行大概至少需要2023a版本最好是2023b版本。