Abaqus二次开发:节点变形坐标提取

问题简介

在原部件‘PART-CHUZHI’上定义了‘set-for-data’的节点结合用于提取数变形前后的坐标。提取Step-load分析步的变形后的坐标。将提取节点的编号,变形前后坐标输出为csv文件。


   节点集合
 


   分析步
 

编写前准备

查看后处理的显示组,找到我们的节点结合名称,如下图。说明部件为"PART-CHUZHI-1",节点集为"SET-FOR-DATA",这个后续会用到。请大家根据自己的情况在代码中进行修改。


正式代码


from odbAccess import openOdb
from textRepr import *
import numpy as np
import os

dir_path = r"改为你自己ODB文件所在文件夹地址"
odb_name = 'Job-1.odb' #改为自己ODB的名称
file_path = os.path.join(dir_path, odb_name)
# 获取odb对象
my_odb = openOdb(file_path)
# 获取集合件
assembly = my_odb.rootAssembly
# 获得Part-1部件中内义的‘SET-FOR-DATA’节点集合
nodeset = assembly.instances['PART-CHUZHI-1'].nodeSets['SET-FOR-DATA']

# ==========================================================================
# 获取节点编号及原始坐标,并放在data的前三列
nodes = nodeset.nodes
# 定义一个data数组用于存放提取后的数值,其中第一列为节点编号,第二、三列分别为未变形的X,Y值
# 第四五列分别为变形后的X,Y值
data = np.zeros((len(nodes),5),dtype='float64')
# 获得变形前节点编号和坐标,第一列为节点编号,第二列为X坐标,第三列为Y坐标
for i,node in enumerate(nodes):
	data[i,0:3] = [node.label, node.coordinates[0], node.coordinates[1]]
# ==========================================================================

# ==========================================================================
# 获得指定帧变形的位移值,并通过计算获得变形后的坐标
step = my_odb.steps['Step-load'] #改为你所要提取分析步
# 选取最后一帧
frame = step.frames[-1] #改为你所要提取的帧
# 获取全局位移场变量
dis_field = frame.fieldOutputs['U'] #改为你所想要提取的变量
# 在前述全局位移场变量的基础上提取局部位移场
local_dis_values = dis_field.getSubset(region=nodeset).values
# 通过原始坐标加各个位移分量获得变形后的坐标
for i, node_value in enumerate(local_dis_values):
	data[i, 3:5] = [data[i,1]+node_value.data[0], data[i,2]+node_value.data[1]]
# ==============================================================================
# 指定输出文件名称,并以14位小数进行输出
output_name = "coordinate_result.csv"
output_path = os.path.join(dir_path, output_name)
np.savetxt(output_path, data, delimiter=",", fmt='%.14f')

结果




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空