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二次开发帮助文档。

相关推荐
青春不败 177-3266-05201 小时前
从通量数据到SCI论文——AI-R语言生态系统碳水热通量及其机制分析与论文
人工智能·r语言·生态学·生物多样性·生态系统服务·碳水通量
海盗12341 小时前
微软技术日报 2026-10-15:Defender 下到 Linux 桌面,Copilot 订阅明天改名
linux·人工智能·microsoft·机器人·aigc·copilot
4SAPI1 小时前
官方API、API聚合平台与自建LLM Gateway:三种方案怎么选
大数据·人工智能·gateway·php
禁默1 小时前
论文解读 | IMR-LLM:工业多机器人任务规划与程序生成的两级架构方案
人工智能·机器人
郝学胜-神的一滴1 小时前
NumPy深度解析|Python数值计算的基石,告别低效for循环
开发语言·人工智能·python·程序人生·numpy·量化投资
richdata1 小时前
大模型能做商品决策吗?先看清它擅长什么、不擅长什么
人工智能
const_qiu2 小时前
第二章 2.4:搭建 Monorepo 骨架 + 共享包 @autix/contracts
java·人工智能·arcgis
luoganttcc2 小时前
AI 编译器中的 Tiling Shape 推导与选择
人工智能
Smoothcloud润云2 小时前
PyTorch推理输入长度分桶与Padding优化实战:减少无效计算
人工智能·pytorch·python·深度学习·gpu算力