python - 使用 Python 从 Abaqus FieldValueArray 访问单个值
问题描述
我目前正在编写一个用于详细分析 Abaqus 模拟的后处理脚本。我当前的问题是我想访问一些低于限制值的 Abaqus 字段对象数据和更改值。例如,如果值低于 0 --> 将值更改为 0。我打算使用简单的 if 语句来执行此任务。但是,我在正确访问数据方面遇到了一些问题。我正在使用 Python。
我的代码如下所示:
strain_n = session.odbs[odbName].steps['Load'].frames[n].fieldOutputs['SDV2']
#SDV2 is a Scalar field, strain in y-direction from Abaqus UMAT
据我正确理解 abqus 文档,我可以使用以下方法访问 FieldData:
data = strain_n.values
不幸的是,我不明白我应该如何进行,我尝试了一些与数据的组合,但没有任何效果。我无法在一个集成点访问数据,也无法更改值。命令 len(data) 告诉我 2304,这与我的预期非常吻合,因此我使用 576 个元素和 4 个积分点 = 2304。
有人可以帮帮我吗 ?任何提示表示赞赏!
解决方案
您可以尝试打印出数据:
for v in data:
print '%d %6.4f' % (v.elementLabel, v.data)
或者您可以将数据写入文件:
with open('test.csv', 'w') as f:
for v in data:
f.write('%d %6.4f' % (v.elementLabel, v.data) + '\n')
推荐阅读
- python - 计算 pyspark 数据框中的出现次数
- javascript - 随机图像和配对文本选择 javascript
- javascript - 在 Jest 环境被拆除后导入文件
- java - 如何返回一个未知值的 char 数组?
- matplotlib - 单个图形上的多种不同类型的图并将其保存到视频中
- angular - 无法读取未定义的 Observables Ionic 的属性方向
- sql - 案例表达式求和
- windows - 关于在不区分大小写的系统(Windows)中执行迁移的 SVN 到 Git 迁移问题
- node.js - 获取 invalidCiphertextException:解密使用 kms 公钥加密的数据时为 null
- python - 重复pandas数据框中的第一行和最后一行