python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...

本文详细介绍了如何利用Python从ABAQUS ODB文件中提取金属长方体模型在拉伸加载下的位移、体积和应变数据。首先,通过用户交互获取模型信息,然后计算初始边长,接着将位移数据导入Excel。通过Python绘制曲线验证结果,与ABAQUS GUI操作得出的结果一致,展示了Python在ABAQUS后处理中的应用。
摘要由CSDN通过智能技术生成

00

实例模型

一个金属长方体,我们需要对其做拉伸的加载约束示意图如图1,并在完成后采用Python命令流读取参考点的位移、体积、应变随加载时间的变化情况。

f1d39e9d6f62f003e5a617e3c5107d32.png

图1 金属长方体约束加载示意图 


01

Python库导入声明

对于图上的命令流,我们分为几部分拆开研究,首先是下面第一部分需要在Abaqus导入相关Python库的代码,比如matplotlib库、numpy库、xlwt库和math库。

#! /user/bin/python# -*- coding:UTF-8 -*-import matplotlib.pyplot as pltimport numpy as npfrom visualization import *from odbAccess import *import xlwtimport math
  • 第3行导入Python经常用于绘图的matplotlib库;

  • 第4行导入Python处理数组矩阵的numpy库;

  • 第5行和第6行用于导入Abaqus的后处理功能,即visualization和odbAccess;

  • 第7行用于导入Python与excel进行交互的xlwt库;

  • 第8行用于导入Python的math库。

在利用Python生成excel数据之前,先采用一个getInputs函数(代码如下)生成图2所示的对话框与用户进行交互,需要用户在在其中输入模型的名字(model name),部件例子的名字(instance name)以及后处理odb的名字(odbname)。这样做有个好处,每次都可以根据不同模型、不同部件实例和相应的后处理odb名字进行相应结果提取。

modelName,instanceName,odbname= getInputs(  fields=(('Model Name:', 'Test'),('Instance Name:', 'Part-2-1'),('odbname:', 'TEST.odb')),  label='Enter information',  dialog)

a3a16f2b9f097bcddaa83429d81eacc8.png

图2 getInputs函数生成的对话框


02

计算初始边长

在计算体积和各边应变之前,需要计算长方体不同边长即长、宽、高的初始长度。代码如下:

node = mdb.models[modelName].rootAssembly.instances[instanceName].nodesXmin = 9999Xmax = -9999Ymin = 9999Ymax = -9999Zmin = 9999Zmax = -9999for i in range(len(node)):    x = node[i].coordinates[0]    y = node[i].coordinates[1]    z = node[i].coordinates[2]   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值