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
', 'BEGIN BULK');

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

% % % --------------- 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
', 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
', t(1:6,ii)' );   %% fixed_format
        fprintf(fid, '%s', ' ,');
        fprintf(fid, '%d,%d
', t(7:8,ii)' );
    end
end
fprintf(fid, '%s
', '$');

% % % --------------- Print end mark ---------------------------+
fprintf(fid, '%s
', 'ENDDATA');
fclose(fid);
View Code

Htpermesh ---import---Optistuct


转载仅为学习,不会商用。
欢迎转载原创,附文链接。
原文地址:https://www.cnblogs.com/xdd1997/p/14837365.html