首页/文章/ 详情

自定义载荷DLOAD子程序讲解及应用 by唐老师(海鸥乔纳森)

8天前浏览18542

本文摘要(由AI生成):

文章主要介绍了ABAQUS软件的DLOAD子程序,包括其界面、参数、使用方法和应用举例。DLOAD子程序可以用于模拟物体所受载荷是复杂函数的情况,例如与时间、位置等相关的载荷。文章通过一个平板受随时间变化的均布压力作用的例子,详细讲解了DLOAD子程序的使用方法,包括编写子程序代码、建模过程、划分网格、创建作业、提交计算和后处理等步骤。最后,文章还提供了子程序的系列视频教程,以帮助读者更好地理解和掌握子程序。


当物体所受载荷是比较复杂的函数时(如与时间、位置等相关),通过界面输入的方式已经难以实现,通常便需要借助于DLOAD子程序来实现。下面将就ABAQUS软件的DLOAD子程序进行讲解和应用举例,希望通过此次讲解能够让更多的同学能够更深入理解DLOAD子程序,并掌握DLOAD子程序的使用。

1 问题描述

如下图所示的一块平板,底部固定,顶部受到随时间变化的均布压力作用。平板的长为3.0m,宽为0.1m。材料的杨氏模量为50GPa,泊松比为0.3。压力P=10*sin(t),t为加载时间(min),加载的总时间为10min,压力的单位为MPa。需要得到在这种加载条件下,板顶部的竖向位移随时间的变化。

image001.png

2 问题分析

针对上述问题,可以采用两种方式进行模拟:(1)DLOAD子程序;(2)设置幅值曲线。

3 DLOAD子程序

子程序的界面为:

image003.png

上述程序中,已经明确指出user coding to define F,即表示需要用户自己去定义变量F的值,F的值便表示所加载的载荷大小。该数值的正负符号有明确的物理意义,对于压力,正数表示压力,负数表示拉力。也就是说只有F这个变量需要我们去定义,其它的一些变量都是输入变量,是软件传递给我们去使用的,不需要我们去定义。

子程序中的各个参数的详细意义可以参考ABAQUS帮助文档,下面对一些常涉及的变量做简要解释:

 F表示分布负载的大小;

 KSTEP表示分析步编号,如对于第一个分析步有KSTEP=1;

 TIME(1)表示分析步时间;

 TIME(2)表示当前总时间,当整个模型只有一个分析步时,则TIME(1)与TIME(2)相同;

 NOEL表示单元编号;

 NPT表示积分点编号;

 COORDS表示积分点坐标,对于直角坐标系,COORDS(1)表示x坐标,COORDS(2)表示y坐标,COORDS(3)表示z坐标;

对于上述问题中的P=10*sin(t),则可以直接编写如下的子程序:

image005.png

程序中之所以用10.0e6是因为需要把MPa换算成Pa。将上述代码另存为test.for文件,放置于对应的文件夹下。

4 建模过程

4.1创建部件

创建部件,二维平面、可变形、壳、大约尺寸10。

image007.png

绘制一个对角线顶点坐标分别为(0,0)与(3,0.1)的矩形框。

image009.png

点击确定,绘制出长为3.0m,宽为0.1m的矩形件。

image011.png

4.2 创建材料并将材料界面指派给部件

创建材料如下图,杨氏模量输入50e9,泊松比输入0.3,此次模拟中整个建模以国际单位制进行,故而此时杨氏模量的单位为Pa。

image013.png

点击确定,接受默认选项,创建材料material1。

image015.png

创建截面,选择实体、均质;材料选择material1,接受默认选项,点击确定,创建section1成功。

image017.pngimage019.pngimage021.png

将创建好的截面指派给所创建好的part-1,被正常赋予材料属性后,部件的颜色变为蓝色。

image023.png

4.3 创建实例

创建实例从部件,部件选择part-1,实例类型选择非独立(后续划分网格需要针对部件划分网格)。

image025.png

接受默认选项,创建实例。需要指出的是,ABAQUS软件的分析都是针对实例的,因此创建了部件以后,都必须将部件创建为对应的实例才能够进行分析模拟。

image027.png

4.4 分析步创建

这个模拟加载可以看做为随时间缓慢变化,故而可以看作为静力学分析,采用静力、通用的分析步。

image029.png

分析步时间设置为10,由于是静力学分析步,时间的数值并无确切含义,该时间是虚拟时间,此次模拟中对应于10min。几何非线性接受默认选项为关。如果变形较大,则需要将几何非线性的开关打开。

image031.png

为了尽可能多的增加数据点,采用最大增量步时间为0.2,初始增量步时间为0.1。这样的设置,至少可以保证最少有10/0.2=50个数据点输出。

image033.png

接受默认选项,创建好分析步step-1。

image035.png

4.5 定义载荷

定义力学类别中的压强载荷。

image037.png

选择顶部表面作为加载面。

image039.png

分布中选择用户定义,大小那里可以不用输入。输入也不影响计算,输入数值可以用来判断正负数值的加载方向。

image041.png

创建底部的固定边界条件。

image043.pngimage045.png

创建好的边界条件如下图所示。

image047.png

4.6 网格划分

宽度方向划分7个网格,长度方向划分100个网格,单元类型选择四面体结构、平面应变单元。

image049.png

划分好的网格如下图所示。

image051.png

4.7 创建作业

创建作业时,需要选择子程序的路径,将子程序添加进去。需要注意的是,要使用子程序,需要首先将软件和子程序环境关联。具体关联方法可以网上搜索,大概流程是安装ABAQUS软件,安装Visual studio(ABAQUS软件与Visual studio安装的先后顺序没有要求,但是intel Fortran一定要安装在Visual studio以后),安装intel Fortran,然后将ABAQUS软件与Visual studio、intel Fortran进行关联。

image053.png

提交作业进行计算。

image055.png

4.8 后处理

计算得到10min后的应力云图如下图所示。

image057.png

选择顶部中间点的应力作为输出,绘制出S22应力随时间的变化曲线如下图。

image063.png

image065.png

根据上述S22的结果,可以看到我们所需的变化载荷已经成功引入。与上述提取应力的结果类似,提取出竖向位移的变化如下。

image067.png

由于文字介绍,很多地方不能够准确的讲述出来,后续将出一个子程序系列的视频教程,一方面是让大家理解和掌握子程序,另一方面也希望能够让大家掌握学习的方法。

针对子程序的讲解,特开设了一个系列的课程,有需要的可以点击下面图片进入,进行学习。后面还将接受采用生死单元法模拟焊接过程,敬请关注。

temp.gif

 课程推荐

ABAQUS子程序12讲-掌握Abaqus常用子程序的二次开发与应用

附件

免费20190708231623-DLOAD子程序.zip
Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-07-09
最近编辑:8天前
唐老师ABAQUS
硕士 | 高级工程师 一起探索ABAQUS之美
获赞 50粉丝 864文章 3课程 4
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