abaqus安装教程分享 abaqus安装教程


abaqus安装教程分享 abaqus安装教程

文章插图
这次推送聚焦于解决采用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 = https://www.520longzhigu.com/diannao/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 = https://www.520longzhigu.com/diannao/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 npb=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的内容


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: