一、什么是仿真二次开发?
仿真二次开发是客户化定制开发的过程,聚焦于客户行业需求,利用通用商业仿真软件提供的软件编程接口API(Application Programming Interface),将其相关的软件操作、理论知识和经验规范封装成专业仿真模板,既可以利用通用软件的所有功能,又可以按照行业需求进行客户化定制,形成行业专业仿真系统,降低仿真使用门槛,提升企业仿真效率缩短产品研发周期。
二、为什么需要仿真二次开发?
通用的仿真软件如ANSYS,功能模型虽然多而全,但是缺乏相应的行业专业性。不同行业需要解决的技术问题不同,所以仅需要使用行业相关的仿真功能模型。调查表明,仿真软件提供的标准功能里,仅有20%功能是客户需要的,而剩下80%标准功能使用较少。仿真二次开发正是解决行业化定制功能模型的诉求,从而为客户创造商业价值。
仿真分析具有一定技术门槛,既需要技术人员具备行业基础,也需要积累相关仿真经验,对仿真软件操作更是有较高的要求,所以对企业技术人员来说,学习周期长,入门难度高。定制化的仿真二次开发可以将技术、行业经验与仿真流程封装成模板,使用者仅需输入相应参数,程序模板自动执行仿真计算,即可得到仿真结果。
三、仿真二次开发方向
1) 添加新功能
- API驱动的CAE二次开发,用户可定义自己的功能和操作。例如添加自定义模块、新的求解器及自定义的前后处理功能。
2) 仿真流程集成
- 开发与不同仿真软件的接口程序,将外部知识、多个仿真软件、流程、标准规范进行集成,形成一个新的通用的仿真平台。
3) 仿真模板开发
- 将经常反复使用的仿真过程进行开发及封装,让仿真过程自动化,使操作更加“傻瓜”化,为技术人员的一般应用工作提供有力的工具。
- 上述开发方向中,添加新功能是以插件或工具箱的形式添加在目标程序中,提供用户自定义的功能及操作。
- 而仿真流程集成和模板开发涉及仿真功能和用户界面开发两个阶段;首先是仿真功能开发,包括仿真集成开发(集成外部知识、仿真软件及标准规范等)、仿真流程开发。然后是用户界面开发,开发用户界面对仿真功能进行封装,用来处理用户输入参数和仿真功能之间的交互。
四、如何进阶仿真二次开发工程师?
进阶仿真二次开发工程师,需要做到以下方面:
1) 熟悉行业的工程问题,可以将实际仿真需求转化为相应功能模块;
2) 需要具备仿真软件提供的API和脚本所用的语言基础,例如C#、Python等;
3) 熟悉通用仿真软件操作,如流体仿真Fluent、结构仿真的Abaqus,并能将操作过程开发成可执行脚本;
4) 具备用户界面开发、数据库编程能力,可处理用户输入与仿真功能间的交互。
五、ANSYS二次开发技术
ANSYS作为全球工程仿真领域的领先企业,是集热、电、磁、流体、结构等仿真组件于一体的大型通用多物理场仿真分析系统。ANSYS提供了比较完备的API接口,方便用户在其基础上进行二次开发。
常用的二次开发技术如下:
1) 基于Workbench框架的应用整合
ANSYS Workbench框架中集成的多物理场组件应用程序,涵盖了仿真过程的各个阶段,包括:仿真分析过程、数据共享传递、设计探索优化及工程数据管理。框架中集成的应用程序有独立UI及应用窗口,如:DM、SpaceClaim、Mechanical、CFX、Fluent、CFD-Post等。应用框架是完全脚本化(Python)和参数化的,可以通过脚本和参数化来驱动在Workbench框架下的组件应用程序来实现二次开发。
2) 基于Journal脚本的封装
ANSYS部分产品除了可以在Workbench平台上调用,也能以单机模式(Standalone)打开,如SpaceClaim、Mechanical APDL、Fluent(Meshing Solver)、CFD-Post、EnSight等;上述软件支持Journal脚本并提供脚本录制功能,用户可以录制仿真过程中的操作脚本,然后通过用户界面开发实现用户与脚本交互,最后通过Batch(批处理)命令调用脚本来实现仿真自动化。
3) ANSYS ACT开发
ANSYS Customization Toolkit简称ACT,是ANSYS提供的二次开发平台。借助 ACT,我们可以创建一系列应用,来实现日常工作流程的自动化、定制化专业流程、开发业务特定应用程序以及将第三方工具和数据集成到 ANSYS 产品线中。
ACT 使用易学而又强大的 XML和IronPython编程语言,甚至可支持非专家用户为其高级工作流程创建自定义应用——不需要数周或数月,而只需数天。与典型的软件编程不同,ACT 无需任何商用集成开发环境(IDE)。相反,ANSYS 会提供一个简单而直观的开发环境,其中涵盖引导我们完成整个流程的完整文档、模板和预定义应用程序。
,