COMSOL接触(高度非线性)仿真常见报错及解决方法总结

前言

        由于COMSOL采用隐式求解器,相较于使用显式求解器的Dyna、Abaqus等软件。要在COMSOL中实现结构接触这一高度非线性问题难度较大,报错时有发生。究其原因,是当物体之间相互接触时,物体受到的应力、运动路径会发生突变,这使得仿真容易在模型开始接触时报错。因此,对COMSOL求解器及模型结构进行合理地设置避免报错是十分必要的。
        本文共总结了三种常见报错,以及六种可能解决该问题的调试方法,以期在COMSOL中实现高度非线性问题建模(接触等)。


一、模型介绍

        此模型来源于文章复现。二维板件接触仿真模型,等效电路为二阶RLC电路。当脉冲电流通入线圈时,板件受到电磁力的作用发生塑性形变。当两板件的形变位移之和达到板件间隙距离时就会发生高速碰撞。该模型复现初期,在未优化之前仿真到接触时刻均会报错。
Alt
        具体文章细节可查看知网链接:针对H型线圈的电磁脉冲焊接仿真及线圈截面结构影响分析

二、常见报错

1、非线性求解器不收敛,达到最大牛顿迭代次数;
2、无法计算弹塑性应变变量;
3、重复误差测试失败,可能已达到奇点。

三、解决方法

3.1 检查网格质量

        模型剖分的网格质量低很容易报错,出现报错时首先要检查网格质量。检查网格质量的方法为选择网格-统计信息。检查单元质量直方图最左侧是否有点。如果有说明网格质量很低,需要对网格进行优化。

网格信息统计
单元质量直方图

3.2 设置变量的缩放比例

        由于软件自动确定的比例因子不一定合理,因此需要手动设置变量的缩放因子。该模型板件开始接触时的最大应力为4.56×108 N/m2,因此将接触压力的比例因子设置为1e8。设置方法为选择研究-求解器配置-解-因变量-接触压力
        具体可参考COMSOL官网提供的解决方法:手动设置变量的缩放比例
在这里插入图片描述

3.3 局部细化求解步长

        当板件开始碰撞时,板件受到的应力及运动路径会发生突变,即模型的运动状态会发生突变。当这种变化过大时,仿真很容易报错。解决方法是使用更短的计算步长使这种过渡更平滑。而计算步长过短会使计算效率降低,因此可以对模型开始接触时的一小段时间的计算步长进行局部细化。
        如该模型板件在7.4us时发生碰撞,因此将7us~8us的步长设置为0.01us,其余时间段步长设置为0.05us,设置方法如下图所示。经过一段时间的测试,我认为这种方法是解决模型接触仿真报错最有效的方法。
        具体可参考COMSOL官网提供的解决方法: 错误:无法计算弹塑性应变变量
在这里插入图片描述

3.4 设置瞬态求解器

        瞬态求解器采用全耦合子特征,定位到方法和终止栏。将雅可比矩阵更新设置为在每次迭代中,并将最大迭代次数增加到25或更大的值。设置方法如下图。
        具体可参考COMSOL官网提供的解决方法: 提高非线性瞬态模型的收敛性
在这里插入图片描述

3.5 设置合适的初始接触压力

        该模型板件开始接触时的最大应力为4.56×108 N/m2,因此设置接触压力初始值为1e8。设置方法为选择固体力学-接触-初始值
在这里插入图片描述

3.6 局部细化几何尖锐部位的网格

        自适应网格难以划分尖角部位,可以局部细化较为尖锐部位的网格。如果该部位不重要的话,可以考虑去除。这也是提高求解收敛性的常见方法。具体可参考链接: comsol出现奇点怎么办。若将二维板件四个顶点倒圆角处理后按前述方法统计网格信息,网格质量得到了明显提高。

总结

        以上就是今天要分享的内容,以一个接触仿真模型为例,对网上COMSOL接触仿真报错解决方法进行了整理,同样适用于高度非线性模型的调试,希望对您的学习有所帮助。欢迎留言讨论及点赞、收藏。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW高精度微小电容测量

LabVIEW高精度微小电容测量 在电子工程和科研领域,精确测量微小电容值是一项有一定要求的任务,尤其在涉及到高精度和低成本时。设计了一种基于LabVIEW高精度微小电容测量系统,旨在提供一个既经济又高效的解决方案。 该系统的核心在于使用FD…

C语言中的内存函数你知道多少呢?

目录 ​编辑 1. memcpy的使用和模拟实现 1.1函数介绍 ​编辑 1.2函数的使用 1.3模拟实现 2. memmove的使用和模拟实现 2.1函数介绍 2.2函数的使用 2.3模拟实现 3. memset函数的使用 3.1函数介绍 3.2函数的使用 ​编辑 4. memcmp函数的使用 4.1函数介绍 4.2函数…

Python循环语句——range语句

一、引言 在Python编程中,range函数是一个内置函数,用于生成一个不可变的数字序列。它常被用于循环结构,如for循环,来遍历一系列的数字。尽管其使用非常基础,但range的强大之处在于其提供了灵活性,可以创建…

【2024.2.5练习】砍竹子(25分)

题目描述 题目分析 考虑题目是否满足贪心。每次施展魔法会使一段连续的竹子高度变为一半左右的平方根。根据样例,似乎每次让最高的竹子变短就能得到最优解。 假设魔法一次只能对一根竹子使用,永远不出现连续相同高度的竹子,那么显然无论使用…

