018_FEA_Structure_Static_in_Matlab三维结构静力学分析

news2024/11/28 12:47:34

在这里插入图片描述

刹车变形分析

本示例展示了如何使用 MATLAB® 软件进行刹车变形分析。
这个例子是Matlab官方PDE工具箱的第一个例子,所需要的数据文件都由Matlab提供,包括CAD模型文件。

步骤 1: 导入 CAD 模型

导入 CAD 模型,这里使用的是一个带有孔的支架模型。

model = femodel(AnalysisType="structuralStatic", ...
    Geometry="BracketWithHole.stl");

这个是Matlab Unified Modeling的新写法,而不是以前pdemodel的写法。
这里的Geometry参数是一个STL文件,这个文件是Matlab提供的,包含了支架的几何形状。

figure
pdegplot(model,FaceLabels="on");
view(30,30);
title("Bracket with Face Labels")
exportgraphics(gcf, "BracketWithHole.png", Resolution=600)

在这里插入图片描述

不知道怎么回事,切换到后面的视图,整个图形都变黑了……不知道是什么魔法要素。

view(-134, -32)
title("Bracket with Face Labels, Rear View")
exportgraphics(gcf, "BracketWithHoleRear.png", Resolution=600)

在这里插入图片描述

步骤 2: 材料属性

设置材料属性。

model.MaterialProperties = ...
    materialProperties(YoungsModulus=200e9, ...
    PoissonsRatio=0.3);

这也是新的写法,model是一个类。

>> whos model
  Name       Size            Bytes  Class      Attributes

  model      1x1              5766  femodel

步骤 3: 产生网格

产生网格,这里使用的是默认的网格参数。Matlab教程里面喜欢把产生网格放在设置边界条件之后,我喜欢放在之前,因为我通常要做边界条件的变化,而网格是基本不变的。

model = generateMesh(model);

figure
pdemesh(model);
title("Mesh of the Bracket")
exportgraphics(gcf, "BracketWithHoleRearMesh.png", Resolution=600)

在这里插入图片描述

步骤 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, ColorMapData=result.Displacement.uz)
title("Displacement in z-direction")
exportgraphics(gcf, "BracketWithHoleDisplacement-z.png", Resolution=600)

在这里插入图片描述

以此类推,可以绘制应力、应变、范氏等效应力等的结果。

figure
pdeplot3D(result.Mesh, ColorMapData=result.VonMisesStress)
title("Von Mises Stress")
exportgraphics(gcf, "BracketWithHoleVMS.png", Resolution=600)

在这里插入图片描述

其他可以自己查看的细节

  1. result结构体的其他属性,比如StrainStress等。
  2. model结构体的其他属性,比如MaterialPropertiesFaceBCFaceLoad等。
  3. pdeplot3D函数的其他参数,比如FaceAlphaEdgeAlpha等。
  4. generateMesh函数的其他参数,比如HmaxHmin等。
  5. faceBCfaceLoad函数的其他参数,比如TemperatureHeat等。

其实比较麻烦的不是这种比较简单的加载,如果加载是一个函数,或者需要增加一个非常量的载荷,就需要自己编一个函数,然后传给faceLoad函数。
这个函数的输入参数是位置和状态,输出是载荷的大小。这个函数的编写就需要一些编程的技巧了。

其实也非常简单,现整一个函数function ret = boundaryFcn(location, state),然后一步一步地调试到运行到这个函数,
在函数里面就能看到locationstate的结构,然后就可以写出这个函数了。

基本上,location对应就是几何,三个坐标,或者面的方向,state对应就是状态,统一用u表示求解变量,对于静力学问题,就是位移,对于热传递问题,就是温度。

