DEFORM文本模式(4):后處理結(jié)果的提取

前言

之前的文章講了DEFORM文本模式下的前處理以及計算部分(點擊下面的鏈接可以查看之前的文章),那后處理又怎么辦呢?

往期文章

DEFORM文本模式(1):環(huán)境配置

DEFORM 文本模式(2):命令的使用

DEFORM文本模式(3):批量生成KEY文件及計算




DEFORM提供了兩種方式來提取后處理結(jié)果:文本模式的前處理器和文本模式的后處理器。最粗暴直接的方式就是打開前處理器的文本模式,然后加載DB文件的最后一步,再導(dǎo)出KEY文件,KEY文件中的關(guān)鍵字包括了所有需要的數(shù)據(jù)。



對應(yīng)的腳本如下:

DBREAD 100
DEFORM_DEMO.DB
KFWRIT
OUTPUT.KEY





其中:DBREAD 100表示讀取DEFORM_DEMO.DB第一百步的結(jié)果;KFWRIT表示將結(jié)果保存為名為OUTPUT.KEY的KEY文件。輸出的KEY文件長這樣,前面的大寫英文字母就是關(guān)鍵字,找到對應(yīng)的關(guān)鍵字就可以找到你想要的結(jié)果。



DEFORM文本模式(4):后處理結(jié)果的提取的圖1


應(yīng)力的關(guān)鍵字是STRESS,應(yīng)變的關(guān)鍵字是STRAIN,溫度的關(guān)鍵字是NDTMP,密度的關(guān)鍵字是DENSTY,等等。




這里還涉及到從KEY文件中提取所需變量問題,畢竟一個KEY文件中這么多變量。那面對這么多的變量,最好的處理方式當(dāng)然是寫腳本了。以密度為例,密度的關(guān)鍵字是DENSTY,在KEY文件中它長這樣。



DEFORM文本模式(4):后處理結(jié)果的提取的圖2




前面的1,2,3...這些數(shù)字表示單元編號,后面的就是每個單元的密度值。
具體的提取腳本由Python編寫:


import re
import
pandas as pd

from
io import StringIO

with open("200_110_15000c.key","r") as density: #打開KEY文件    
   density = density.read()

density = re.findall("DENSTY[\d\D]*S",density)[0]  #正則匹配DENSTY部分
density = StringIO(re.sub(" +","",density)) #正則替換空格
df = pd.read_csv(density,sep=",") #讀入Pandas
df.to_csv(r"E:\DEFORM_EXAMPLE\post\1.csv") #保存成CSV文件


提取完后,在EXCEL中打開

DEFORM文本模式(4):后處理結(jié)果的提取的圖3

那提取出對應(yīng)的結(jié)果之后,就可方便進(jìn)行后續(xù)的處理。

你的每個贊和在看,我都喜歡!
DEFORM文本模式(4):后處理結(jié)果的提取的圖4



登錄后免費查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

7
4