【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面

0.算例

上一个帖子介绍了怎么用matlab建立极小曲面,详情见Matlab创建极小曲面

下面是个简单的算例,在y方向压缩极小曲面之Gyroid,几何模型建立方法见下文,建立后阵列并有画网格导入abaqus即可。

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的图1

为了对比该极小曲面的应力水平,采用同样的材料做了单轴压缩,两种情况对比如图所示:

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的图2

从图中可以看到,如果仅去极小曲面上的一个点作为其应力应变,其曲线甚至比实心立方体还高,显然这是不合理的。出现这种现象的主要原因是,此类细观结构或变形不均匀时,不能取一个点代表整个模型,不然很可能会出现较大的误差。对此问题,细观力学有些方法,比如作用力反作用力法,体积平均法等,但也有人认为对于细观结构,作用力反作用力法 不太合理。体积平均法的简单表达式如下:

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的图3

即模型中每一个单元的应力(应变)对单元体积积分后,除以模型整个体积。上述应力应变曲线也证实,采用该方法能够得到较为真实的数据。

那么,怎么通过体积平均法获得数据呢? 在计算结束后,需要通过python脚本对数据进行处理,输出中需要EVOL(单元体积)以便获得各个单元的体积。


1.介绍

之前已经介绍过什么是极小曲面,同时根据表达式定义为 隐式 和显式 极小曲面,主要区别是 隐式极小曲面一般只有一个方程,不容易将x,y,z独立表达出来,如下图所示:

1.png

今天介绍怎么用python生成上述极小曲面并输出为stl文件。

  1. 安装包:需要mayavi、vtk、traits及numpy等依赖包,可以从python第三方库下载,或者从https://pan.baidu.com/s/17Aa-Qv6YqvVLXjVqgW1b4A,(br5n)下载安装;

  2. 需要用到mayavi的mlab函数,实际上建模思路跟matlab完全一样,即先建立点阵区域,再从中获取满足极小曲面方程的点。

  3. 生成曲线的代码:

隐式曲线代码:

import numpy as np
from numpy import mgrid,pi,cos,sin,sinh,cosh
from mayavi import mlab
import mayavi
x, y, z =mgrid[-pi:pi:10j,-pi:pi:10j,-pi:pi:10j]v=cos(x)+cos(y)+cos(z)
iso=mlab.contour3d(x, y, z, v,contours=[0])
mlab.axes()
mlab.show()

D.png

显式曲线代码:

import numpy as np
from numpy import mgrid,pi,cos,sin,sinh,cosh
from mayavi import mlab
import mayavi,vtk
u,v=mgrid[-2*pi:2*pi:40j,-10:10:200j]
x=u*cos(v)
y=u*sin(v)
z=(2/3)*v
iso= mlab.mesh(x, y, z)
mlab.axes()
mlab.show()

C.png

2.导入abaqus

无论是python还是matlab,不提供直接转换为abaqus可支持的格式,因此还是需要相应的脚本去转换,思路就是把上述过程中生成的点坐标信息按照stl文件格式写入即可。

至于加厚,如前面解释过,需要其他CAD软件辅助或自己编个小脚本即可。

附件包括隐式和显式曲线生成代码及转换stl格式的脚本。

3.下期预告

无论是用matlab还是python,都需要额外的脚本,或甚至要安装些依赖包,众所周知,python的某些安装包,如上面的traits安装起来其实挺麻烦的。基于以上的考虑,本人做了个简单的软件,下期跟大家分享。

由于并非程序猿出身,基于python打包的,把其他乱七八糟的库打包进去了,大概在200M左右。但不需要安装,直接运行即可。其特点包括:

1、解压即可运行;

2、内置典型极小曲面,直接可以生成,并可以输出stl或各种图片格式以及eps等多种格式;

3.png

3、可以加厚,并不需要额外的CAD软件辅助;

4、xyz的范围可以自定义,同时根据需求输入曲面表达式可以生成任何曲面(几乎)。

4.png

欢迎咨询讨论:QQ180280578、微信allisforA

以下内容为付费内容,请购买后观看
该付费内容为:
包含 1个附件
售价: 7人购买
增材制造(3D打印)极小曲面stl文件ABAQUSPython脚本

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的评论15条

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的相关视频课程

【Abaqus 3D打印建模】之 极小曲面 II --python生成极小曲面的相关案例教程

在使用 Abaqus 的过程中,软件会在设定的工作目录中生成很多文件,占用大量的空间。为了整理无用的文件,基于 Abaqus Python 二次开发的经验,编写了一个 py 文件,并基于 tkinter,简单设计了一个图形化界面(GUI),装将 py 脚本打包成 exe 文件。 双击软件(文件整理-1.0.exe),即可运行软件,无安装流程。软件的界面如下图所示。 软件的使用流程很简单,大致可分为
插件
基体拉伸损伤 三维hashin应变子程序模拟效果如下:SDV9代表基体拉伸损伤 VUMAT子程序代码如下
基于加速度功率谱密度曲线(ASD)的振动分析,即针对随机振动的结构有限 元分析。 1 问题设定 一块电池组,尺寸为 70mm x 175mm x 400mm。该电池组的两端共有 6 个端点,分别受 到垂直于电池组平面的激励作用,且激励的加速度功率谱密度曲线(ASD)相同。 由于在随机振动基于线性动力学原理,因此电池,PC 材料等采用实体建模,其他钣金 采用壳单元建模, 设定相关的 fastener
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    24 9