接口幂等性

接口幂等性 如何实现幂等性实现方式一:数据库唯一主键实现方式二:Token机制实现方式三:数据库乐观锁实现方式四、加分布式锁 如何实现幂等性 其实实现幂等性的方案有不少,但是呢,这就得需要你根据不同的业务场景去选择…

Stable Diffusion 模型下载:Disney Pixar Cartoon Type A(迪士尼皮克斯动画片A类)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 目前还没有一个好的皮克斯迪士尼风格的卡通模型,所以我决定自己制作一个。这是将皮克斯风格模型与我自己的Loras合并在一起,创建一个通用的…

oracle 启动命令以及ORA-01033问题处理、删除归档日志

1 启动数据库:startup 2 关闭数据库:Shutdown immediate 3 查看监听状态:lsnrctl status 4 启动监听:lsnrctl start 5 停止监听:lsnrctl stop 常见问题 1、在服务器重启后会出现,Oracle ORA-01033: ORAC…

渗透测试-信息打点与架构分析细节梳理

渗透测试-信息打点与架构分析细节梳理 为了保障信息安全,我在正文中会去除除靶场环境的其他任何可能的敏感信息 什么是网站架构 网站架构包括网站的方方面面,下面是常见的内容: 前端(Front-End): 使用Reac…

DAY14之二叉树理论基础及递归遍历和迭代遍历

理论基础 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 如图所示: 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉…

Pymysql之Connection中常用API

Connection中常用API 1、open() :检测数据库是否连接。 connect.open:如果数据库连接返回Trhe,否则返回False。 2、ping(reconnectTrue) connect.ping(reconnectTrue):如果reconnectTrue表示连接断开后,重新进行连接。 import…

春节假期如何高效管理Shopee虾皮本土店?技巧都给你整理好了!

EasyBoss ERP 对于中国人最重要的春节即将来临,但对于运营Shopee、TikTok Shop等平台的卖家而言,他们的客户可不会过春节。为了不影响店铺的业绩,很多卖家在春节期间都还是照常运营店铺,但又不想错过和家人团圆的机会怎么办&…

《Java程序设计》实验报告(一)之Java语言基础

实验内容及步骤: 编写”hello world”应用程序。(1)代码: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } } (2)运行…

惟客数据地产经营分析解决方案-构建数字化经营体系,提高精细化管理能力

惟客数据地产经营分析解决方案以拉通数据底座,以管理行为、量化考核、预警机制为核心,强化对经营风险的识别和解决,以终为始,通过高频高价值场景的应用适配,支撑企业在数字化时代中不断创新、转型,提升企业…

使用Pillow来生成简单的红包封面

Pillow库(Python Imaging Library的后继)是一个强大而灵活的图像处理库,适用于Python。Pillow 库(有时也称 PIL 库) 是 Python 图像处理的基础库,它是一个免费开源的第三方库,由一群 Python 社区…

SSL协议是什么?关于SSL和TLS的常见问题解答

SSL(安全套接字层)及其后继者TLS(传输层安全)是用于在联网计算机之间建立经过身份验证和加密的链接的协议。尽管SSL协议在 1999年已经随着TLS 1.0的发布而被弃用,但我们仍将这些相关技术称为“SSL”或“SSL/TLS”。那么…

VM 虚拟机和容器技术之间有什么区别?

随着云计算技术的不断发展,虚拟机和容器技术作为两种常见的虚拟化技术,被广泛应用于云计算领域。虽然虚拟机和容器技术都是虚拟化技术,但它们之间存在一些重要的区别。本文将详细介绍虚拟机和容器技术的区别,以便读者更好地了解这…

2.7:二叉树创建、先中后遍历、各个节点度的个数、深度

1.二叉树的创建、先中后遍历、各个节点度的个数、深度 程序代码&#xff1a; 1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 typedef char datatype;5 typedef struct node6 {7 datatype data;8 struct node *lchild;9 struct…

如何使用数据恢复软件恢复已删除的数据

本教程介绍如何使用奇客数据恢复软件有效地从各种存储系统中恢复已删除的数据&#xff1a; 您是否曾经不小心从系统中删除了数周或数月的工作成果&#xff1f; 如果是这样&#xff0c;那么请从您并不孤单这一事实中找到安慰。这种严重且后果严重的判断错误在世界各地的计算机…

【leetcode】深搜、暴搜、回溯、剪枝(C++)1

深搜、暴搜、回溯、剪枝&#xff08;C&#xff09;1 一、全排列1、题目描述2、代码3、解析 二、子集1、题目描述2、代码3、解析 三、找出所有子集的异或总和再求和1、题目描述2、代码3、解析 四、全排列II1、题目解析2、代码3、解析 五、电话号码的字母组合1、题目描述2、代码3…

21.HarmonyOS App(JAVA)自适应布局Layout使用方法

AdaptiveBoxLayout是鸿蒙操作系统中最具有特色的布局&#xff0c;可以方便开发者对组件的自适应排布。 AdaptiveBoxLayout是自适应盒子布局&#xff0c;该布局提供了在不同屏幕尺寸设备上的自适应布局能力&#xff0c;主要用于相同级别的多个组件需要在不同屏幕尺寸设备上自动调…