python+abaqus空间随机场获取inp文件中节点位置、单元位置

该代码段展示了如何读取Abaqus的inp文件,从中提取节点和单元的位置信息,并将这些信息分别保存到node.txt和elementlist.txt文件中。通过查找特定的关键词'*Part,name=Part-1','*Element,type=CPE4R'和'*Nset,nset=slope-1,generate'来定位所需数据。这是一个针对有限元分析预处理的实用脚本。
摘要由CSDN通过智能技术生成

python+abaqus
我们需要做空间随机场的前提是获取我们的inp文件中的节点位置、单元位置,下面通过inp文件获取节点位置和单元位置保存在txt文件中的代码如下:
这个没做过于详细的讲解,只是本人临时编写的,因为在搜索过程中未发现相关代码,只能自己上手,后续更新如何生成随机数据以及替换到inp文件中

import numpy as np
with open("E:\\abaqus\job-1.inp",'r',encoding='ANSI') as txtfile:
    line=txtfile.readlines()
    # print(line)
    list2=[]
    list4=[]
    list5 = []
    for i,rows in enumerate(line):
        if rows.find("*Part, name=Part-1")!=-1:
            print(f"第{i+1}行出现了'*Part, name=Part-1'")
            line_1=i+2
        elif rows.find("*Element, type=CPE4R")!=-1:
            print(f"第{i+1}行出现了'*Element, type=CPE4R'")
            line_2=i+1
        elif rows.find("*Nset, nset=slope-1, generate")!=-1:
            print(f"第{i+1}行出现了'*Nset, nset=slope-1, generate'")
            line_3=i
        else:
            #print(f"第{i+1}行没有出现")
            continue
    for i,rows in enumerate(line):
        if i in range(line_1,line_2-1):
            list2.append(rows.strip('\n'))
        elif i in range(line_2,line_3):
            list4.append(rows.strip('\n'))
        # elif i in range(line_3, len(line)):
        #     list5.append(rows.strip('\n'))
# print(str(list2))
# print(list4)
# np.savetxt('node.txt', list2, fmt='%d')
# np.savetxt('elementlist.txt', list4, fmt='%d')
# 提取节点坐标
with open('node.txt','w') as f:
    for i in list2:
        # print(i)
        f.write(i+'\n')
# 单元格的坐标
with open('elementlist.txt', 'w') as f:
    for i in list4:
        # print(i)
        f.write(i + '\n')
# 提取单元格的单元行数
with open('elelist.txt', 'w') as f:
    for i in list4:
        print(i.split(',')[0])
        f.write(i.split(',')[0] + '\n')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值