当前位置: 首页 > article >正文

自研有限元软件与ANSYS精度对比-Bar2D2Node二维杆单元模型-四连杆实例

目录

1、四连杆工程实例以及手算求解

2、四连杆的自研有限元软件求解

2.1、选择单元类型

2.2、导入四连杆工程

2.3、节点坐标定义

2.4、单元连接关系、材料定义

2.5、约束定义

2.6、外载定义

2.7、矩阵求解

2.8、变形云图展示

2.9、节点位移

2.10、单元应力

2.11、节点支反力

3、四连杆ANSYS软件求解

3.1、变形云图

3.2、节点位移

3.3、单元应力

3.4、节点支反力

4、结果对比

4.1、节点位移对比

4.2、单元应力对比

4.3、节点支反力对比


本系列文章致力于实现“手搓有限元,干翻Ansys的目标”,基本框架为前端显示使用QT实现交互,后端计算采用Visual Studio C++。

基于前文的准备工作,已具备初步的有限元分析的全流程计算,接下来终于能够进行实例显示啦,为了验证计算的准确性,将自研的有限元软件与商业软件ANSYS的计算结果进行对比。

1、四连杆工程实例以及手算求解

(以上计算与实例来自于《有限元分析基础教程 曾攀 2008》p38~p42

2、四连杆的自研有限元软件求解

根据前文的基础,具备了QT操作界面(点击此处跳转软件操作界面)与C++求解功能(点击此处跳转求解类),现在按照四连杆工程实例进行求解计算。

2.1、选择单元类型

在软件操作界面中选择二维杆模型Bar_2D2Node(点击此处跳转Bar2D2Node类的介绍)

2.2、导入四连杆工程

这里导入提前设置好的四连杆模型,在软件操作界面中可以显示模型的节点位置与单元连接状态。

2.3、节点坐标定义

在四连杆实例中,一共有四个节点,上面的表格展示的是四个节点的ID以及坐标,ID其实就是节点编号,与第一节的节点编号不同的是,这里的起始节点编号是0,而第一节的起始节点是1。其它坐标均与第一节保持一致。

2.4、单元连接关系、材料定义

这里展示的是单元的ID、起始节点ID、结束节点ID、杨氏模量和横截面积,注意这里的单元ID指的是单元编号,与第一节不同的是,这里的单元起始编号是从0开始的,而第一节是从1开始的。杨氏模量E与横截面积A的单位与第一节是保持一致的。

2.5、约束定义

这里表示的是节点的约束,在0号节点与3号节点是X、Y方向的位移约束,1号节点是Y方向位移约束。在表格中,HorizontalFix与VerticalFix为1代表为约束状态,0代表自由状态。InitalHorizontalDistance与InitalVerticalDistance代表初始位移量,均为0。与第一节的工程实例保持一致。

2.6、外载定义

这里表示的是不同节点外载数值,1号节点存在水平向右大小为20000N的集中力,2号节点存在竖直向下大小为25000N的集中力。与第一节的工程实例保持一致。

2.7、矩阵求解

这里直接点击求解器进行数值求解。

2.8、变形云图展示

这里可以直观的展示四连杆的变形状态,并且可以调整不同的图像色阶,通过调整缩放比例可以查看不同程度的变形。

2.9、节点位移

这里展示的是不同节点的位移数值。在第四节有详细的对比。

2.10、单元应力

这里展示的是不同单元的应力数值。在第四节有详细的对比。

2.11、节点支反力

这里展示的是不同节点的支反力数值。在第四节有详细的对比。

3、四连杆ANSYS软件求解

这里操作流程略去,直接查看结果:

3.1、变形云图

3.2、节点位移

红色方框内的就是每个节点的位移数值。注意节点编号是从1开始的,这里与第一节保持一致。

3.3、单元应力

红色方框内的就是每个单元的应力数值。注意节点编号是从1开始的,这里与第一节保持一致。

3.4、节点支反力

红色方框内的就是存在约束的节点支反力信息。

4、结果对比

综合三种计算过方法进行数据对比(手算、自研有限元软件、Ansys软件)

4.1、节点位移对比

三种计算方式节点位移对比
节点ID(按照手算ID)手算(mm)自研有限元软件(mm)Ansys软件(mm)
1

X:0

Y:0

X:0

Y:0

X:0

Y:0

2

X:0.2712

Y:0

X:2.711864e-01

Y:0

X:2.7119e-1

Y:0

3

X:0.0565

Y:-0.2225

X:5.649718e-02

Y:-2.224576e-01

X:5.6497e-2

Y:-2.22246e-1

4

X:0

Y:0

X:0

Y:0

X:0

Y:0

可以看出三种不同方式计算出的节点位移结果是很相近的,只不过是由于保持精度位数不同的原因,存在一些舍入误差。

4.2、单元应力对比

三种计算方式单元应力对比
节点ID(按照手算ID)手算(N/mm^2)自研有限元软件(N/mm^2)Ansys软件(N/mm^2)
12002.000000e+022.0000e+02
2-218.8-2.187500e+02-2.1875e+02
3-52.08-5.208333e+01-5.2083e+01
441.674.166667e+014.1667e+01

可以看出三种不同方式计算出的单元应力结果是很相近的,只不过是由于保持精度位数不同的原因,存在一些舍入误差。

4.3、节点支反力对比

三种计算方式节点支反力对比
节点ID(按照手算ID)手算(N)自研有限元软件(N)Ansys软件(N)
1

X:-15833.0

Y:3126.0

X:-1.583333e+04

Y:3.125000e+03

X:-15833

Y:3125.0

2

Y:21879.0

Y:2.187500e+04

Y:21875

4

X:-4167.0

Y:0

X:-4.166667e+03

Y:0

X:-4166.7

Y:0

可以看出三种不同方式计算出的节点支反力结果是很相近的,只不过是由于保持精度位数不同的原因,存在一些舍入误差。注意只有存在约束的节点才会存在支反力。


http://www.kler.cn/a/531773.html

相关文章:

  • 安全策略实验报告
  • Maven的三种项目打包方式——pom,jar,war的区别
  • 【线程】基于环形队列的生产者消费者模型
  • 99,[7] buuctf web [羊城杯2020]easyphp
  • 恢复二叉搜索树(99)
  • MiniQMT与xtquant:量化交易的利器
  • 华为OD机试E卷 --智能成绩表--24年OD统一考试(Java JS Python C C++)
  • GRN前沿:利用DigNet从scRNA-seq数据中生成基于扩散的基因调控网络
  • Linux:指令大全(二)
  • OpenAI推出Deep Research带给我们怎样的启示
  • 物业管理系统源码提升社区智能化管理效率与用户体验
  • 使用IDEA社区版搭建Springboot、jsp开发环境
  • RAG 与历史信息相结合
  • 自动化运维的未来:从脚本到AIOps的演进
  • 基于LabVIEW的Modbus-RTU设备通信失败问题分析与解决
  • 自托管看板工具BanBan
  • 利用redux与react实现异步操作
  • Mac本地部署DeekSeek-R1下载太慢怎么办?
  • 基于Spring Security 6的OAuth2 系列之九 - 授权服务器--token的获取
  • Golang 并发机制-5:详解syn包同步原语
  • 【玩转 Postman 接口测试与开发2_015】第12章:模拟服务器(Mock servers)在 Postman 中的创建与用法(含完整实测效果图)
  • 大模型综述一镜到底(全文八万字) ——《Large Language Models: A Survey》
  • DeepSeek:以AI创新引领全球科技潮流
  • 容器适配器(以stack和queue为例)
  • DeepSeek 提示词之角色扮演的使用技巧
  • openssl 静态编译