怎么在Abaqus材料子程序中运行ML?

2024-04-25 20:05:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Abaqus来运行FEA模拟,其中包括一个用fortran77编写的材料用户子程序(umat)来定义材料模型。目前我需要使用来自模拟的数据(在运行时)来训练机器学习算法(SVR或随机森林回归还没有被选择)。当然,大多数ML模块都是用python编写的,而不是用Fortran编写的,因此到目前为止,我尝试了以下方法:

在UMAT中,我通过命令行调用python脚本,数据被写入csv文件并用于训练,输出被读回UMAT并继续模拟。你知道吗

它在玩具模型中工作,尽管在模拟过程中不断调用命令行的效率非常低,而且对真实模型也不可行。你知道吗

我能想到的唯一选择是用Fortran编写ML算法,在子程序本身,问题是这样做并不简单,例如SVR需要使用拉格朗日乘子来解决一个优化问题,而Fortran的实现非常复杂,非常耗时。你知道吗


Tags: 数据命令行用户模型算法ml材料fortran

热门问题