TPMS曲面的matlab生成及可视化-导出stl文件-导出abaqus的inp文件-周期性边界条件施加

自编写函数包含的功能:

tpms曲面生成

tpms可视化

tpms曲面采用拉普拉斯方法进行平滑(为了可以在abaqus中通过单元质量检测),函数为SmoothIsosurface

tpms导出stl文件,函数为WriteSTL

tpms导出inp文件(施加周期性边界条件)函数为WriteINP

matlab 复制代码
clc
clear
Numberofgridpoints=[20,20,20];
Numberofunitcells=[1,1,1];
[x, y, z]=meshgrid(linspace(0, Numberofunitcells(1),Numberofgridpoints(1)), ...
                linspace(0, Numberofunitcells(2),Numberofgridpoints(2)), ...
                linspace(0, Numberofunitcells(3),Numberofgridpoints(3)));

cx = cos(2*pi*x); cy = cos(2*pi*y); cz = cos(2*pi*z); 
sx = sin(2*pi*x); sy = sin(2*pi*y); sz = sin(2*pi*z);
c2x = cos(2*2*pi*x); c2y = cos(2*2*pi*y); c2z = cos(2*2*pi*z); 
s2x = sin(2*2*pi*x); s2y = sin(2*2*pi*y); s2z = sin(2*2*pi*z);
c3x = cos(3*2*pi*x); c3y = cos(3*2*pi*y); c3z = cos(3*2*pi*z); 
s3x = sin(3*2*pi*x); s3y = sin(3*2*pi*y); s3z = sin(3*2*pi*z);

f= (sx.*sy).*sz+(sx.*cy).*cz+(cx.*sy).*cz+(cx.*cy).*sz;
%f = cx+cy+cz;

FV=isosurface(x,y,z,f,0); 
%FV3=reducepatch(FV3,30^3);%缩减FV3的补片的面数,同时尝试保留原始的整体形状
% FV=reducepatch(FV,0.9);

newFV=ClearIsosurface(FV,1e-3);
newFV = SmoothIsosurface(newFV,1e-3);
WriteINP(newFV, 'main.inp')
相关推荐
无心水1 分钟前
17、Go协程通关秘籍:主协程等待+多协程顺序执行实战解析
开发语言·前端·后端·算法·golang·go·2025博客之星评选投票
洛克大航海6 分钟前
Python面向对象
开发语言·python·面向对象
草莓熊Lotso34 分钟前
Qt 控件美化与交互进阶:透明度、光标、字体与 QSS 实战
android·java·开发语言·c++·人工智能·git·qt
小妖6661 小时前
javascript 舍去小数(截断小数)取整方法
开发语言·前端·javascript
Amber7621 小时前
嵌入式C函数参数设计深度解析:指针与值传递的实战艺术
c语言·开发语言
青山是哪个青山1 小时前
C++ 核心基础与面向对象 (OOP)
开发语言·c++
小明同学011 小时前
[C++进阶]深入理解二叉搜索树
开发语言·c++·git·visualstudio
C+++Python1 小时前
C++ vector
开发语言·c++·算法
莫问前路漫漫1 小时前
Python包管理工具pip完整安装教程
开发语言·python
superman超哥1 小时前
处理复杂数据结构:Serde 在实战中的深度应用
开发语言·rust·开发工具·编程语言·rust serde·rust数据结构