我想使用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 ...等
答案 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")