基于Python向Abaqus导入txt、dat数据(附abaqus中python二次开发课程)

article/2025/9/22 16:34:57

这次推送聚焦于解决采用Python向Abaqus里导入txt、dat数据的问题(dat文件只需要将txt文件的后缀名改为dat就可以生成dat文件),Abaqus基于Python读入txt、dat数据主要有read()、readlines()、readlines()、numpy.loadtxt()函数,导入的txt文件放在工作目录temp中。

1. read() 函数

可以一次性读取txt文件中的内容,并以字符串的结果返回来,如下列代码所示:

with open("xyplot.dat", "r") as f:    #打开文件data = f.read()   #读取文件print(data)

其中,

  • r是读取人工书写的数据,书写的时候是什么样子,读出来就是什么样。

  • rb是读取二进制文件,非人工书写的数据,如.jpeg等这些。

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行后,结果如图1所示(图中#注释后的乱码为作者安装abaqus采用英文版,没有汉化所致):

图1 read()读取txt、dat数据到Abaqus

需要注意的是,以上data数据类型都是为字符,如下图所示。调用data[0]为字符,因此data[0][0]也为字符,以及后续的data[20][0],data[60][0]等也都为字符。

2. readline()函数

readline()函数只读取txt、dat文本第一行的内容,并以字符串的形式返回结果,其代码如下所示

with open("xyplot.dat", "r") as f:      # 打开文件data = f.readline()                            # 读取文件print(data)

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行上述代码后的显示结果为图2,很明显只读进去了第一行的内容。

图2 readline()读入txt、dat文件到Abaqus

3. readlines()

readlines函数能读取txt、dat文本的所有内容,以数列的格式返回结果,并且配合for in使用,其代码如下所示:

with open("xyplot.dat", "r") as f:for line in f.readlines():line = line.strip('\n')  #去掉列表中每一个元素的换行符print(line)

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行上述代码后的显示结果为图3。读取data[0]、data[1]、data[1][1]、data[1][0]、data[1][2]、data[1][4]、data[1][0:4]的结果见图3,大家可以看到其中的规律,特别是上述读取的都是字符,如果想要得到数据类型,特别是有利于后面的循环读取,需要将字符类型转化为数据类型,这里采用float(data[1][0])将字符转化为数据类型。

图3 readlines()读入txt、dat文件到Abaqus

读写txt文件时需要选择r、w、rb、wb等的模式,其释义如图4所示:

图4 Python读写txt、dat数据到Abaqus的模式解释

4.numpy.loadtxt()

Abaqus里已经自带安装了numpy,无需要像python需要额外安装numpy。

import numpy as np
b=np.loadtxt('coordinates.txt',delimiter = ',',dtype=np.float32)
print(b)

  • 第一行代码主要为将numpy简化等效为np,为了后续方便,比如np.loadtxt可直接等效为numpy.loadtxt,但长度是一样的。

  • 第二行代码读入coordinates.txt(图5),delimiter指定读取文件中数据的分割符,在这里为逗号,;而后面dtype为指定读取后数据的数据类型为float32类型。需获取该txt文件,可在公众号里回复:coordinates.txt

  • 第三行代码在Abaqus里显示b的内容如图6所示,导入进去的b为一个array,其中忽略了逗号。在Abaqus里进行调用b的结果如图7所示。注意到,b[0]为array中的第一行,b[1]为array中的第二行,b[0][0]为array中的第一行中的第一个元素,b[0][1]为array中的第一行中的第2个元素,b[1][0]为array中的第2行中的第一个元素,b[1][1]为array中的第2行中的第2个元素

图5 coordinates.txt的内容

图6 Abaqus显示读取coordinates.txt的内容

图7 Abaqus里调用coordinates.txt的内容

说明:
  • 以上Python命令流既可以在Abaqus的命令行接口(Command Line Interface, CLI)直接运行,也可以通过在Abaqus/CAE的File菜单下,选择Run Script...运行以上命令流保存的py脚本,两种运行方式的运行结果完全相同。

以上即为本次推文的主要内容,如果想更深入的了解Python在abaqus中的应用,欢迎学习以下课程。

ABAQUS Python二次开发工程实例教程https://www.jishulink.com/college/video/c16214

最后,有abaqus二次开发相关需求,欢迎通过微信公众号联系我们。

微信公众号.jpg


http://chatgpt.dhexx.cn/article/ZsitKuML.shtml

相关文章

ABAQUS后处理常用功能

ABAQUS分析完成后,除了看看动画,看看云图,可能还需要进行其他操作,此处记录自己常用的一些功能在哪设置。 使用版本6.14,进行了中文汉化 修改背景颜色 修改图例坐标轴标题文字大小 修改图例应力范围颜色 不显示模型上…

搅拌摩擦焊有限元仿真分析学习笔记(一)——comsol、abaqus相关案例学习

目录 COMSOL搅拌摩擦焊官方案例△ 原理及分析△ 操作流程△ 分析 ABAQUS搅拌摩擦焊有限元仿真△ 操作流程○ 创建模型○ 配置材料属性○ 模型装配○ 分析步设置○ 创建相互作用○ 创建载荷○ 划分网格○ 建立温度场○ 运算求解○ 结果与分析 △ 总结分析 ABAQUS搅拌摩擦焊CEL模…

abaqus帮助文档翻译,中英对照

abaqus2016在线帮助文档因为比较简洁,打开响应速度较快,相对于需要注册的高版本帮助文档算是一大优点。 但文档内容对于英文水平一般的同学不太友好,为了提高阅读效率隧寻找网页翻译的方法。 1.浏览器右键的网页翻译,实测无效。…

Abaqus运行脚本print时中文乱码问题

脚本打印输出时出现乱码问题 运行脚本想要直接输出位移数据,发现中文打印出现乱码。 #!/usr/bin/env python # -*- coding:utf-8 -*- #codingutf-8a 位移数据为:0.25555 print(a)运行上面代码出现以下情况 解决办法 将打印内容使用UTF-8解码,然后使…

Abaqus相关报错合集

1,Abaqus安装后打不开的解决办法 打开后显示错误提示(如下图): (如果不是此提示框,请尝试用右键管理员方式运行Abaqus CAE) 解决方案 第一步:打开开始菜单 第二步:打开…

Abaqus 2022安装教程

文章目录 前言一、添加环境变量二、解压缩包三、运行.bat文件四、安装ABAQUS五、汉化六、其他可能遇到的问题:与UG NX12.0许可证冲突 前言 ABAQUS 2022安装包: 链接:https://pan.baidu.com/s/127Pz2Zev8zsM5-qGE7bZgw 提取码:123…

abaqus软件使用笔记

abaqus 软件设置相关汉化设置工作目录修改建模时的尺寸精度导入高版本的inp文件到低版本中材料库 建模---Part建立一个实心球体球体的网格划分 后处理查看几个节点的数据美化处理图片与动画的输出 软件设置相关 汉化 用everything找到******\SIMULIA\CAE\2016\win_b64\SMA\Co…

亲测!Abaqus CAE2021插件中文乱码解决方法

博主近期在捣鼓Abaqus的插件开发,理论上Abaqus2021版本应该是支持中文的。但是在写插件的时候发现中文会乱码。我寻思着很奇怪啊,明明都支持汉化了,怎么插件中文的还会乱码呢? 一步步的Abaqus2021版本安装教程汉化操作https://bl…

一步步的Abaqus2021版本安装教程+汉化操作

一、安装包下载安装 链接:https://pan.baidu.com/s/1n0SajftkVXakCwJQVnuUwA 提取码:521u ABAQUS 是一套功能强大的工程模拟的有限元软件,其解决问题的范围从相对简单的线性分析到许多复杂的非线性问题。 ABAQUS 包括一个丰富的、可模拟任意…

为什么不建议将Abaqus汉化使用?

一步步的Abaqus2021版本安装教程汉化操作https://blog.csdn.net/txr152111/article/details/120659474 在上面这篇文章中,讲述了如何安装Abaqus2021版本以及汉化的方法,前期入门可以使用汉化版,等大致了解了之后,建议使用英文版&…

abaqus6.14安装教程 如何设置中文

abaqus6.14汉化版安装教程: 1、在本站下载解压,得到abaqus6.14软件包和Crack破解文件夹; 2、首先单击右键计算机(我的电脑)点击属性,查看此电脑的主机名; 提示:最好复制到记事本上,后面破解需要…

ABAQUS2021界面改成中文

1.首先安装完成后找到安装目录,通常为如下地址: “自己建立的安装时的文件夹”abaqus_install>win64>SMA>Configuration 然后打开Configuration文件夹下的locale.txt文件 2.修改locale.txt文件 ①此文件中第47行(不同版本可能不一…

Spring中Bean的作用域与生命周期

一、Bean的作用域 一般情况下,我们书写在IOC容器中的配置信息,会在我们的IOC容器运行时被创建,这就导致我们通过IOC容器获取到bean对象的时候,往往都是获取到了单实例的Bean对象。 这样就意味着无论我们使用多少个getBean()方法…

Spring -- Bean的作用域

Bean的作用域 前言一、案例1.1 被修改的 Bean1.2 原因分析 二、作用域定义三、Bean 的 6 种作用域四、设置作用域 前言 Spring 的主要功能就是存储和读取 Bean,因此在 Spring 中 Bean 是最核心的操作资源。那么什么是 Bean 的作用域呢? 一、案例 假设…

Bean 作用域是啥?它有几种类型?

Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域是什么意思?又有几种类型呢?接下来我们一起来看。 PS:Java 中的公共类可称之为 Bean 或 Java Bean。 1.作用域 …

详解Spring中bean的作用域

如何使用spring的作用域&#xff1a; < bean id "role" class "spring.chapter2.maryGame.Role" scope "singleton"/ > 这里的 scope 就是用来配置 spring bean 的作用域&#xff0c;它标识 bean 的作用域。 在 spring2.0之前bean只有…

Bean的作用域和生命周期

下期进入springboot咯~ 目录 1.Bean的作用域 1.1Bean的六大作用域 1.2设置Bean的作用域 2.Bean的执行流程 3.Bean的生命周期 1.Bean的作用域 ①什么是Bean的作用域&#xff1a; 实质上是指Bean在spring整个框架中的某种行为模式&#xff0c;比如singleton单例模式&#xf…

7-Bean的作用域

目录 1.作用域定义 2.Bean的6种作用域 2.1.singleton&#xff1a;单例作用域&#xff08;默认作用域&#xff09; 2.2.prototype&#xff1a;原型作用域&#xff08;多例作用域&#xff09; 2.3.request&#xff1a;请求作用域 2.4.session&#xff1a;会话作用域 2.5.a…

Spring Bean的作用域以及注解使用

点击上方 Java学习之道&#xff0c;选择 设为星标 每天12点&#xff0c;干货准时奉上&#xff01; Spring Bean的作用域 Spring Bean 的作用域即为对象的作用范围。Spring Bean的作用域由配置项 scope 来限定。 Scope配置项 作用域限定了 Spring Bean 的作用范围&#xff0c;在…

JAVA bean的作用域

1、Bean的5种作用域 &#xff08;1&#xff09;singleton&#xff1a;单例模式&#xff0c;Spring IoC容器中只会存在一个共享的Bean实例&#xff0c;无论有多少个Bean引用它&#xff0c;始终指向同一对象Singleton作用域是Spring中的缺省作用域&#xff0c;也可以显示的将Bean…