有限元理论基础及Abaqus内部实现方式研究系列36:DLOAD用户子程序开发步骤

注册领666大礼包,学习金和优惠券下单直接使用

(原创,欢迎转载,转载请说明出处)

(1)基础理论

(2)商软操作

(3)自编程序

三者结合的方式将复杂繁琐的结构有限元理论通过简单直观的方式展现出来,同时深层次的学习有限元理论和商业软件的内部实现原理。

有限元的理论发展了几十年已经相当成熟,商用有限元软件同样也是采用这些成熟的有限元理论,只是在实际应用过程中,商用CAE软件在传统的理论基础上会做相应的修正以解决工程中遇到的不同问题,且各家软件的修正方法都不一样,每个主流商用软件手册中都会注明各个单元的理论采用了哪种理论公式,但都只是提一下用什么方法修正,很多没有具体的实现公式。商用软件对外就是一个黑盒子,除了开发人员,使用人员只能在黑盒子外猜测内部实现方式。

通用结构有限元软件iSolver介绍视频:

Abaqus的DLOAD采用Fortran语言实现,而iSolver的DLOAD采用Matlab实现。本文首先简单的讨论了DLOAD的输入输出参数,然后详细的介绍了基于Fortran和MATLAB两种方式的DLOAD的开发步骤,对比发现开发步骤基本相同,同时采用MATLAB更加高效和灵活。

和UEL相比,DLOAD的网上资料较少。这里我们列出了Abaqus的DLOAD接口的关键输入输出参数,如下表所示:

一般在Abaqus界面中定义DLOAD,方法是在创建载荷时,在Distribution的下拉框中选择User-defined:

也可直接在inp中定义DLOAD,方法是在定义载荷时将分布类型从P改成对应的用户自定义载荷(面载荷为PNU,体载荷为BXNU),如图所示:

然后在创建Job时,在Usersubroutinefile中选择或输入用户编写的DLOAD的Fortran程序:

使用任意编辑器编写.for文件,比如UltraEdit

Abaqus没有自带Fortran编译器,所以用户需要自己去安装Fortran编译器和VisualStudioBuildTools,并配置相应环境。具体配置过程与UMAT一致,可以查看我们关于环境配置的视频:

在环境配置完成之后,打开命令提示框,输入命令AbaqusmakeLibrary=XXX.for,即开始编译,编译过程中的警告和错误都会打印在命令提示框内。

运行DLOAD有多种方法,除了前面所述的基于模型创建Job时直接选择DLOAD程序外,还可以在命令提示框中输入Abaqusjob=XXXuser=XXX.for,如下图所示。

另一种就是在Abaqus中创建基于inp文件的任务,然后再选择对应的用户子程序for文件,在任务管理器中提交运行,如图所示。

至此,基于Fortran的DLOAD开发流程已经完成,但结果的正确性还需要更加细致的验证,为更方便的查找问题,建议先采用单个单元调试DLOAD,在确保单个单元正确后再将DLOAD用于实际问题。

如果想要知道代码的运行结果是否和预期的一致,一种笨办法是用print打印到log文件中,高效的方法是采用断点调试的方法进行运行中的调试。

有兴趣的可到下面网页下载使用。

基于MATLAB的Abaqus的DLOAD具体开发步骤和Abaqus类似,只不过某些步骤需要用到自研有限元求解器开发平台iSolver。

如果是通过Abaqus界面定义DLOAD,则与Abaqus相应的操作一致(见2.2.1节),

在MATLAB中创建并编写DLOAD.m的文件,放入Abaqus工作目录下。该文件只包括一个DLOAD函数,前面参数接口和Abaqus的接口参数完全一致,功能也是计算分布载荷的幅值,相对Fortran,利用MATLAB可以更容易的编写计算公式,同时可以利用MATLAB在矩阵计算中各种强大功能和算法库。因为Abaqus的DLOAD接口和计算功能各个版本相对固定,这个MATLAB的DLOAD接口参数也相对固定,不会因为iSolver的版本不同而重新修改接口。

具体接口函数可直接查看iSolver的设置界面,在ViewInterface中选择DLOAD就可查看,复制到DLOAD.m即可。

由于MATLAB是脚本语言,不需要编译。

在Abaqus菜单栏的Plug-ins里选择iSolver插件的菜单。

点击iSolver->Engine,按照下图所示,在功能项UserSubroutine中选择DLOAD,勾选Debug。点击Submit进行调试运行。

程序会自动打开MATLAB并加载DLOAD.m文件,手动打上断点

