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.
41 lines
1.2 KiB
41 lines
1.2 KiB
function homogenization_before_smooth()
|
|
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;
|
|
|
|
load('ani_fittingALL_pnorm5.mat')
|
|
term_choose=68;
|
|
aPhys=a_log{term_choose,2};bPhys=b_log{term_choose,2};cPhys=c_log{term_choose,2};
|
|
nz=size(aPhys,1);ny=size(aPhys,2);nx=size(aPhys,3);
|
|
|
|
|
|
h=1.0/resolution;
|
|
x2=h/2:h:1-h/2;
|
|
y2=h/2:h:1-h/2;
|
|
z2=h/2:h:1-h/2;
|
|
[x,y,z]=meshgrid(x2,y2,z2);
|
|
|
|
DH=cell(nx,ny,nz);
|
|
for ix=1:nx
|
|
for iy=1:ny
|
|
for iz=1:nz
|
|
% VOXEL_ele = voxel((iy-1)*resolution+1:iy*resolution,...
|
|
% (ix-1)*resolution+1:ix*resolution,...
|
|
% (iz-1)*resolution+1:iz*resolution);
|
|
a=aPhys(iz,iy,ix);b=bPhys(iz,iy,ix);c=cPhys(iz,iy,ix);
|
|
p=cos(2*pi.*(x-1/2))+ a.*cos(2*pi.*(y-1/2))+ b.*cos(2*pi.*(z-1/2))- c;
|
|
VOXEL_ele = p>=0;
|
|
u = FEA_homo(resolution,VOXEL_ele,edofMat,Ke,Fe);
|
|
DH{ix,iy,iz} = Disp2DH(VOXEL_ele,u,edofMat,D0,intB,h);
|
|
% DH{ix,iy,iz} = max(DH{ix,iy,iz},D0.*1e-6);
|
|
end
|
|
end
|
|
end
|
|
save DH_beforeSmooth25.mat DH
|
|
end
|