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

自研有限元软件与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.lryc.cn/news/531026.html

相关文章:

  • 04树 + 堆 + 优先队列 + 图(D1_树(D11_伸展树))
  • c语言练习题【数据类型、递归、双向链表快速排序】
  • SliverAppBar的功能和用法
  • 五、定时器实现呼吸灯
  • Elasticsearch的索引生命周期管理
  • 【大模型理论篇】最近大火的DeepSeek-R1初探系列1
  • 【数据结构】(4) 线性表 List
  • 【C++ STL】vector容器详解:从入门到精通
  • OpenAI推出Deep Research带给我们怎样的启示
  • 洛谷[USACO08DEC] Patting Heads S
  • CSS 溢出内容处理:从基础到实战
  • Spring Boot项目如何使用MyBatis实现分页查询
  • 飞行汽车中的无刷外转子电机、人形机器人中的无框力矩电机技术解析与应用
  • FreeRTOS学习 --- 队列集
  • 【R语言】R语言安装包的相关操作
  • 15.[前端开发]Day15-HTML+CSS阶段练习(网易云音乐四)
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录
  • 测试方案和测试计划相同点和不同点
  • c++提取矩形区域图像的梯度并拟合直线
  • Unity Shader Graph 2D - 角色身体电流覆盖效果
  • 【LLM-agent】(task4)搜索引擎Agent
  • 携程Java开发面试题及参考答案 (200道-下)
  • GWO优化SVM回归预测matlab
  • QMK启用摇杆和鼠标按键功能
  • Unity实现按键设置功能代码
  • 基于物联网技术的实时数据流可视化研究(论文+源码)
  • list容器(详解)
  • Elasticsearch基本使用详解
  • 17.3.4 颜色矩阵
  • FPGA 时钟多路复用