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

ArduPilot开源飞控之飞行模式切换逻辑与安全机制

1. ArduPilot飞行模式的核心价值与设计哲学 第一次接触ArduPilot的飞行模式时&#xff0c;我完全被它的设计哲学震撼到了。这个开源飞控系统将复杂的飞行控制抽象成几十种可切换的行为模式&#xff0c;就像给无人机装上了不同性格的大脑。Stabilize模式下飞机会自动保持平衡&am…...

从MC1496乘法器到DSB调制:一个经典电路的设计实践与参数解析

1. DSB调制基础与MC1496乘法器简介 第一次接触DSB调制电路时&#xff0c;我被那个看似简单的波形变换背后精妙的数学原理深深吸引。DSB&#xff08;Double Sideband&#xff09;双边带调制&#xff0c;本质上是用低频信号去控制高频载波的幅度&#xff0c;但与传统AM调制不同&a…...

如何打造高转化率的Primer CSS营销链接:CTA与导航链接设计指南

如何打造高转化率的Primer CSS营销链接&#xff1a;CTA与导航链接设计指南 【免费下载链接】css Primer is GitHubs design system. This is the CSS implementation 项目地址: https://gitcode.com/gh_mirrors/cs/css Primer CSS作为GitHub的官方设计系统&#xff0c;提…...

隔热型防火入户门 烟气阻隔密封构造原理

在高层住宅建筑消防设计体系中&#xff0c;防火入户门是分隔防火分区、阻断烟火蔓延的核心构件&#xff0c;其中隔热型防火入户门凭借优异的耐火性能与烟气阻隔能力&#xff0c;成为民用住宅工程的标配产品&#xff0c;其密封构造设计直接决定防火隔烟效果与消防验收合规性。隔…...

OCPP 1.6 协议详解:ClearChargingProfile 清除充电配置文件指令

一、指令概述 ClearChargingProfile&#xff08;清除充电配置文件&#xff09;是OCPP 1.6协议中由中央系统发起的管理指令&#xff0c;用于删除充电桩的一个或多个充电配置文件。通过此指令&#xff0c;中央系统可以清理不再需要的配置文件&#xff0c;恢复默认设置&#xff0…...

034、LVGL默认主题与自定义主题

LVGL默认主题与自定义主题 一次UI“变脸”引发的血案 上周调试一块基于STM32F429的智能家居面板,LVGL版本8.3.5。客户要求界面风格从“科技蓝”改成“暖木色”,我心想不就是改个颜色主题嘛,简单。结果改完lv_conf.h里的LV_THEME_DEFAULT_COLOR_PRIMARY,编译下载,屏幕一亮…...

强化学习在双摆控制中的应用与挑战

1. 双摆控制中的强化学习挑战双摆系统是控制理论中经典的欠驱动非线性系统&#xff0c;由两个通过关节连接的刚性杆组成&#xff0c;仅有一个关节可施加驱动力。这种系统表现出丰富的动力学特性&#xff0c;包括混沌行为和高度敏感性&#xff0c;使其成为测试控制算法的理想平台…...

保姆级图解:NCCL的bootstrap网络连接到底是怎么“手拉手”建起来的?

保姆级图解&#xff1a;NCCL的bootstrap网络连接到底是怎么"手拉手"建起来的&#xff1f; 想象一群小朋友要围成一个圆圈玩游戏&#xff0c;但彼此都不认识。NCCL的bootstrap网络建立过程&#xff0c;就像这个"手拉手成圈"的奇妙旅程。本文将用最直观的类…...

CircuitPython开发实战:从环境搭建到内存优化与硬件选型

1. CircuitPython开发环境搭建与核心概念 如果你是从Arduino或者传统的嵌入式C开发转向微控制器编程&#xff0c;第一次接触CircuitPython的感觉&#xff0c;就像是突然有人给你递了一把万能钥匙。过去&#xff0c;点个灯、读个传感器&#xff0c;你得跟寄存器、数据手册、还有…...

AGV中上位机

在 AGV 系统里&#xff0c;“上位机”一般就是调度/监控系统&#xff0c;负责&#xff1a;全局任务分配、路径规划、交通管制、与 MES/WMS 对接、人机界面等&#xff1b;车上的 PLC / 控制器则作为下位机&#xff0c;负责实时运动控制、传感器采集和执行指令。两者通过以太网 /…...