Matlab将一组单元导入到Hypermesh查看

复制代码
function ToHypermesh_FEM(p,t,filename)

%------- Elements must be all tetrahedral or all hexahedral -----------------
[row,col]=size(p);
if row~=3 && col==3
    p = p';
end
[~,col]=size(t);
if  (col==4||col==8)
    t = t';
end  
if ~ismember(".fem",filename)
    content = strsplit(filename,'.');
    filename =[ content{1},'.fem'];
end
    

fid = fopen(filename,'w');

% % % --------------- Print start mark ---------------------------+
fprintf(fid, '%s\n', 'BEGIN BULK');

% % % --------------- Print nodes ---------------------------+
for ii=1:size(p,2)
    fprintf(fid, '%s', 'GRID,' );
    fprintf(fid, '%d,,', ii );
    fprintf(fid, '%f,%f,%f\n', p(:,ii)' );
end
fprintf(fid, '%s\n', '$');

% % % --------------- Print elements ---------------------------+
if(size(t,1)==4)
    for ii=1:size(t,2)
        fprintf(fid, '%s, ', 'CTETRA' );
        fprintf(fid, '%d, ', ii );
        fprintf(fid, '%d, ', 1 );
        fprintf(fid, '%d,%d,%d,%d\n', t(1:4,ii)' );
    end
elseif(size(t,1)==8)
    for ii=1:size(t,2)
        fprintf(fid, '%s, ', 'CHEXA' );
        fprintf(fid, '%d, ', ii );
        fprintf(fid, '%d, ', 1 );
        fprintf(fid, '%d,%d,%d,%d,%d,%d\n', t(1:6,ii)' );   %% fixed_format
        fprintf(fid, '%s', ' ,');
        fprintf(fid, '%d,%d\n', t(7:8,ii)' );
    end
end
fprintf(fid, '%s\n', '$');

% % % --------------- Print end mark ---------------------------+
fprintf(fid, '%s\n', 'ENDDATA');
fclose(fid);
View Code
复制代码

Htpermesh ---import---Optistuct

posted @   xdd1997  阅读(293)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示