点击在Debug菜单下的RunDLOAD运行。

程序将在断点处停止,且将鼠标移动到需要调试查看的参数上,能够查看到对应的值。

按F10可以进行单步调试。

在上述步骤的基础上去掉勾选Debug选项,点击Submit运行计算,此时将采用iSolver求解器联合DLOAD.m进行求解分析,运行完毕点击Results在Abaqus中查看结果。

如果觉得上面的文字太复杂,也可以看一下视频的简要讲解和软件演示,里面包括DLOAD在Abaqus和iSolver实现的从零开始的一个StepByStep操作的算例演示:

本文首先简单的讨论了DLOAD的一般含义,并详细的介绍了基于Fortran和MATLAB两种方式的DLOAD的开发步骤,对比发现开发步骤基本相同,但MATLAB更加高效和灵活。同时,由于iSolver基本单元类型和Abaqus算法完全一致,可以发现同一个算例验证两者分析结果完全一致,从而证明基于MATLAB的DLOAD的流程和结果的正确性。

DLOAD的开发一方面要有扎实的公式推导能力,另一方面需要基础的编程能力和开发工具应用水平,后者不是重点,但往往浪费了大家很多的精力,善用工具方能提高效率,基于Fortran和MATLAB两种方式的DLOAD的开发步骤和开发工具如下表:

