Radioss二次开发需要准备什么?

Radioss支持材料本构、材料破坏和单元属性的二次开发。

本次主要讲介绍以下几个方面:二次开发背景知识,安装Fortran编译器,设置环境变量,编译二次开发的程序,使用二次开发的程序。

二次开发背景知识

Radioss的二次开发是使用动态库的二次开发,在不同的操作系统上会产生不同的文件,如图所示:

(点击图片可以查看大图~)

二次开发的流程如下图所示,首先要用Fortran编写二次开发程序,程序需要包含两部分:Starter二次开发程序和Engine二次开发程序;之后需要编译动态库;编译完成后,如果是windows系统会生成后缀为dll的文件,把这文件和Radioss模型放在同一个文件夹内,在运行模型时,Radioss就可以自动识别二次开发程序。

安装Fortran编译器

Fortran编译器选择

Intel 的 Fortran 编译器功能强大,而且支持所有操作系统,但是需要付费;而GNU GCC支持Linux64,MinGW Gfortran支持Windows,这两个是免费的Fortran编译器,因为这一讲的实例都是在Windows系统上,所以推荐大家使用MinGW Gfortran。

MinGW下载

大家可以从MinGW主页下载免费的MinGW win64 安装软件,文件只有900K左右

安装注意事项

下载完成之后,进行安装,不过要注意的是,在安装时可以选择安装版本,建议大家安装4.9.2或者7.2.0版本,经工程师测试,这两个版本最好用、和Radioss最兼容。Architecture选择x86_64,Threads选择win32,Exception选择seh,build revision选择1,推荐参数如下图所示:

安装完成测试

安装完成以后,在"开始"菜单中找到里面的" MinGW-W64 project" 文件夹中的 Run terminal 进行测试,点开后输入gcc -v或者gfortran --v可以再次查看MinGW的版本号,核对版本号以及各项设置是否正确。

看到这样的版本信息表示成功安装MinGW Win64 编译器啦~

以上两部分如果大家觉得看文字还不能很好理解的话,可以观看下方视频,Altair China Radioss高级应用工程师Lucy会为大家详细讲解:

设置环境变量

成功安装完Fortran编译器之后,我们就要来设置环境变量啦。

设置SDK的地址

我们需要设置SDK的地址 RAD_USERLIB_SDK_PATH 。

Linux (bash)

Windows

那如何链接呢?

首先找到安装HyperWorks的目录 -- 找到hwsolvers文件夹 -- 点击Radioss文件夹 -- 找到userlib_sdk

PS:请确保安装好了Hyperwork solver安装包!

(安装盘不一样文件位置有可能有所出入)

设置动态库名

设置动态库名 RAD_USERLIB_ARCH,系统不同、Fortran版本不同,要设置不同的动态库名~

上图放大以后如下:

这里展示的是在windows平台安装gfortran4.9.2版本,如果安装的其他版本在图中找到对应的动态库名即可。

小结一下,设置环境变量的命令如图所示:

编译二次开发的程序

Radioss提供了一些编译的脚本,不过在编译中需要注意一些格式,如下图:

放大看一下:

同理,Radioss提供的编译脚本也是根据使用不同的sdk而不同,参考如下:

我们在刚才提到的设置环境变量以及运行的命令,都可以放在一个脚本里面从而可以快速地进行。

成功编译starter和engine二次开发程序,产生libraduser_win64.dll文件:

starter和engine二次开发程序有错误,编译将不成功:

这两小节比较复杂,具体如何编译,看视频可能更清楚哈~

使用二次开发的程序

有了dll文件之后,将生成的dll文件(或so后缀的文件)放入有Radioss模型的文件夹中。

和平常一样运行Radioss模型即可,Radioss自动识别使用dll文件(或so文件)。

如果你的dll文件比较多,可以在HyperWorks solver run manager 中指定文件。

在HyperWorks solver run manager 中运行完成之后,点开结果文件,检测是否使用了二次开发编译的dll文件(或so后缀的文件)。

在starter二次开发程序(比如lecm29.f)中加入特殊的打印语句。

在starter输出文件*0.out文件中相应位置出现该打印语句。

这一部分也有视频供大家更直观的学习:

帮助文档

如果大家在过程中有问题,可以查阅Radioss二次开发帮助文档。

相关推荐
跨境卫士苏苏5 分钟前
TikTokShop关联账户认定指引更新跨境代运营团队需要注意哪些管理责任
大数据·人工智能·市场营销·跨境电商·营销策略
SelectDB9 分钟前
Apache Doris 企业版怎么选?SelectDB 提供同源商业支持、私有化部署与信创适配
人工智能
乐维_lwops13 分钟前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
杨杨杨大侠40 分钟前
AI 怎么知道自己改对了?从 Astra 修千问说到 Harness²
人工智能·agent
tellmewhoisi43 分钟前
深度学习39:RNN基础介绍,api参数解惑和代码api
人工智能·rnn·深度学习
金融Tech趋势派1 小时前
企业微信客户管理工具哪个好?按企业规模、行业与合规要求的三层判断标准
人工智能·企业微信
组工部管理能手李哥1 小时前
一次政务知识库体验:AI回答之外,我更在意那行引用来源
大数据·人工智能·大模型·政务
硅谷秋水1 小时前
AgenticRoboRL:将“编程智能体”后训练引入智能体化机器人领域
人工智能·机器学习·语言模型·机器人
武天旭1 小时前
AI安全--AI大模型的毒性偏见与安全对齐实践
人工智能·python·深度学习
wordbaby2 小时前
构建高效的智能体(Building Effective Agents)— Anthropic 官方全文精译与图解
人工智能