function top2d1(nelx,nely,volfrac,penal,rmin)
maxloop=200;
tolx=0.01;
% E0=2.02e7;
% Emin=2.02*1e-2;
% nu=0.3;
E0=1;
Emin=1e-9;
nu=0.3;
x=repmat(volfrac,nely,nelx) ;
loop = 0;
change = 1.;
% START ITERATION
while change > tolx&&loop<maxloop
loop = loop + 1;
xold= x;
% FE-ANALYSIS
[U1]=FE1(nelx,nely,x,penal);
% OBJECTIVE FUNCTION AND sensitivity ANALYSIS
%[KE] =e;
[KE]=lk;
c = 0;
for ely=1:nely
for elx=1:nelx
n1 = (nely+1)*(elx-1)+ely;
n2 = (nely+1)*elx+ely;
dc(ely,elx) = 0.;
for i=1:2
Ue = U1([2*n1-1;2*n1; 2*n2-1;2*n2; 2*n2+1;2*n2+2; 2*n1+1;2*n1+2],i);
c = c + (Emin+x(ely,elx)^penal*(E0-Emin))*Ue'*KE*Ue;
dc(ely,elx) = dc(ely,elx)-penal*(E0-Emin)*x(ely,elx)^(penal-1)*Ue'*KE*Ue;
end
end
end
% FILTERING OF sensitivities
[dc]=check1(nelx,nely,x,rmin,dc);
% DESIGN UPDATE BY THE optimality CRITERIA METHOD
[x] = OC1(nelx,nely,x,volfrac,dc);
% PRINT RESULTS
change = max(max(abs(x-xold)));
%%PRINT RESULTS
fprintf ('It.: %.5i Obj.: %11.4f Vol.: %7.3f ch.:%7.3f\n',loop,c,...
mean(x(:)) ,change) ;
%%PLOT DENSITIES
colormap (gray) ;imagesc (1-x) ;caxis ( [0 1] ) ;axis equal;axis off;drawnow;
end