clear all
%clf

%[p,e,t]=L_shapeuniform(2);
[p,e,t]=S_clcshapeuniform(0);% här väljs villken domän problemet skall lösas på
Rmax=10;
TOL=0.37;
ii=1;
antal=5; % detta är ett kriterie för max antal förfiningar
while Rmax > TOL && ii < antal
[A, b] = Assembler_1(p, e, t);
aa=diag(A);
for i=1:length(e)
    %  UU(:,e(1,i))=p(:,e(1,i));
    b(e(1,i),1)=0;
    A(e(1,i),:)=0;
    A=sparse(A);
end
for i=1:length(p)
    A(i,i)=aa(i);
    A=sparse(A);
end
xsi=A\b;
Listfin=[];
if ii < 2
    Listfin=[1:length(t)];
	Lista1=[1:length(p)];
end
q=0;
ii2=ii-1;
if ii > 1
for i=1:length(t)
    v(1)=p(1,t(1,i));
    v2(1)=p(2,t(1,i));
    v(2)=p(1,t(2,i));
    v2(2)=p(2,t(2,i));
    v(3)=p(1,t(3,i));
    v2(3)=p(2,t(3,i));
    if (max(v)-min(v)==(0.125)./(2.^ii2)) && (max(v2)-min(v2)==(0.125)./(2.^ii2))
        q=q+1;
        Listfin(q)=i;
    end
end
end
 q=0;
 R=[];
for i=1:length(Listfin)
    i=Listfin(i);
    x=(p(1,t(1,i))+p(1,t(2,i))+p(1,t(3,i)))./3;
    y=(p(2,t(1,i))+p(2,t(2,i))+p(2,t(3,i)))./3;
    LListx=[p(1,t(1,i)) p(1,t(2,i)) p(1,t(3,i))];
    LListy=[p(2,t(1,i)) p(2,t(2,i)) p(2,t(3,i))];
    xL=max(LListx)-min(LListx);
    yL=max(LListy)-min(LListy);
    L(i)=(xL+yL)./2;
    F(i)=abs(f(x,y));
    R(i)= (L(i).^2).*F(i);
    if  R(i) > TOL
        q=q+1;
        T_list(:,q)=t(1:3,i);
        index(q)=i;
    end
end
ii=ii+1;
Rmax=max(R)
if length(T_list) > 0 && ii < antal
    [p,e,t,hang]=S_shapeadaptiv(T_list,p,t,index); % även här måste rätt domän vara ifylld
end
T_list=[];
end
%plot(Laplaceh)%, hold on, plot(F,'r')
pdesurf(p,t,xsi)


