You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

131 lines
3.1 KiB

function Sample_post()
num_a=15; num_b=15;num_c=60;
DH = cell(num_a,num_b,num_c);
% load('ETPMS_CHsample_abc_1_5.mat','CH','aa','bb','cc')
% idx=0;
% for ia=1:num_a
% a=aa(ia);
% for ib=1:num_b
% b=bb(ib);
% for ic=1:num_c
% c=cc(ic);
% if 1+a+b+c<=0
% idx=idx+1;
% DH{ia}=idx;
% else
% DH{ia,ib,ic}=-1;
% end
% end
% end
% end
%
% for ia=1:num_a
% a=aa(ia);
% for ib=1:num_b
% b=bb(ib);
% for ic=1:num_c
% c=cc(ic);
% if DH{ia,ib,ic}>0
% disp([ia,ib,ic])
% end
% end
% end
% end
%
load('ETPMS_CHsample_abc_1_5.mat','CH','aa','bb','cc')
for ia=1:5%num_a
for ib=1:num_b
for ic=1:num_c
DH{ia,ib,ic} = CH{ia,ib,ic};
end
end
end
load('ETPMS_CHsample_abc_6_10.mat','CH')
for ia=6:10
for ib=1:num_b
for ic=1:num_c
DH{ia,ib,ic} = CH{ia,ib,ic};
end
end
end
load('ETPMS_CHsample_abc_11_15.mat','CH')
for ia=11:15
for ib=1:num_b
for ic=1:num_c
DH{ia,ib,ic} = CH{ia,ib,ic};
end
end
end
save('ETPMS_CHsample_all0','aa','bb','cc','DH')
resolution=25; h =1.0/resolution;
[D0,Ke,Fe] = LocalSMRT(resolution);
intB = GaussIntB(h);
[eleidx,mesh,VE]=periodicMesh(resolution);
nele=size(mesh,1);nnode = size(VE,1);
edofMat = zeros(nele,24);
edofMat(:,1:3:24) = mesh.*3-2;
edofMat(:,2:3:24) = mesh.*3-1;
edofMat(:,3:3:24) = mesh.*3;
ELEidx = zeros(nele,3);
for i=1:resolution
for j=1:resolution
for k=1:resolution
ELEidx(eleidx(i,j,k),1)=i;
ELEidx(eleidx(i,j,k),2)=j;
ELEidx(eleidx(i,j,k),3)=k;
end
end
end
for ia=1:num_a
a=aa(ia);
% for ib=1:num_b
ib=1;
b=bb(ib);
ic=1;
% for ic=1:num_c
disp(['========================',num2str(ia),',',num2str(ib),',',num2str(ic)])
c=cc(ic);
if 1+a+b+c<=0
DH{ia,ib,ic} = D0;
else
voxel = ETPMSVoxel(resolution,a,b,c);
u = FEA_homo(resolution,voxel,edofMat,Ke,Fe);
DH{ia,ib,ic} = Disp2DH(voxel,u,edofMat,D0,intB,h,ELEidx,Ke);
% Ve=ETPMS_volume(resolution,a,b,c);
% CH{ia} = Disp2DH2(voxel,u,edofMat,D0,intB,h,Ve,ELEidx);
end
% end
% end
end
save('ETPMS_CHsample_all_1','aa','bb','cc','DH')
for ia=1:num_a
a=aa(ia);
for ib=1:num_b
b=bb(ib);
for ic=1:num_c
% disp(['========================',num2str(ia),',',num2str(ib),',',num2str(ic)])
c=cc(ic);
if 1+a+b+c<=0
DH{ia,ib,ic} = D0;
% else
% voxel = ETPMSVoxel(resolution,a,b,c);
% u = FEA_homo(resolution,voxel,edofMat,Ke,Fe);
% DH{ia,ib,ic} = Disp2DH(voxel,u,edofMat,D0,intB,h,ELEidx,Ke);
% % Ve=ETPMS_volume(resolution,a,b,c);
% % CH{ia} = Disp2DH2(voxel,u,edofMat,D0,intB,h,Ve,ELEidx);
end
end
end
end
save('ETPMS_CHsample_all','aa','bb','cc','DH')
end