当前位置: 首页 > 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

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

相关文章:

自研有限元软件与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、…...

04树 + 堆 + 优先队列 + 图(D1_树(D11_伸展树))

目录 一、基本介绍 二、伸展操作 1. 左右情况的伸展 2. 左左情况的伸展 3. 右左情况的伸展 4. 右右情况的伸展 三、其它操作 1. 插入 2. 删除 四、代码实现 一、基本介绍 伸展树是一种二叉搜索树,伸展树也是一种平衡树,不过伸展树并不像AVL树那…...

c语言练习题【数据类型、递归、双向链表快速排序】

练习1:数据类型 请写出以下几个数据的数据类型 整数 a a 的地址 存放a的数组 b 存放a的地址的数组 b的地址 c的地址 指向 printf 函数的指针 d 存放 d的数组 整数 a 的类型 数据类型是 int a 的地址 数据类型是 int*(指向 int 类型的指针) …...

SliverAppBar的功能和用法

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了SliverGrid组件相关的内容,本章回中将介绍SliverAppBar组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的SliverAppBar和普通的AppBar类似,它们的…...

五、定时器实现呼吸灯

5.1 定时器与计数器简介 定时器是一种通过对内部时钟脉冲计数来测量时间间隔的模块。它的核心是一个递增或递减的寄存器(计数器值)。如果系统时钟为 1 MHz,定时器每 1 μs 计数一次。 计数器是一种对外部事件(如脉冲信号&#xff…...

Elasticsearch的索引生命周期管理

目录 说明零、参考一、ILM的基本概念二、ILM的实践步骤Elasticsearch ILM策略中的“最小年龄”是如何计算的?如何监控和调整Elasticsearch ILM策略的性能? 1. **监控性能**使用/_cat/thread_pool API基本请求格式请求特定线程池的信息响应内容 2. **调整…...

【大模型理论篇】最近大火的DeepSeek-R1初探系列1

1. 背景介绍 这一整个春节,被DeepSeek-R1刷屏。各种铺天盖地的新闻以及老板发的相关信息,着实感受到DeepSeek-R1在国外出圈的震撼。 DeepSeek推出了新的推理模型:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是一个在没有经过监督微调…...

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列,每一个元素只有一个前驱和后继(除了第一个和最后一个元素)。 数据结构中,常见的线性表有:顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…...

【C++ STL】vector容器详解:从入门到精通

【C STL】vector容器详解:从入门到精通 摘要:本文深入讲解C STL中vector容器的使用方法,涵盖常用函数、代码示例及注意事项,助你快速掌握动态数组的核心操作! 一、vector概述 vector是C标准模板库(STL&am…...

OpenAI推出Deep Research带给我们怎样的启示

OpenAI 又发新产品了,这次是面向深度研究领域的智能体产品 ——「Deep Research」,貌似被逼无奈的节奏… 在技术方面,Deep Research搭载了优化后o3模型并通过端到端强化学习在多个领域的复杂浏览和推理任务上进行了训练。因没有更多的技术暴露…...

洛谷[USACO08DEC] Patting Heads S

题目传送门 题目难度:普及/提高一 题面翻译 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏。 贝茜让 N N N ( 1 ≤ N ≤ 1 0 5 1\leq N\leq 10^5 1≤N≤105) 头奶牛坐成一个圈。除了 1 1 1 号与 N N N 号奶牛外&#xff0…...

CSS 溢出内容处理:从基础到实战

CSS 溢出内容处理:从基础到实战 1. 什么是溢出?示例代码:默认溢出行为 2. 使用 overflow 属性控制溢出2.1 使用 overflow: hidden 裁剪内容示例代码:裁剪溢出内容 2.2 使用 overflow: scroll 显示滚动条示例代码:显示滚…...

Spring Boot项目如何使用MyBatis实现分页查询

写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...

飞行汽车中的无刷外转子电机、人形机器人中的无框力矩电机技术解析与应用

重点:无刷外转子电机与无框力矩电机:技术解析与应用对比 在现代工业自动化和精密机械领域,无刷电机因其高效、低噪音和高可靠性而备受青睐。其中,无刷外转子电机和无框力矩电机更是以其独特的结构和性能特点,成为众多应用场景中的…...

FreeRTOS学习 --- 队列集

队列集简介 一个队列只允许任务间传递的消息为同一种数据类型,如果需要在任务间传递不同数据类型的消息时,那么就可以使用队列集 ! 作用:用于对多个队列或信号量进行“监听”,其中不管哪一个消息到来,都可让…...

【R语言】R语言安装包的相关操作

一、管理R语言安装包 1、安装R包 install.packages() 2、查看已安装的R包 installed.packages() 3、更新R包 update.packages() 4、卸载R包 remove.packages() 二、加载R语言安装包 打开R语言时,基础包(base包)会自动被加载到内存中…...

15.[前端开发]Day15-HTML+CSS阶段练习(网易云音乐四)

完整代码 01_网易云-header <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"wid…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;1.登录-持久层 &…...

测试方案和测试计划相同点和不同点

在软件测试领域&#xff0c;测试方案与测试计划皆为举足轻重的关键文档&#xff0c;尽管它们有着紧密的关联&#xff0c;但在目的与内容层面存在着显著的差异。相同点&#xff1a; 1.共同目标&#xff1a;测试方案和测试计划的核心目标高度一致&#xff0c;均致力于保障软件的…...

c++提取矩形区域图像的梯度并拟合直线

c提取旋转矩形区域的边缘最强梯度点&#xff0c;并拟合直线 #include <opencv2/opencv.hpp> #include <iostream> #include <vector>using namespace cv; using namespace std;int main() {// 加载图像Mat img imread("image.jpg", IMREAD_GRAYS…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

麒麟系统使用-进行.NET开发

文章目录 前言一、搭建dotnet环境1.获取相关资源2.配置dotnet 二、使用dotnet三、其他说明总结 前言 麒麟系统的内核是基于linux的&#xff0c;如果需要进行.NET开发&#xff0c;则需要安装特定的应用。由于NET Framework 是仅适用于 Windows 版本的 .NET&#xff0c;所以要进…...

CMS内容管理系统的设计与实现:多站点模式的实现

在一套内容管理系统中&#xff0c;其实有很多站点&#xff0c;比如企业门户网站&#xff0c;产品手册&#xff0c;知识帮助手册等&#xff0c;因此会需要多个站点&#xff0c;甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...

中国政务数据安全建设细化及市场需求分析

(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...