]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] A_plots : automatische PHI Erkennung aus Dateinamen
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Thu, 21 Mar 2013 16:59:58 +0000 (17:59 +0100)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Thu, 21 Mar 2013 16:59:58 +0000 (17:59 +0100)
[src] compute : steps ab 40 sind Elementanzahlen
[src] plotShape : mehr flexibilität bei Beschriftungen
[src] test_sol : angepasst an Element anzahlen Grenze

src/A_plots.m
src/compute.m
src/export_mesh.m
src/plotShape.m
src/test_sol.m

index 9faddeab8e1c6f3ed6271eec133ec56bd15759af..9609ee2ad38ffd176207e1c685a309176940bbdd 100644 (file)
@@ -90,9 +90,21 @@ else
 
 %     data((end-8):end,[1 [3 4 5]])
     
-%     sol = interp1(1./X((round(1)):(end),4)',G_D((round(1)):(end),4)',0,'spline')
-%    sol = 8.28466; % LShape
-     sol = 4.609193; % Quad
+% sol = interp1(1./X((round(1)):(end),1)',G_D((round(1)):(end),4)',0,'spline')
+
+% G_D(end,4)
+     
+if(strcmp(t0, '(3DFichCube)'))
+  sol = 16.2265;  %Ferraz-Leite
+elseif(strcmp(t0, '(2DQuad)'))
+  sol = 4.609193;
+elseif(strcmp(t0, '(2DLShape)'))
+  sol = 8.28466;
+elseif(strcmp(t0, '(3DCube)'))
+  sol = 8.303;
+elseif(strcmp(t0, '(3DCube3)'))
+  sol = 1.0379;
+end
 
 % G_D
 
index 343fd55c30d249755bce56639c77dc5225ce60c9..7cbab1f5e626152ad1750427fab782381f3fe58e 100644 (file)
@@ -25,6 +25,10 @@ end
 kap3 = 0;
 %times mal verfeinern
 for j = 1:times
+  %Beende Schleife wenn Element Anzahl erreicht
+  if(times>40 && size(elements,1) > times)
+    break;
+  end
   if(exist('coo_fine','var'))
     old_C_fine = coo_fine;
     old_F_fine = f2s;
@@ -32,9 +36,15 @@ for j = 1:times
     old_x_fine = x_fine;
   end
   
+%     figure(10)
+%   plotShape(coordinates,elements,'');
+  
   %uniformIsotrop Verfeinern
   [coo_fine,ele_fine,neigh_fine,f2s,sit_fine]...
     =refineQuad(coordinates,elements,neigh,sites,2);
+  
+%   figure(11)
+%   plotShape(coordinates,elements,'');
 
   %Flaecheninhalte Berechnen (rhs)
   b_fine = areaQuad(sit_fine);
index 457ab0f7cd7c9fe82bab064e59e71eccaf0354de..a38a4db9f9f9f4569c6216c8187e1c4829a2ab42 100644 (file)
@@ -4,7 +4,7 @@ function export_mesh(coordinates, elements, neigh, f2s, file)
 % save(file,'coordinates', 'elements','neigh','f2s')
 
 %% Übersicht
-plotShape(coordinates,elements,'db');
+plotShape(coordinates,elements,'bdt');
 
 if(length(unique(coordinates(:,3)))==1)
   view(2)
index 9cf6331573dd33cd0576fa1beb6fe39ae02b2005..42ea3ea30c17ac8049ee79fd1feda6559c5cb7dd 100644 (file)
@@ -20,7 +20,7 @@ function plotShape(coordinates, elements, varargin)
 c = 0;
 e = 1;
 n = 0;
-t = 0;
+t = [0 0];
 f = 0;
 line = 1;
 optargin = size(varargin,2);
@@ -69,13 +69,14 @@ elseif(optargin>=1)
     end
     if(ismember('t',varargin{1}))
         desc = {};
-        t = 1;
+        t(1) = 1;
         if(optargin==2 && length(varargin{2})>=size(elements,1))
             desc = varargin{2};
-        end 
-    elseif(ismember('d',varargin{1}))
+        end
+    end
+    if(ismember('d',varargin{1}))
         desc = {};
-        t = 2;
+        t(2) = 1;
     end
 end
 
@@ -140,7 +141,7 @@ if(n)
 end
 
 
-if(t==1)
+if(t(1))
     for idx = eles
         current = sum(coordinates(elements(idx,[2,4])',:),1)/2;
         if(e)
@@ -157,7 +158,7 @@ if(t==1)
     end
  end
 
-if(t>=2)
+if(t(2))
     for idx = coos
         current = coordinates(idx,:);
         if(e)
index 598537b1d05e58f21302d674e67986c0cf35eefe..3ac6e88ae03b4a295ba36716f9af6122a900b719 100644 (file)
@@ -2,35 +2,36 @@
 format longG
 
 % Matrix MEX Funktion neu Compilieren
-mex mex_build_V.cpp slpRectangle.cpp CFLAGS="\$CFLAGS -fopenmp" CXXFLAGS="\$CXXFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"
+mex mex_build_V.cpp slpRectangle.cpp CFLAGS="\$CFLAGS  -fopenmp" CXXFLAGS="\$CXXFLAGS -fopenmp" LDFLAGS="\$LDFLAGS -fopenmp"
 
 % mex mex_build_V.cpp slpRectangle.cpp
 
 % Test ausführen
 
-%Anzahl der Schritte
-steps = 32;
+%Anzahl der Schritte oder wenn groeßer als 30 der Elemente
+steps = 500;
 
 %Art der Berechnungen
-type = [1 3];
+type = [1];
 zeta = { [2 2 2] [2 2 2]};
 
 
 %% Quad adaptiv anisotrop
 %Datei
-file = 'exmpl_2DQuad';
+file = 'exmpl_3DCube';
 %Adaptiv
-theta = 0.5;
+theta = 0.7;
 %Anisotrop
-nu = 0.5;
+nu = 0.2;
 tic
 [a b fileo]=compute(file, steps, zeta, type, theta, nu, 0);
 
 time = toc
 typeN = int2str(type);
+steps = size(a,1);
 
 A_plots({['meshSave/' fileo int2str(steps)]},...
-    [fileo ...
+    ['plots/' fileo ...
     int2str(steps)]);
   
 %% Bla bla