Python调⽤Ansys、Nastran
import osimport shutil
import subprocess
def runAnsys(modelFile): #modelFile为cdb⽂件 sourcePath = os.getcwd()
ansysWorkspace = os.path.join(sourcePath,\"ansys\") #需要有ansys⽂件夹
ansysWorkspace = os.path.join(ansysWorkspace,os.path.basename(modelFile).replace(\".cdb\",\"\")) os.mkdir(ansysWorkspace)
shutil.copyfile(modelFile,os.path.join(ansysWorkspace,os.path.basename(modelFile)))#移动*.cdb到ansys⼯作路径 macFile = os.path.join(ansysWorkspace,\"run.mac\") #⽣成.mac,读⼊cdb,静⼒分析 f = open(macFile,'w') f.write(\"finish\\n/clear\\n\") f.write(\"CDREAD,DB,'\")
f.write(os.path.basename(modelFile).replace(\".cdb\",\"\")) f.write(\"','cdb',,'',''\\n\")
f.write(\"/sol\\nantype,0\\nsolve\\nfinish\") f.close()
ansysPath = \"\\\"E:\\\\Program Files\\\\ANSYS Inc\\\\v201\\\\ansys\\\\bin\\\\winx\\\\MAPDL.exe\\\" -b -g -p ane3fl -dis -mpi INTELMPI -np 2 -lch\" jobName = \"model\"
ansyscmd = ansysPath #Ansys路径
ansyscmd = ansyscmd + \" -dir \" + ansysWorkspace #Ansys⼯作路径 ansyscmd = ansyscmd + \" -j \"+jobName+\" -s read -l en-us -t -d win32\" #⼯程名 ansyscmd = ansyscmd + \" -i \" + os.path.join(macFile) #输⼊⽂件(APDL) ansyscmd = ansyscmd + \" -o \" + os.path.join(ansysWorkspace,jobName+\".out\") #输出⽂件 os.system(ansyscmd) #调⽤Ansys
shutil.copyfile(os.path.join(ansysWorkspace,jobName+\".rst\"),modelFile.replace(\".cdb\",\".rst\")) #移动*.rst到原cdb路径
def runNastran(modelFile): #modelFile为bdf⽂件 sourcePath = os.getcwd()
nastranWorkspace = os.path.join(sourcePath,\"nastran\") #需要有nastran⽂件夹
nastranWorkspace = os.path.join(nastranWorkspace,os.path.basename(modelFile).replace(\".bdf\",\"\")) os.mkdir(nastranWorkspace)
shutil.copyfile(modelFile,os.path.join(nastranWorkspace,os.path.basename(modelFile)))#移动*.bdf到nastran⼯作路径 nastranPath = \"C:\\\\MSC.Software\\\\MSC_Nastran\\\\20121\\\\bin\\\\nastran.exe\" #Nastran路径 batFile = os.path.join(nastranWorkspace,\"runBatch.bat\") #⽣成.bat f = open(batFile,'w') f.write(nastranPath)
f.write(\" \"+ os.path.join(nastranWorkspace,os.path.basename(modelFile)))# f.write(\" scr=yes old=no delete=f04,log,xdb\") f.close()
os.chdir(nastranWorkspace) #改变python当前⼯作路径 subprocess.call(batFile) #运⾏.bat调⽤Nastran os.chdir(sourcePath)
shutil.copyfile(os.path.join(nastranWorkspace,os.path.basename(modelFile).replace(\".bdf\",\".f06\").lower()),modelFile.replace(\".bdf\",\".f06\")) #移动*.f06到原bdf路径
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务