日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

hypermesh matlab,HyperMesh 到 flac3d 的 MATLAB 程序

發(fā)布時間:2024/1/1 循环神经网络 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hypermesh matlab,HyperMesh 到 flac3d 的 MATLAB 程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%% ?主程序 ? %%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 將主程序存為 m 文件

clear;

% 背景:

% HyperMesh 具有強大的網(wǎng)格劃分功能,可以作為很多有限元的前處理,

% 大家知道,HyperMesh 可以導(dǎo)出 LSDYNA 的 keyword 文件,ABAQUS 的 inp 文件

% Nastran,Marc,ANSYS 等軟件的模型文件。

% 暫時為止還不能導(dǎo)出 Flac3D 的模型文件。

% 程序目的:

% 本程序為了能夠使得 HyperMesh 能作為 Flac3D 的前處理。

% 使用步驟:

% 1. 利用 HyperMesh 劃分網(wǎng)格

% 2. 導(dǎo)出為 LSDYNA 的關(guān)鍵字文件 k 文件。

% 3. 利用此程序,導(dǎo)出 flac3d 模型文件。

% 方法:把 k 文件替換如下的‘Pile2.k',outputname 為輸出的結(jié)果文件名,可任取。

% 注意事項:本程序只針對實體單元,8 節(jié)點六面體單元(B8),或者 6 節(jié)點棱柱單元(W6)

%hl.ren@hotmail.com

%%%% 輸入 LSDYNA 的關(guān)鍵字模型文件。

keyfilename='Pile2.k'; % 輸入關(guān)鍵字文件

outputname='Pile2.txt'; % 輸出的關(guān)鍵字文件名。

[Nodesum,elementsum,partsum]=keyfileinput(keyfilename);

Gnode=Nodesum(:,1:4);

%%%% 模型數(shù)據(jù)轉(zhuǎn)換 keyword->Flac3D 文件

iele=size(elementsum,1);

eh=[2 1 3 4 5 6 7 8 9 10];

elementsum=elementsum(:,eh);

B8=zeros(1,9);iB=1;

W6=zeros(1,7);iW=1;

partsum=partsum(:,1);

ipa=size(partsum,1);

Zgroup=ones(1,ipa);

for i=1:iele

k56(1:3)=elementsum(i,[1 7 8]);

iz=find(partsum==k56(1));

if size(iz,1)>1

disp('part error');

end

iz1=Zgroup(1,iz);

Zgroup(iz1+1,iz)=elementsum(i,2);

Zgroup(1,iz)=Zgroup(1,iz)+1;

if k56(2)==k56(3)

W6(iW,:)=elementsum(i,[2 3 4 5 6 7 9]);

iW=iW+1;

else

B8(iB,:)=elementsum(i,[2 3 4 5 6 7 8 9 10]);

iB=iB+1;

end

end

Bh=[1 2 4 5 3 8 6 7]+1;

Wh=[1 2 4 5 3 6]+1;

B=B8(:,[1 Bh]);

W=W6(:,[1 Wh]);

%%%%% 按照 Flac3D 的文件格式輸出

GG=Gnode';

BB8=B';

WW6=W';

fid = fopen(outputname,'w');

fprintf(fid,'* FLAC3D grid produced by MATLAB\n ! Author:Prometheus\n ! 2013-07-30\n');

fprintf(fid,'* GRIDPOINTS\n');

fprintf(fid,'G %8.0f.6e.6e.6e\n',GG);

fprintf(fid,'* ZONES\n');

if B8(1,1)~=0

fprintf(fid,'Z B8 %8.0f%8.0f%8.0f%8.0f%8.0f%8.0f%8.0f%8.0f%8.0f\n',BB8);

end

if W6(1,1)~=0

fprintf(fid,'Z W6 %8.0f%8.0f%8.0f%8.0f%8.0f%8.0f%8.0f\n',WW6);

end

fprintf(fid,'* GROUPS\n');

for i=1:ipa

fprintf(fid,'ZGROUP %8.0f\n',i);

j=2;

while j<=size(Zgroup(:,i),1)&&Zgroup(j,i)~=0

fprintf(fid,'%8.0f\n',Zgroup(j,i));

j=j+1;

end

end

fclose(fid);

%%% 主程序結(jié)束

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%% ?文件輸入函數(shù) ? %%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%% 將文件輸入函數(shù)存為 m 文件 %%%%%%%%%%%

function [node,element,part]=keyfileinput(keyfilename)

node=zeros(1,6);

element=zeros(1,10);

part=zeros(1,8);

fid=fopen(keyfilename,'r');

inode=1;iele=1; ipa=1;

tline = fgetl(fid);

while 1

if ~ischar(tline), break;

end

if strmatch(tline,'*NODE')

tline=fgetl(fid);

while tline(1)~='*'

if strcmp('$',tline(1))

tline=fgetl(fid);

else

tt=str2num(tline);

node(inode,:)=tt;

inode=inode+1;

tline=fgetl(fid);

end

end

elseif strmatch('*ELEMENT_SOLID',tline)

tline=fgetl(fid);

while ~strcmp(tline(1),'*')

if strcmp('$',tline(1))

tline=fgetl(fid);

else

element(iele,:)=str2num(tline);

iele=iele+1;

tline=fgetl(fid);

end

end

elseif strmatch('*PART',tline)

tline=fgetl(fid);

while ~strcmp(tline(1),'*')

if strcmp('$',tline(1))

tline=fgetl(fid);

else

if size(tline,2)<40

tline=fgetl(fid);

else

part(ipa,:)=str2num(tline);

ipa=ipa+1;

tline=fgetl(fid);

end

end

end

else

tline=fgetl(fid);

end

end ?% while

fclose(fid);

disp('Key file input compeleted');

% 文件輸入函數(shù)結(jié)束

% 將上面兩個程序存為 m 文件就可以在 MATLAB 中運行。

請您登錄后閱讀全文, 登錄?或者?注冊

總結(jié)

以上是生活随笔為你收集整理的hypermesh matlab,HyperMesh 到 flac3d 的 MATLAB 程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。