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)