【问题标题】:Abaqus/Python read MappedField data from csv-fileAbaqus/Python 从 csv 文件中读取 MappedField 数据
【发布时间】:2017-09-05 14:52:31
【问题描述】:

我想用 Python (Abaqus) 指定以下分析字段:

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

如何通过从 csv 文件中读取 xyzPointData 来做到这一点,看起来像

[Data]
X , Y , Z , Temperature 

0.0, 0.0, 0.0, 100.0
-0.5, -0.5, 0.0, 50.0
0.5, -0.5, 0.0, 50.0 
-0.5, 0.5, 0.0, 50.0
0.5, 0.5, 0.0, 50.0 

? (当然我有不止五点)也许有一个简单的方法,但我还没有找到解决方案。非常感谢您的帮助。

【问题讨论】:

  • 您能否详细说明您卡在哪里?这是一个简单的“如何阅读 csv 问题吗?如果你搜索这个网站,我敢肯定有一堆相关的问题。
  • 到目前为止你尝试了什么?您是否尝试读取 csv 文件并为每一行构建一个元组?

标签: python csv abaqus


【解决方案1】:

agentp:不仅仅是如何阅读,而是把它变成一个合适的形式。 mquantin:谢谢你的关键字。这就是我所寻找的。一个解决方案是:

path = "/home/user/test.csv"
datalist = []
with open(path, "rb") as fp:
    for row in fp.readlines():
        tmp = row.split(",")
        try:
            datalist.append((float(tmp[0]), float(tmp[1]), float(tmp[2]), float(tmp[3])))
        except:pass

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-10
    • 2014-01-07
    • 2019-09-17
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多