立即登录

wincc vb脚本如何建立和调用全局子程序 如何学习abaqus子程序和二次开发?

11/28 07:09:04

wincc vb脚本如何建立和调用全局子程序 如何学习abaqus子程序和二次开发?

本人小白一只,但之前有学习过一点问题中的内容,在此结合自己之前的学习经历进行回答。鉴于提到此问题的朋友们应该对ABAQUS都不是很熟,但问题回答的关键部分需要了解一些基础知识,为了使得回答更具条理,我按照逻辑将此部分基础知识放于开始部分,已掌握的朋友可以跳过。

ABAQUS的二次开发分为两种,一是基于Python的前后处理的二次开发,二是基于Fortran或C的求解器的用户子程序Subroutine开发。

ABAQUS软件包含三部分辅助论坛,一是前后处理的ABAQUS/CAE;二是求解器部分包含standard/Explicit/CFD三种,分别用于求解常规静态问题,显式求解以及流体动力学等问题;三是帮助文档ABAQUS/Document。其中第一和第二部分是常规下载时一同下载好的,第三部分需要另外下载且版本可不一致,即CAE可以是6.14的,但帮助文档下载6.12版的。

现在开始讨论基于Python的前后处理的二次开发。在开始菜单中找到ABAQUS 6.14下的ABAQUS/CAE可以进入软件的第一部分。CAE分为交互式用户窗口GUI以及隐藏于背后d的Kernel两部分。CAE的软件逻辑是,用户在交互式窗口中使用快捷工具进行操作,比如点击创建一个部件,GUI将操作翻译成Python代码,传给Kernel,Kernel根据命令进行建模。

此处为关键,既然Kernel读取的是GUI传给其的Python代码,那我们岂不是可以不通过界面工具操作,而是直接向Kernel输入对应的Python代码吗?答案是肯定的,这就是基于Python的前后处理的二次开发。

在ABAQUS中运行Python脚本的方式很多,我一般是在CAE中的File菜单下的Run Script命令,选择创建好的py文件,点击OK就可以了。你可以找同学提供一个现成的.py文件,运行一下试试看。

现在你离Python二次开发只差一步之遥,即学习Python语言,然后学习ABAQUS提供的Python类的应用。此部分我是根据苏锦鹤老师的一本书中学习的,我在图书馆中借阅的此书,对我帮助颇多,再次为其作者打个小广告以表谢意。对于此部分,有几处要点,一是ABAQUS中数据结构 仓库 的使用,二是三个基础对象session,mdb,odb的学习。

Python脚本的编写工具可以选Python官方的IDLE,但最好采用ABAQUS自带的Python编辑器。

接下来是基于Fortran的用户子程序,Fortran的用户子程序分为三族,分别针对三种不同的求解器。

Fortran语言比较特殊,作为第一种高级编程语言(早于人尽皆知的C语言),其在科学数值计算领域一直大受推崇且久经不衰。Fortran运行很快wincc vb脚本如何建立和调用全局子程序,且自带基于数组矩阵的各项操作使得其代码更为条理,据说MATLAB的底层是Fortran,不知是否属实,不过MATLAB正好很像Fortran的升级版,虽然运行得挺慢。Fortran目前常遇见的有四个版本,Fortran77,Fortran90,Fortran95,Fortran03,第一种与后三种差别很大。ABAQUS的用户子程序中是使用的Fortran77,貌似其他版本也可以,不过我没试过,后续再更新吧。

Fortran用户子程序二次开发需要下载两个visual Studio和Intel的Visual Fortran。其三者有版本对应要求,需要额外注意。

用户子程序中常用的是用户材料子程序umat,貌似知乎上的资料很多,可以直接搜umat试试看。我在此只提一个小建议,就是多看下用户帮助文档,虽说是英文,但其实不难。

本人只会得一点wincc vb脚本如何建立和调用全局子程序,上述回答中可能存在不少疏漏错误,请大家发现后多多指教。我之后也会持续更新,尽己所能完善回答。

来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新资讯