不知火舞的被虐|伊人天伊人天天综合网|博洛尼亚天气|任你懆这里只有精品4|久久美日韩精品久久|掌中之物漫画免费阅读观看|0丨d老妇

Abaqus MappedField 如何用代碼輸入文件?

瀏覽:2404 回答:11

圖片.png

這個過程如何用代碼實現?

mdb.models['Model-1'].MappedField(name='AnalyticalField-1', description='',
    regionType=POINT, partLevelData=False, localCsys=None, pointDataFormat=XYZ,
    fieldDataType=SCALAR, xyzPointData=()

xyzPointData=()目前這塊兒只能輸入一個個的數據點,能不能直接輸入文件

邀請回答 我來回答

全部回答

(5)
默認 最新
「 @ 」

可以通過腳本創建分析場,如果數據量較小可以直接輸入每個點的位置和場值,如果數據量較大的話可以通過txt文件讀入數據。具體的腳本范式如下:

建立MappedField腳本內容:
每行后面有注釋,實際運行的腳本應刪除注釋,避免不必要的麻煩
##腳本頭部引用
# -*- coding: utf-8 -*-
from abaqus import *
from abaqusConstants import *
import numpy as np
##先通過輸入坐標和場值的方式創建MappedField
mdb.models['Model-1'].MappedField(name='AnalyticalField-2', description='', 
    regionType=POINT, partLevelData=False, localCsys=None, pointDataFormat=XYZ, 
    fieldDataType=SCALAR, xyzPointData=((0.0, 0.0, 0.0, 1.0), ))
Filename = 'C:\\Users\\w1319\\Desktop\\20250324-wpimport-cae\\pressure_data\\pressure_wall_0.txt'
dataimport = np.loadtxt(Filename, dtype=float, delimiter=',')    ##用numpy中命令讀取txt文件,文件名、數據類型、分隔符
tuple_data = tuple(map(tuple, dataimport.tolist()))              
##MappedField.xyzPointData對應的變量類型應該是'tuple'類型,將'numpy.ndarray'變更為'tuple'類型
mdb.models['Model-1'].analyticalFields['AnalyticalField-2'].setValues( xyzPointData=tuple_data)
##更新數值
##后續驗證表明不變更'tuple'類型也是可以的,
mdb.models['Model-1'].analyticalFields['AnalyticalField-2'].setValues( xyzPointData=dataimport)


2025年3月25日
評論 點贊
葉重

你的問題我不清楚,但是我跟你一樣建立了一個解析場數據,可是在施加位移載荷的時候,distribution中沒有這analyticfield-1,數據沒有填全嗎

圖片2.png


2018年8月1日
評論 點贊
長頸鹿愛學習

我嘗試了下,在你這種情況下,貌似實現不了代碼化,使用Read Data from File也只能從外部文檔里讀出數據并填入XYZ表格中。但這個輸入數據的方法應該已經不麻煩了吧。

如果你這個temp.dat里面的節點編號與你的模型是一致的話,就不需要map了,直接拿來使用,在Predefined Field關鍵字位置,用Input=(還是Include=...忘了)來調用你的溫度場數據。


2017年3月7日
評論 1 點贊
長頸鹿愛學習
表格的右上角不是可以 Read Data From ASCII File么,嘗試下就可以看到相關代碼了。 或者,網格相同的話,可以直接from ODB mesh
2017年3月7日
評論 點贊
長頸鹿愛學習
你這里想要輸入的數據是應力對應節點坐標的信息?
2017年3月7日
評論 5 點贊

沒解決?試試專家一對一服務

換一批
    App下載
    技術鄰APP
    工程師必備
    • 項目客服
    • 培訓客服
    • 平臺客服

    TOP