Scipy 在 Abaqus 中

Scipy in Abaqus

我想为 Abaqus 创建一个 Python 脚本,其中将使用 Scipy 库。不幸的是,Abaqus 没有那个库。它可以安装,但我想以不同的方式安装。

我的想法是编写一个接受参数的函数,将其传递给在 Abaqus 外部打开的新 Python 解释器,然后它 returns 输出到我的文件。

我很确定它可以完成,但我仍在学习 Python。请给我任何可以用来解决我的问题的提示。

为了达到你想要的效果,你需要启动一个后台进程,它会执行一个Python脚本。这可以通过 built-in subprocess 模块在 Python 中完成。

在最简单的情况下,你会这样写:

import subprocess
process = subprocess.Popen(['python', 'your_script_name.py'])
process.wait() # If you want to stop caller until callee terminates

也可以检索子进程返回的结果,但您可以在其他线程中阅读更多相关信息:

  • shell -python getoutput() equivalent in subprocess
  • How to get data from command line from within a Python program?

请注意,在某些情况下,需要通过删除 Abaqus 特定环境变量来修改包含环境变量 (os.environ) 的字典的内容。否则在启动子进程时会出现一些问题。

如果您确实想将修改后的环境传递给新进程,Popen 有一个参数 env