总结

  1. 总的来说,这个新的Matlab的PDE工具箱的写法更加面向对象,更加符合现代的编程风格,但是对于老的写法,还是兼容的。
  2. 求解静力学问题的过程比较清晰,对于处理非常简单相对偏理论的问题,是很容易拿到结果的,并且,各个数据结构相对透明,比如Mesh,节点、单元等信息都可以直接访问。
  3. 如果要变更边界条件、载荷,来研究灵敏度,也是非常方便的,只需要修改model结构体的属性,然后重新求解就可以了。相应的,如果要做一些优化,也是非常方便的。例如,要进行最大变形的控制,上面的例子中就给出了如何从结果中提取最大位移的方法。
  4. 从2016b开始STL文件的导入就慢慢变好,2022b开始STEP文件也开始支持,基本上这个工具的可用性就相应变得比较强了。
  5. 上面这个例子要运行,大概至少需要2023a版本,最好是2023b版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2218994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP cookie 与 session

一种关于登录的场景演示 - B 站登录和未登录 问题:B 站是如何认识我这个登录用户的?问题:HTTP 是无状态,无连接的,怎么能够记住我? 一、引入 HTTP Cookie 定义 HTTP Cookie(也称为 Web Cooki…

【最新华为OD机试E卷-支持在线评测】VLAN资源池(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

R语言复杂抽样调查数据统计描述和分析

gtsummary包中tbl_svysummary提供了统计描述&#xff1b;tableone包中的svyCreateTableOne提供了统计比较&#xff1b;原始描述和比较可以是有table1包。 #测试数据 library(survey) setwd("F://") data(Titanic) sur_des<-survey::svydesign(~1, data as.data.…

Leetcode—1117. H2O 生成【中等】(多线程)

2024每日刷题&#xff08;182&#xff09; Leetcode—1117. H2O 生成 C实现代码 class H2O { public:H2O() {sem_init(&hydrogenSem, 0, 1);sem_init(&oxygenSem, 0, 0);}~H2O() {sem_destroy(&hydrogenSem);sem_destroy(&oxygenSem);}void hydrogen(functio…

重学SpringBoot3-Spring WebFlux简介

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-Spring WebFlux简介 1. 什么是 WebFlux&#xff1f;2. WebFlux 与 Spring MVC 的区别3. WebFlux 的用处3.1 非阻塞 I/O 操作3.2 响应式编程模型3.3 更高…

机械视觉光源选型

光源是机器视觉系统的重要组成部分&#xff0c;直接影响到图像的质量&#xff0c;进而影响到系统的性 能。在一定程度上&#xff0c;光源的设计与选择是机器视觉系统成败的关键。光源最重要的功能就 是使被观察的图像特征与被忽略的图像特征之间产生最大的对比度&#xff0c;…

RISC-V笔记——RVWMO基本体

1. 前言 RISC-V使用的内存模型是RVWMO(RISC-V Weak Memory Ordering)&#xff0c;它是Release Consistency的扩展&#xff0c;因此&#xff0c;RVWMO的基本特性类似于RC模型。 2. RC模型 Release consistency(RC)的提出是基于一个观察&#xff1a;将所有同步操作用FENCE围在一…

基于x86_64汇编语言简单教程1: 环境预备与尝试

目录 前言 环境配置 基本硬件与操作系统要求 WSL VSCode基本配置(For Windows) 安装基本的依赖 为您的VSCode安装插件&#xff1a; 学习要求 入门 先试试味道 前言 笔者最近正在梭哈使用NASM汇编器的x86 32位汇编&#xff0c;笔者这里记录一下一个晚上的成果。 环境…

【含开题报告+文档+PPT+源码】贫困儿童一对一扶贫帮扶系统设计与实现

开题报告 根据《中华人民共和国慈善法》第五十八条规定&#xff0c;慈善组织确定慈善受益人&#xff0c;应当坚持公开、公平、公正的原则&#xff0c;不得指定慈善组织管理人员的利害关系人作为受益人[2]。以上所列举的平台基本没有做到公开、公平、公正的原则&#xff0c;例如…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了&#xff0c;考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装&#xff0c;今天就详细介绍一下livechart的使用…

应用层协议 序列化

自定义应用层协议 例子&#xff1a;网络版本计算器 序列化反序列化 序列化&#xff1a;将消息&#xff0c;昵称&#xff0c;日期整合成消息-昵称-日期 反序列化&#xff1a;消息-昵称-日期->消息&#xff0c;昵称&#xff0c;日期 在序列化中&#xff0c;定义一个结构体…

Python案例小练习——小计算器

文章目录 前言一、代码展示二、运行展示 前言 这是用python实现一个简单的计器。 一、代码展示 def calculate(num1, op, num2):if op "":return float(num1) float(num2)elif op "-":return float(num1) - float(num2)elif op "*":return…

案例分享-优秀蓝色系UI界面赏析

蓝色UI设计界面要提升舒适度&#xff0c;关键在于色彩搭配与对比度。选择柔和的蓝色调作为主色&#xff0c;搭配浅灰或白色作为辅助色&#xff0c;能营造清新、宁静的氛围。同时&#xff0c;确保文字与背景之间有足够的对比度&#xff0c;避免视觉疲劳&#xff0c;提升阅读体验…

利用 OBS 推送 WEBRTC 流到 smart rtmpd

webrtc whip 推流 & whep 拉流简介 RFC 定义 通用的 webrtc 对于 SDP 协议的交换已经有对应的 RFC 草案出炉了。这就是 WHIP( push stream ) & WHEP ( pull stream ) . WHIP RFC Link: https://www.ietf.org/archive/id/draft-ietf-wish-whip-01.html WHEP RFC Link:…

新书速览|Android智能座舱开发:从源码到实践

《Android智能座舱开发:从源码到实践》 本书内容 《Android智能座舱开发:从源码到实践》是一本专注于Android智能座舱系统开发与优化的实战指南。《Android智能座舱开发:从源码到实践》共9章&#xff0c;第1章从搭建源码编译环境开始&#xff0c;详细指导读者如何下载和编译An…

前端SSR框架(Next、Nuxt)利用宝塔面板部署

1、部署的本质 SSR服务端渲染的框架部署区别于常规的CSR项目的部署&#xff0c;并不是打包之后访问某个文件就行&#xff0c;而是需要在服务器中运行项目之后访问某个地址&#xff0c;无论是基于Vue的Nuxt.js框架还是基于React的Next.js框架道理都是一样的 因此区别于CSR我们…

2024年中国工业大模型行业发展研究报告|附43页PDF文件下载

工业大模型伴随着大模型技术的发展&#xff0c;逐渐渗透至工业&#xff0c;处于萌芽阶段。 就大模型的本质而言&#xff0c;是由一系列参数化的数学函数组成的计算系统&#xff0c;且是一个概率模型&#xff0c;其工作机制是基于概率和统计推动进行的&#xff0c;而非真正的理解…

to_sql报错not all arguments converted during string formatting

报错&#xff1a; DatabaseError: Execution failed on sql SELECT name FROM sqlite_master WHERE typetable AND name?;: not all arguments converted during string formattingb 报错的代码如下&#xff1a; import pymysql import pandas as pd con pymysql.connect(…

如何测量场景的照度和色温?

1、问题背景 在我们平常的工作当中&#xff0c;经常都会使用照度计去测量当前场景的照度和色温&#xff0c;但测量时照度计具体该放在什么位置呢&#xff1f; 是和被测物体表面平行放置&#xff0c;还是和摄像头镜头位置平齐放置呢&#xff1f;本文将从照度、色温的概念出发&am…

ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复---惜分飞

客户虚拟化环境,由于断电,启动数据库报ORA-01157错误,通过操作系统层面查看,发现文件是存在的,但是dbv检测报不可访问 感觉是文件系统损坏了,尝试把该文件拷贝到其他磁盘 查看操作系统事件,确认是ntfs文件系统的MFT损坏 基于这种情况,通过文件系统恢复工具进行恢复该文件…