ABAQUS后处理技术-结果可视化(基于UEXTERNALDB和SIGINI)

1 实现效果

当我们利用ABAQUS有限元模型进行独立的数值运算后,会希望将计算得到的应力等参数可视化。此时,我们可以通过将数据重新排版,然后以“初始应力”的方式导入ABAQUS模型中,从而在Visulization模块中观察变量的整体分布和趋势。该方法也可方便输出特殊节点或者特定路径、平面的应力分布。

2 文件结构

实现上述目标所需要的文件主要有两个,一个负责将数值运算的结果转换到固定结构,另一个负责将数据传递到ABAQUS模型中。

2.1 数据转换文件

该文件没有固定格式,主要取决于运算结果的存储格式、模型的维度和单元的类型。以一个使用C3D8的三维模型为例,数据最终应当被转换成8列数据(以空格间隔)并被保存到txt文件中。其中每一列分别为:单元编号/ 积分点编号/ S11/ S22/ S33/ S12/ S13/ S23。

from __future__ import division
import numpy as np
import csv

gps = 8  #单元积分点数
elen = 7312  #数值运算结果中所包含的单元数量,有时候不一定等于有限元模型中的总单元数量

with open('residual.csv', 'rb') as f:
    reader = csv.reader(f)
    result = np.array([list(map(float, line)) for line in reader])
    residual = result[:, -1].reshape((gps * elen, 6), order='C')

# 以上语句打开了一个运算结果的原始储存文件,由于该应力场是一个(积分点数*单元数, 6)的矩阵,不方便后续读写,因此我们对其进行重新排版,并新增两列。
temp = np.arange(1, elen + 1, dtype=int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值