THE END
1.三个算法讲解2024121916270383一束花一束花__一束花_创建的收藏夹__一束花_内容:三个算法讲解_20241219_16270383,如果您对当前收藏夹内容感兴趣点击“收藏”可转入个人收藏夹方便浏览https://www.bilibili.com/medialist/play/3493077484308754
2.经典算法之快速排序法(附B站最细讲解视频)b站最好的算法讲解1.算法概述 2.算法步骤 3.算法特点 二、算法实践 1.Java代码 2.执行结果 3.讲解视频 三、复杂度分析 1.时间复杂度 2.空间复杂度 一、算法 1.算法概述 快速排序(Quick Sort)是由冒泡排序改进而成的。在冒泡排序中,每次只对相邻的两个记录进行比较,因此每一次交换相邻记录时只能一次消除一个逆序;而快速排序https://blog.csdn.net/qq_52487066/article/details/126358470
3.图解LeetCode系列(1)爬楼梯算法的几种方案(含视频讲解)既然了解了动态规划的思想,那再回头看循环法的解决思路,其实它也是动态规划算法,这是说它用变量来存储的,而用数组的话在某些场景更加灵活。扩展爬N阶楼梯,每次最多可以爬M阶,M<=N,问有多少种走法?递归法/** * @param n 要爬行n阶楼梯 * @param maxJump 每次最大跨越数 */ private fun calculate4(n:https://www.jianshu.com/p/12335b291a1d
4.AlgoCasts用心做好每一个算法视频加入AlgoCasts,和2732位用户一起轻松学算法! 现在加入,即可观看视频程序员找工作指南 介绍视频播客立即注册加入 试看视频 判断单链表是否有环 ?易 浏览更多系列 推荐套餐 ¥297录制完成 150 个常见面试题目讲解视频 包含系列 1、2、3 黑板手绘讲解 代码逐行解释 视频可永久观看https://algocasts.io/
5.搞定大厂算法面试之leetcode精讲12.堆全栈潇晨视频讲解(高效学习):点击学习 目录: 1.开篇介绍 2.时间空间复杂度 3.动态规划 4.贪心 5.二分查找 6.深度优先&广度优先 7.双指针 8.滑动窗口 9.位运算 10.递归&分治 11剪枝&回溯 12.堆 13.单调栈 14.排序算法 15.链表 16.set&map 17.栈 https://www.cnblogs.com/xiaochen1024/p/15623646.html
6.《Python机器学习:基础算法与实战》(孙玉林编著)简介Python机器学习:基础、算法与实战 全彩图解+视频讲解,人工智能时代,掌握Python机器学习超轻松 作者:孙玉林 编著出版社:化学工业出版社出版时间:2023年10月 手机专享价 ¥ 当当价 降价通知 ¥78.20 定价 ¥99.00 配送至 北京市东城区 运费6元,满49元包邮 http://product.dangdang.com/29645994.html
7.深入讲解音视频编码原理,H264码流详解——视频压缩原理H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的。随着 x264/openh264以及ffmpeg等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人们使用H264的成本。 但为了用好H264,我们还是要对H264的基本原理弄清楚才行。今天我们就来看看H264的基本原理。 https://blog.51cto.com/u_15375308/5073366
8.buoys30/README.mdatmain·QunmasjVision7.原始YOLOv11算法讲解 YOLOv11是Ultralytics推出的YOLO系列最新版本,专为实现尖端的物体检测而设计。其架构和训练方法上进行了重大改进,使之不仅具备卓越的准确性和处理速度,还在计算效率上实现了一场革命。得益于其改进的主干和颈部架构,YOLOv11在特征提取和处理复杂任务时表现更加出色。在2024年9月27日,Ultralytichttps://github.com/Qunmasj-Vision-Studio/buoys30/blob/main/README.md
9.软硬件都开源!基于千兆以太网的温度传感应用视频讲解 由于视频中已经对硬件与软件工程进行了介绍,最后就再补充一些调试时遇到的bug: 1、上拉电阻的设置 DS18B20为one-wire型通行总线,也就是其通信引脚只有一个,该引脚既做为输出也做为输入使用,所以在进行引脚分配时需要对其设置成弱上拉,使用的指令为: https://cloud.tencent.com/developer/article/1676246
10.Python从零到就业全栈500课(编程爬虫数据自动化前后端算法)视频514_16程序员面试必备算法和数据结构-经典算法案例:使用递归做二分查找.mp4 515_16程序员面试必备算法和数据结构-如何理解算法设计技巧之 分治法.mp4 516_16程序员面试必备算法和数据结构-分治法的典型案例:归并排序.mp4 517_16程序员面试必备算法和数据结构-典型算法案例:快速排序(递归和非递归代码实现讲解).mp4 http://www.java1234.com/a/javaziliao/python/2024/0527/25372.html
11.九章算法亚马逊AWS,有丰富的一线开发和面试经验,算法面试之外,特别擅长亚麻行为面试指导,深入浅出讲解亚麻面试必问领导力原则,短时间内帮助学员上手行为问题回答套路,深受学生欢迎 上岸学姐 讲师 DS转MLE拿$42W包裹,上岸经验独家分享 芒果喵 Google在职工程师 国内C9本科,北美CS名校研究生,现任顶级IT公司工程师。曾于科技独角兽https://www.jiuzhang.com/
12.中国研究生创新实践系列大赛管理平台Cadence赛题讲解视频 https://www.bilibili.com/video/BV1yT411q7Ma/ 第六届中国研究生创“芯”大赛Cadence企业命题 赛题:三维集成电路RC网络精简等效算法 赛题背景: 通过对整个大型电路进行合理划分之后,划分后的模块被分配到两个或多个单独的裸片(die)上,并通过三维集成技术使得划分后的模块与模块之间的连接能https://cpipc.acge.org.cn/cw/detail/10/2c90801886cfa35201870350ffe009d8
13.牛客算法进阶班华中科技大学(本科),芝加哥大学(硕士),现任亚马逊技术专家,曾就职于IBM、百度,《程序员代码面试指南—IT名企算法与数据结构题目最优解》作者。https://www.nowcoder.com/courses/semester/algorithm-senior
14.Horace/代码随想录算法面试思维导图 B站算法视频讲解 以下为B站「代码随想录」算法讲解视频: 帮你把KMP算法学个通透!(理论篇) 帮你把KMP算法学个通透!(代码篇) 带你学透回溯算法(理论篇) 回溯算法之组合问题(力扣题目:77.组合) 组合问题的剪枝操作(对应力扣题目:77.组合) https://gitee.com/Time_Charmer/leetcode-master
15.和利时dcs5.2.4高清视频教程免费更新组态软件手册8G视频(2)软件安装视频部分截图 (3)新建工程视频部分截图 (4)硬件组态视频部分截图 (5)测点、数据库编辑视频部分截图 (6)程序算法视频讲解部分截图 (7)图形画面组态视频部分截图 (8)组态软件,相关查询手册,资料等截图 本店另售: 和利时dcs5.2.4软件资料6.5.2软件资料电工教程 https://www.songma.com/product/view149030.html
16.遗传算法(GA)优化BP神经网络及MATLAB程序视频教程第一章 必先看和粒子群算法(PSO)基本概念与算法流程 0.1_科研技术工程8个算法及9个问题全面说明兼开讲说明(38分钟,网络上免费试看) 0.2_店主预言先告必看第三版(4分钟,网络上免费试看) 1、PSO1_1粒子群优化算法讲解内容说明(14分钟,视频免费试看) http://www.jpkccn.com/?suanfachengxu/liziqunyouhuasuanfapsoduomubiaoyaoshuyouhuawentiji.html