]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] Zufall ausgeschaltet
authortreecity <treecity@26120e32-c555-405d-b3e1-1f783fb42516>
Mon, 13 Feb 2012 14:19:48 +0000 (14:19 +0000)
committertreecity <treecity@26120e32-c555-405d-b3e1-1f783fb42516>
Mon, 13 Feb 2012 14:19:48 +0000 (14:19 +0000)
[src] plot Ausgeschaltet

git-svn-id: https://drops.fb12.tu-berlin.de/svn/bacc/trunk@86 26120e32-c555-405d-b3e1-1f783fb42516

src/A_plots.m
src/A_step.m
src/refineQuad.m

index 47d4843a34e22c4a697f8b7ba56e8bf4e7e94658..0dca8c9f32f4f1954cd92b8c27edfb57c6023d35 100644 (file)
@@ -58,7 +58,7 @@ if step<1
 else
     G_D
     
-    sol = interp1(1./X(round(1):31,6)',G_D(round(1):31,6)',0,'spline')
+    sol = interp1(1./X(round(1):end,6)',G_D(round(1):end,6)',0,'spline')
 %     sol = 8.28466;
 
 figure(4)
index c5ddacd911ddba49acc19d4b11aa08d59ba895c3..9d05415714601a39d8d6611395d506f2cd4122a4 100644 (file)
@@ -18,7 +18,7 @@ if(length(mu)==1)
 end
 
 out = '';
-if(lenght(varargin)~=0)
+if(length(varargin)~=0)
     out = varargin{1};
 end
 
@@ -66,12 +66,12 @@ time = zeros(1,3);
   
   % Adaptiv Verfeinern
   marked = mark(x_fine(f2s)',ind,eta,eps);
-  figure(1)
-  plotShape(G_C,G_E,'s',ind);
-  title('Elemente mit Fehlerschaetzer')
-  colorbar
-  view(2)
-  plotMark(find(marked>1),G_C,G_E);
+  figure(1)
+  plotShape(G_C,G_E,'s',ind);
+  title('Elemente mit Fehlerschaetzer')
+  colorbar
+  view(2)
+  plotMark(find(marked>1),G_C,G_E);
   
 
 %   clear 'coordinates_fine' 'elements_fine' 'neigh_fine' 'f2s'
@@ -84,9 +84,11 @@ time = zeros(1,3);
   end
   
   tic
+  er = [];
   [G_C, G_E, G_N, f, er] = refineQuad(G_C,G_E,G_N,marked);
   time(3) = toc;
 %   if(~isempty(er))
+%     figure(10)
 %     plotShape(G_C,G_E,'');
 %     plotMark(er,G_C,G_E);
 %   end
index b716592f94b478c34c39996b235735c105e441bf..a30ed9c4fa4c8c2240551ce2133b0a46b22799c4 100644 (file)
@@ -51,16 +51,25 @@ clear elements coordinates neigh type
 % Flächeninhalt aufbauen
 updateS(1:c_loop);
 
+% figure(11)
+% plotShape(G_ref_C,G_ref_E,'s',G_ref_t);
+% view(2)
+% colorbar
+% title('zuVerfeinern')
+
 ref_old = [];
+ref_old2 = [];
 %% Erster Durchlauf
 %Jedes Element verfeinern
 while(1==1)
   ref = find(G_ref_t>1);
   ref = reshape(ref,1,length(ref));
   if(isequal(ref,ref_old))
+      assert(~isequal(ref_old2,G_ref_t,'Markierte sind verschieden'));
     break;
   end
   ref_old = ref;
+  ref_old2  = G_ref_t;
   if(isempty(ref))
     break;
   end
@@ -68,10 +77,11 @@ while(1==1)
 %   plotShape(G_ref_C,G_ref_E)
 %   plotMark(ref,G_ref_C,G_ref_E,'xg')
 %   title('Zum Verfeinern Markierte Elemente')
-  for ele = ref(randperm(length(ref)))  %LOL Zufall bringts
+  for ele = ref % ref(randperm(length(ref)))  %LOL Zufall bringts
 %   figure(5)
 %   plotShape(G_ref_C,G_ref_E)
 %   plotMark(ele,G_ref_C,G_ref_E,'xg')
+%   view(2)
 %   title('Entscheidene Nachbarelemente')
  % # HangingNode Check
     Nt = find(G_ref_N(ele,5:8)==0);
@@ -102,11 +112,23 @@ while(1==1)
             N5t = G_ref_t(N2(i));
             if(N5t == 1)
               G_ref_t(N2(i))=mod(N3t(i),2)+3;
+%                         figure(12)
+%             plotShape(G_ref_C,G_ref_E,'s',G_ref_t);
+%             colorbar
+%             view(2)
+%             title('Nachverfeinert')
             elseif(N5t == mod(N3t(i)+1,2)+3)
               G_ref_t(N2(i)) = 2;
+%                         figure(12)
+%             plotShape(G_ref_C,G_ref_E,'s',G_ref_t);
+%             colorbar
+%             view(2)
+%             title('Nachverfeinert')
             end
             
           end
+          
+
           continue;
         end
     end
@@ -118,23 +140,34 @@ while(1==1)
   end
 end
 
+
+
+
 %% Zweiter Durchlauf
 ref_old=[];
-err = 0;
+err = [];
 %Jedes Element verfeinern
-while(err==0)
+while(~length(err))
   ref = find(G_ref_t>1);
   ref = reshape(ref,1,length(ref));
   if(isequal(ref,ref_old))
+        figure(13)
+        err_col = G_ref_t;
+        if(length(err_col)<size(G_ref_E,1))
+            err_col(size(G_ref_E,1)) = 0;
+        end
+        plotShape(G_ref_C,G_ref_E,'s',err_col);
+        view(2)
+        colorbar
+        title('noch zu Verfeinern')
     error('refineQuad:refine',[int2str(length(ref))  ' Elements couldn t be refined'])
-    err = ref;
     break;
   end
   ref_old = ref;
   if(isempty(ref))
     break;
   end
-  for ele = ref(randperm(length(ref)))  %LOL Zufall bringts
+  for ele = ref % ref(randperm(length(ref)))  %LOL Zufall bringts
       
  % # HangingNode Check
     Nt = find(G_ref_N(ele,5:8)==0);
@@ -157,9 +190,15 @@ while(err==0)
           for i = N4t  %Elemente die noch verfeinert werden muessen
             if(N2(i)>length(G_ref_t)||G_ref_t(N2(i))<1);   %eins der neuen Elemente
                   figure(7)
+                          err_col = G_ref_t;
+                            if(length(err_col)<size(G_ref_E,1))
+                                err_col(size(G_ref_E,1)) = 0;
+                            end
+                  plotShape(G_ref_C,G_ref_E,'s',err_col)
+                  plotMark([ele],G_ref_C,G_ref_E)
+                  plotMark([N2(i) ],G_ref_C,G_ref_E,'or')
                   title('Fehlerhaftes Element mit Nachbar')
-                  plotShape(G_ref_C,G_ref_E)
-                  plotMark([N2(i) ele],G_ref_C,G_ref_E)
+                  view(2)
                   error('refineQuad:refine','SKRIPTFEHLER: Dieses Element darf noch nicht verfeinert sein')
                   err = ref;
               break;