问题描述

使用脚本控制abaqus批量构建RVE模型(调用micro mechanics插件)并且使用EasyPBC添加边界约束得到E11与V12结果,完整的所有结果包含在rpy文件中,因此需要将结果信息提取出来,放入csv文件中。

txt文件预处理

rpy文件直接重命名为txt文件方便操作。
为简化代码操作,首先对txt文件进行简单的处理。
原rpy文件如下图所示,在图中最后两行才是需要的数据,由于批量执行的规律性,发现从第一次有效数据开始,每隔47行为下组数据。

因此,删除第一组数据之前的无效代码。观察到,数据后包含“ Stress units”与“ ratio”无效后缀,因此可用文件中“替代”操作删除该后缀。得到新txt文件如图所示。

python代码

代码与注释如下

import numpy as np
import csv# 使用list存放数据
list = []# 使用with open可以不用繁琐地使用close()
# 先进行txt文件数据的读取
with open('test out.txt', 'r') as f:# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据下标和数据# row_num为当前行数,line为当前行数据for row_num, line in enumerate(f):# 第1行与之后的i+47行包含E11数据if row_num % 47 == 0:# 可使用split函数进行数据提取,根据上图,数据包含在line[1]中line = line.split('#: E11=')# 由于该方法提取数据后,line[1]最后有字符'/n',所以使用[:-1],保留除了最后的字符的数据。添加至list中list.append(line[1][:-1])# 这里V12直接添加到E11后面了if row_num % 47 == 1:line = line.split('#: V12=')list.append(line[1][:-1])# 为了写入csv时为两列,使用array的reshape功能,将list变为两列的arr
arr = np.array(list).reshape(-1, 2)# newline=''可避免写入csv后出现空白行
with open("test.csv", "w", newline='') as csvfile:writer = csv.writer(csvfile)writer.writerows(arr)

python:txt写入csv:abaqus二次开发rpy文件数据提取相关推荐

  1. abaqus对应python版本_关于ABAQUS二次开发使用的Python版本?

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. abaqus生成odb文件_【前沿技术】基于Python的ABAQUS二次开发在飞机蒙皮锤铆中的应用...

    基于Python的ABAQUS 二次开发在飞机 蒙皮锤铆中的应用 在飞机蒙皮铆接技术中,锤铆是用一个小冲击力循环累计施加到铆钉使之变形的过程.根据锤铆铆接工艺和铆枪结构原理,铆钉的塑性变形是由铆枪的活 ...

  3. python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...

    2009 doi :10 1 3969/ j 1 issn 1 1007 2 2012 1 2009 1 04 1 013 基于 Python 的 ABAQUS 二次开发及在板料快速 冲压成形模拟中的 ...

  4. python对abaqus本构二次开发_基于Python的Abaqus二次开发实例讲解

    第 1 页 共 11 页 基于 Python 的 Abaqus 二次开发实例讲解 ( asian58 2013.6.26 ) 基于 Python 的 Abaqus 的二次开发便捷之处在于: 1 .所有 ...

  5. abaqus python二次开发攻略_Python 进行 Abaqus 二次开发的基础知识

    1.Python 一切皆对象的特点 Object(对象):可以是数据,可以是函数,也可以是包含若干数据和函数的打包整体.对象可以包括成员和方法. Member(成员):对象包含的子对象,子对象可以是数 ...

  6. python在abaqus二次开发_Python在ABAQUS二次开发中的应用实例2ppt

    PPT内容 这是Python在ABAQUS二次开发中的应用实例2ppt,包括了ABAQUS 脚本概述,Python 语言简介,ABAQUS脚本编写等内容,欢迎点击下载. 主要内容 一.ABAQUS 脚 ...

  7. 基于python的abaqus二次开发_基于PYTHON的ABAQUS二次开发实例讲解

    第 1 页 共 11 页 基于 Python 的 Abaqus 二次开发实例讲解 ( asian58 2013.6.26 ) 基于 Python 的 Abaqus 的二次开发便捷之处在于: 1 .所有 ...

  8. 基于python的abaqus二次开发_ABAQUS Python二次开发攻略

    结合自己多年Abaqus 使用经验,在汲取国内外大量资料的基础上编写的一本Python 二次开发知识点笔记.内容涉及开发环境的搭建.Python 基础语法知识.Abaqus Python API 讲解 ...

  9. 基于ABAQUS二次开发的仿真分析平台

    ✨基于ABAQUS二次开发的仿真分析平台✨ 随着近年来计算机领域里程碑式的进步,计算机软件市场的迅速扩张,推出了许多功能强大的计算机仿真软件.ABAQUS有限元仿真分析软件则是其中的翘楚,作为应用广泛 ...

最新文章

  1. 自建28核树莓派集群,顺便学学docker,这里有一个500美元的搭建方案
  2. 给按钮添加热键和快捷键
  3. Sqlserver2014在Windows中打开Configuration Manager
  4. @requestbody和@requestparam到底什么作用
  5. 框架的特性_Go 语言 Web 框架 Echo 系列:基础篇—通过一个例子串联各特性
  6. 终端仿真程序_SecureCRT for mac(终端SSH工具)
  7. char* 赋值 const char* 释放_C/C++编程笔记:C语言中 const 关键字的作用及解析,值得收藏!...
  8. 微软 SQL Server 2016 SP1 开发者版入驻 Windows 容器
  9. Fortify代码扫描工具
  10. 手撕《现代信号处理》——通俗易懂的现代信号处理章节详解集合
  11. mysql用户角色权限表的关系_用户、角色、权限表的关系(mysql)
  12. Docker-Toolbox常见问题解决方案
  13. 本周最新文献速递20210801
  14. 微服务 支付 核对 对账系统
  15. Android常用adb shell命令
  16. todolist从无到有
  17. 筱筱看博客(微信小程序、Lin-ui组件、vant Weapp)
  18. 关于vim的详细配置
  19. 好用的php博客系统,个人博客系统推荐 PHP开源好用的BLOG程序大全
  20. Junit报错:Argument(s) are different! Wanted:

热门文章

  1. [Java基础]-- java char基本数据类型
  2. 机器学习线性回归——概念梳理及非线性拟合
  3. 2017年九月计算机试题,2017年九月份全国计算机一级考试试题
  4. mac电脑投屏到小米盒子_小米盒子不能iPhone投屏
  5. 光量子计算研究与应用
  6. windows忘记本地pg数据库密码,修改本地pg数据库密码
  7. 数论 GCD 最大公约数 欧拉函数经典题 洛谷 CF1295D Same GCDs Codeforces1295D
  8. 农机计亩区域划分问题
  9. 施耐德NOE77101以太网模块固件逆向漏洞挖掘
  10. 卡尔曼滤波处理三轴加速度数据(MATLAB)