你的位置:首页 > 业务范围 > 二次开发

二次开发

一、CAE二次开发典型类型

    根据开发需求,通常可将CAE二次开发分为以下三类:

    1.将经常反复使用的复杂功能进行封装,使操作更加“傻瓜”化,省去复杂的操作流程,使用户更加容易学习和掌握原软件,减少人工工作量,提高分析、整理结果的速度,减少使用出错的机会,提高工作效率;(分析模板、流程定制)

    2.添加新的功能,如添加自定义模块、新的单元类型、新的求解方式以及自定义物理特性(如材料本构)等,从而满足特殊问题的仿真需求

    3.开发与不同软件的接口程序,对多个软件进行集成,建立一个新的通用平台(接口)

    目前,通用有限元软件均提供了相应接口,以便用户完成集成开发,以ABAQUS软件为例,ABAQUS为用户提供了广泛的功能,但是由于功能庞大,而且对软件使用人员的专业知识要求较高,因而驾驭ABAQUS并不是一件容易的事情。工程师们一方面需要ABAQUS强大的前后处理和分析研发能力,另一方面又渴望着它能够界面友好,操作简单。ABAQUS 本身提供了脚本接口——application programming interface,API;ABAQUS软件使用了基于ABAQUS GUI Toolkit的易于用户理解的图形用户界面GUI(Graphical User Interface)。GUI 是一个整合了窗口、按钮、图标、菜单和文本等图形对象的用户界面,通过激活这些对象而达到实现某项特定的功能。

    若能将 ABAQUS所提供的GUI 功能结合其主要功能的典型算法构造开放式的用户界面,既可充分发挥ABAQUS的强大的计算功能,又可避免记忆繁琐的命令,用户在直观简洁的操作界面上,只需输入相关数据,按按鼠标就可以完成复杂的计算,并可以得到可视化的计算结果。如图显示是ABAQUS完整的应用程序界面。



二、案例

    1.基于Abaqus 软件二次开发技术筒形件旋压过程研究

    应用Python 环境下Abaqus二次开发的自动化技术, 试图解决多道次旋压成形筒形件的有限元模型自动生成这个问题。通过有限元模型的参数化设计, 确定了这些参数的编程方式及其有限元模拟分析的应用程序。以Ti50A 筒形件为算例, 实现了多道次旋压成形的有限元模型参数化。包括建模、确定材料参数、截面属性、加载条件、确定接触、计算及其后处理直至生成完整的数据报表。
    通过Abaqus/ plugins接口对Ti 50A 筒形件多道次旋压成形的数值模拟计算模型的自动生成技术进行了研究。应用内置于Abaqus 软件的旋压GU I 窗口控制, 实现了筒形件/锥形件旋压成形过程模拟的多种参数设置。主要可以实现诸如旋轮种类的选择,不同尺寸筒形件,锥形件的单道次多道次2D/ 3D 旋压成形过程的模拟计算和后处理过程。

    接口主程序包括:

      a)旋压GUI 控制界面的生成

      b)赋予表单初值和注册旋压二级菜单

      c)将表单数据传递给旋压模拟主程序

    用户图形界面设计如图所示:



    2.钣金成形切边线逆求插件

    在应用Abaqus/Explicit进行钣金成形仿真切边后,常需要进行切边回弹分析并将成形过程引入的残余应力塑性应变和厚度减薄等应用于结构分析,处理这两类问题的难点在于:

      a)钣金零件成形后需要切边,会使零件外形发生变化,但是,切边线与用于成形仿真的网格通常相互交叉,因此需精确地确定出切边后零件的外形轮廓并进行网格重新划分,同时将成形仿真结果映射到新的网格单元上。

      b)用于结构分析的单元尺寸通常比用于成形仿真的单元尺寸大许多,因此也涉及网格重新划分和计算结果映射的问题。

    针以上两点,可采用如下图所示的流程进行分析。其中,步骤1和4均为常规建模仿真技术,而步骤和所需的功能可通过二次开发实现。

     采用Python与C++相结合的方式进行该插件的开发: Python与Abaqus/CAE二次开发接口相配合,实现模型数据的输入/输出和几何模型划分等操作;算法中涉及的映射搜索算法采用执行效率较高C++代码实现; Python与C++之间采用二进制临时数据文件进行大规模数据交换传递,插件GUI界面如下图所示,用户需指定钣金成形仿真结果数据文件( odb文件)及其中的板料零件表面、板料原始几何模型、各条切边线及切边方向,软件即可根据成形过程逆求切边线,将逆求得到的切边线向板料原始几何模型映射,并使用映射所得曲线对毛料平面进行剖切。