AM易道导语
此前AM易道介绍过纽卡斯尔大学那款,后台许多读者下载后反馈最多的是,MATLAB运行库装不上、速度有点慢、版本到期打不开。
今天这篇不介绍其他软件。
AM易道自己开发了一款类似的轻量化软件。
多孔微结构易变器,英文名PoreForge。
浏览器打开就能用,不装任何东西,完全本地化运行。
https://amyidao.com/h5/poreforge-release/index
三秒钟生成一块点阵结构、一块泡沫或一个Gyroid,马上结算它的孔隙率、孔径分布、连不连通、曲度和渗透率,再导出成能直接切片打印的STL,或者能直接进仿真和图像分析软件的TIFF、NumPy和VTK。
中英文界面随时切换,科研使用免费。
激活请私信poreforge领取。
本文将用4000字把它能做什么、计算得准不准、以及其价值说清楚。
打开网页的第一眼可以看到左栏是配方,中间是3D表面和切片,右栏是分析。
页面顶部可以切换语言、配色和深浅主题。
一分钟快速生成多种复杂结构
开局先贴上评论区或私信poreforge可得的激活码,然后直接开始使用。
以TPMS叠加点阵的杂化结构为例。
Gyroid这类三周期极小曲面是3D打印换热器、骨植入物和轻量化件最常用的拓扑,把它和杆件点阵叠进同一个体积,曲面负责导流换热,杆件负责承载,是近两年多功能超材料研究里的热门做法。
放在别的软件里,这是小时级别的建模量。
界面只有三栏,对应三个动作。
左栏定计算域:三个方向各多少体素,一个体素多少微米,一个随机种子。
这次设120×120×120体素,每体素10微米,就是一个1.2毫米见方的立方体。
左栏下半部分叠结构,每叠一次叫作一个图层。
第一层选TPMS,Gyroid片状形式,单胞400微米,目标孔隙率0.8;
第二层选杆件点阵,八面体桁架,单胞同样400微米,杆径60微米,相编号改成2,让它换一种颜色显示。
点开任何一个图层,还能改它作用的Z区间、操作方式和颜色,要让桁架只长在下半部分,改两个数字就行。
点生成结构。
几秒之后,中间出现灰色的Gyroid曲面,橙色的桁架从曲面的孔道里穿过去,相交处自然长在一起。
灰色是Gyroid曲面,橙色是穿过它的八面体桁架,右栏已经把两相各占的体积和沿厚度方向的孔隙率曲线列好。
右栏当场给出孔隙率0.64、比表面积、各方向平均弦长,两相各占多少体积分开列出,再加一条沿厚度方向的孔隙率曲线,Gyroid的周期在曲线上一目了然。
如果想换一种拓扑,把Gyroid改成Schwarz D或IWP再点一次;
想直接打印,导出STL,单位选毫米即可。
十四个预设结构生成器,包含各种多孔结构
预设是结构的入口。
点一下就得到一块可以直接看、直接算、直接导出的结构,再在它基础上改。
下图是预设库。每张卡片写了用途、尺寸和体素分辨率,点击即生成。
偏3D打印的一组结构包括了Gyroid、Schwarz P、Schwarz D、IWP、Neovius、Lidinoid、Fischer-Koch S七种三周期极小曲面,片状和网络状两种形式;
简单立方、BCC、FCC、八面体桁架四种杆件点阵;
Voronoi开孔泡沫和闭孔泡沫;
气泡模板泡沫;
平纹编织网;
我们能想到的都加进去了,如果有遗漏的也欢迎评论区留言优化建议。
偏材料研究有直纤维和弯纤维;球形和椭球颗粒,可重叠、不重叠或烧结式有限重叠;
阈值化高斯随机场,做渗流团簇、微孔层和烧结相;
泥裂状裂纹网络;粘结剂和涂层;弹道沉积的颗粒。
下图是十四个预设各生成一次,全部用默认参数。
从碳纸到碳布,从电池电极到八面体桁架。
每种生成器都有一句大白话解释,鼠标点一下界面上的问号就能看到。
叠结构图层:真实材料如何一层一层叠加长出来
这是整个工具我们觉得比较有趣的核心设计。
每个图层只管自己的厚度区间,有自己的相编号,还有三种操作方式:
添加只填孔隙,覆盖替换已有固体,雕刻把固体挖掉。
图层自上而下依次执行。
一块燃料电池用的扩散层,真实工艺是碳纤维抄纸、浸粘结剂、再在表面刮一层微孔层,微孔层干燥时开裂。
在易变器里就是对应四个图层:
纤维层限定在0到110微米,粘结剂跟在它后面,随机场做的微孔层压在106到140微米,最后一层裂纹网络用雕刻方式把微孔层切开。
下图可以看到把Z方向裁到55%露出内部:下面是灰色纤维和橙色粘结剂,上面是蓝色微孔层。
下图微孔层从顶上看:Voronoi裂纹把它分成一块块干泥似的岛,裂纹宽度、间距和开裂比例都可以参数化定义。
而下图展示了同一块结构的XZ切片:三层材料的厚度分界一眼可见。
同样的思路可以叠出带涂层的泡沫、负载催化剂的载体颗粒、打了孔的碳纸、层间错位的多层编织网。
参数怎么控制,结果如何复现?
随机类生成器的做法是不停放置对象,直到该图层区间内的孔隙率达到目标,命中误差通常在1%以内。
确定性结构,像TPMS、点阵和泡沫,则直接反解出给定孔隙率对应的阈值或杆径。
尺寸可以给均值和标准差,正态、对数正态或均匀分布任选。
纤维可以指定面内优选角度和离散度、面外倾角、弯曲度;
颗粒可以指定长径比和取向;
边界可以设成周期性,这对后续做周期性仿真有用。
基本上一段JSON就是一个结构的全部信息:计算域、图层、种子。
粘贴回去就可以实现逐体素重建。
会生成,还会计算
生成完成的瞬间,基础指标就有了。
孔隙率和各相体积分数、沿三个方向的孔隙率分布、按体素面计数的比表面积、三个方向的孔隙和固体平均弦长,外加一个按Kozeny-Carman公式估算的渗透率。
我们做了右栏下方的四项表征。
孔隙与固体尺寸分布:d10、d50、d90,均值与最大值,蓝色是孔,橙色是固体。
孔径分布用最大内切球法,每个孔隙体素被赋予能装进这个孔并覆盖它的最大球的直径,再按体积加权统计。
连通性给出孔隙和固体沿三个方向的贯通比例、封闭孔隙率和团簇数;迂曲度给出有效扩散系数比、迂曲度因子、地层因子和Bruggeman指数。
连通性做了连通标记:孔隙沿某个方向贯通的体积比例是多少,封闭孔有多少,固体相自己连不连通。
比如固体相不贯通涉及到电子传导,这对电极材料是硬指标。
渗透率结果同时给出平方微米、平方米和达西三种单位,下方是收敛曲线。
下图可以展示算过的场都能在切片页逐层翻看:左起孔隙局部厚度、扩散浓度场、流速场。
实话说,我们对于这些函数和计算方式理解的不是很透彻,但是按照一些文献所述编制,希望对读者有实际价值。
如果有笑掉大牙的低级错误,也请您随时指出反馈。
一次参数扫描:六分钟十八个样本
还是以比较复杂的碳纸结构为例,把一块碳纸的孔隙率从0.65扫到0.90,每个孔隙率换三个随机种子,十八个样本的迂曲度和渗透率在一台笔记本上几分钟就能算完。
左图迂曲度随孔隙率下降,三个种子的离散度一目了然;右图渗透率在对数坐标下近乎一条直线。
Bruggeman关系是电化学建模里最常用的迂曲度经验式,但纤维结构的穿面迂曲度明显高于它,这和文献里对碳纸的实测与孔尺度模拟结论一致。
这对做电池和燃料电池模型的读者或许有价值。
同样,其他结构也可以做类似的测算,便于做一些基础假设和验证。
导出和导入应用
生成再多有趣结构,做了再多计算,不能导出可打印的模型都是白费。
所以我们很看重这一步。
下图可以看到导出对话框。勾选需要的格式,一次打包。
导出STL有两种。
平滑表面做了保体积处理,适合直接进切片软件打印;
体素精确表面保留每个方块,适合做网格无关性验证。
单位可选微米、毫米或米,表面在计算域边界处封闭,是水密的。
导出TIFF图像栈时写入了ImageJ的间距元数据,Fiji打开就知道一个像素几微米。
NumPy数组的形状是Z、Y、X,PoreSpy和OpenPNM用户直接拿去提网络。
VTK的vti文件进ParaView,做好的STL也能导进OpenFOAM的snappyHexMesh。
下图可以看到导出的TIFF在Python里逐层读取,六个高度上的切片,间距信息随文件都一起导出。
反过来也行。
导入µCT或FIB-SEM的灰度体数据,多页TIFF、npy或原始字节,导进来,拖一下阈值,就能用同一套表征工具算孔径、连通性、迂曲度和渗透率。
下图导入一块带噪声的CT式灰度体数据,直方图双峰清楚,阈值自动落在中间。
导入并二值化之后,它就是一块普通的结构了,分析和导出照常。
但导入功能我们没有做什么测试,如果遇到崩溃情况请反馈。
对做3D打印研究的价值
做结构的可以看看换热器、过滤器选TPMS胞元尺寸和壁厚,先看渗透率和比表面积再决定打哪一版。
骨支架核对孔径区间和贯通率,电极载体看比表面积和迂曲度。
杆件点阵看固体连通性,杆太细时它会告诉你结构在哪个方向断了。
下图把孔隙空间当作固体来显示:Gyroid的两套孔道互不相通,各自贯穿整个结构。
还可以看看穿孔、梯度、涂层这些动作都能在模型上先做一遍。
打孔板图层用雕刻方式给碳纸打一排60微米的孔,再算穿面渗透率涨了多少;
随机场图层的孔隙率梯度参数做功能梯度材料;
沉积图层模拟喷涂或气相沉积在多孔表面堆出的粗糙层。
比如打了孔的碳纸从顶上看。孔径、间距、是否交错都能显示参数。
而下图是梯度随机介质的孔隙率曲线:从底部0.35到顶部0.75,曲线直接验证梯度是否按设计长出来。
做超材料的可以尝试七种TPMS、四种点阵和泡沫都按目标孔隙率反解结构,同一孔隙率下换拓扑比性能,换种子看随机结构的离散度,导出的STL是水密的,直接进切片软件。
做计算的,我们认为价值它是孔尺度仿真的虚拟样品工厂。
生成一批周期性结构,导成npy或vti,交给自己的求解器;
或者反过来,先用内置的扩散和LBM求解器筛一遍,再把少数几个送去做精细计算。
配方JSON让每个样本都可以被别人逐体素重建,论文的话附一段文本就够了。
做设计的价值在于,设计师最缺的是打印前的性能预估。
现在换一个参数到看到渗透率,是秒级到分钟级的循环,可以在一个下午把设计空间扫一遍。
再往外延伸,电池和燃料电池电极、催化剂载体、膜与过滤、岩石物理与土壤、骨与组织工程、吸声材料、纺织复合材料,凡是性能由孔隙结构决定的领域,都是它的用户。
教学也挺好用,可以很快的把孔隙率、迂曲度、渗透率三个概念在真实结构上演示一遍,比黑板上写公式直观得多。
和PMG的关系,边界在哪
实话说,易变器(PoreForge)是对PMG这一思路的独立实现,不含对方任何代码,在此向纽卡斯尔大学的Niblett、Mamlouk和Godinez-Brizuela三位致谢。
相比之下,它不用安装、包含中英文界面,并增加了TPMS和杆件点阵、裂纹网络、局部厚度孔径分布、渗流检查、扩散迂曲度求解器和格子玻尔兹曼渗透率求解器。
更关键的是,所有计算都在浏览器内存里,这意味着任何人的数据都是本地化运行的,并不会与易道的服务器有任何交护。
但代价是,一千万体素运行比较流畅,三千万估计就是卡顿的天花板。
还有一些小功能
比如深色模式配森林配色,看Gyroid。
再比如英文界面配海蓝配色,发给国外合作者不用解释。
再比如五套配色,各有浅色和深色版本。
再比如界面上每个问号都是一段说明,点开即读,关掉即走。
还有帮助页把每项表征的方法、验证方式和参考文献列齐,方便写进论文的方法部分。
而且,比起PMG,手机上也能开,三栏变一栏,分析照跑。
不过我们没有单独针对手机端优化交互,可能还是电脑端开网页比较合适。
我们试图把一些我们认为有用的功能都通过本地化的网页工具复刻了。
很多3D打印前沿研究的结构的生成、分析和导出现在变成了浏览器里几分钟的事。
请在评论区留言或私信poreforge获取逐一发放的激活码。
我们没有对这个工具进行正规的大规模测试,但核心功能是ok的。
如果这个工具能够有实用价值,请您帮忙点赞转发在看,支持AM易道创作更多原创内容。
国庆快乐。
新活动
TCT深圳展邀请
10月14日,深圳见。很多新东西值得现场聊。
TCT深圳,AM易道等您来碰面。
预约如下:
航空航天增材制造大会邀请
10月22日,上海见。航空航天,依然是增材制造最值得深挖的主战场之一。
第六届航空航天增材制造大会,AM易道期待与您交流。
预约如下:
首届国际增材制造技术与应用生态展览会邀请
11月26—28日,四川泸州见。首届国际增材制造技术与应用生态展览会,从技术到应用,从设备材料到产业协同。
AM易道邀请您来现场,看增材制造如何长出全新生态。
详情如下:
热门跟贴