如何使用Python代码控制MSC NASTRAN等FEA软件?

时间:2018-03-23 01:45:57

标签: python numpy system

我想使用python运行MSC NASTRAN。我在MATLAB中看到过类似的功能 List<TaskNote> notes = noteManager.GetAll(newTaskId)?.ToList(); #where file_name.bdf是使用nastran运行的输入文件。

因此我在下面尝试使用python代码,但它没有用,

system('nastran.exe file_name.bdf')

你能告诉我哪里出错了吗?

另外,如何通过python在NASTRAN中提供命令行?例如,对于运行的内存分配,需要使用核心数量来运行等。

一些NASTRAN命令行包括, 1. scr = yes delete = f04,log,xdb pause = yes 2. mem = 10gb bpool = 3gb memorymaximum = 14gb sscr = 500gb sdball = 500gb mode = i8 ...等

2 个答案:

答案 0 :(得分:1)

我不能直接为MSC Nastran说话,因为我已经使用它已经有一段时间了。但是大多数现代FEA程序都有一个API(应用程序接口),允许您从外部程序(如python或matlab)调用命令。

如果没有API,您可能只能使用python从命令行启动程序,这是您的代码尝试执行的操作。至于如何从python中启动程序,请查看这个问题/答案: How to run application with parameters in Python?

答案 1 :(得分:0)

运行MSC NASTRAN文件的简便方法是创建一个.bat文件并从python运行它。 .bat文件的格式为:

<nastran.exe location> <Python script file location> <Nastran command line>

一个例子可以是:

C:\MSC.Software\MSC_Nastran\20141\bin\nastran.exe C:\py_nastran_run\example.bdf scr=yes old=no delete=f04,log,xdb

然后在python脚本中包含以下行,

status=subprocess.call("runBatch.bat")