]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[src] Iso zeichnet jetzt fehlerhafte Elemente (falls sie auftreten)
authortreecity <treecity@26120e32-c555-405d-b3e1-1f783fb42516>
Thu, 17 Nov 2011 23:37:04 +0000 (23:37 +0000)
committertreecity <treecity@26120e32-c555-405d-b3e1-1f783fb42516>
Thu, 17 Nov 2011 23:37:04 +0000 (23:37 +0000)
[src] plotMark kann nun auch Element-Paare markieren
[src] QuadAchse Fehler gefunden p2 (Bedinungen passen nicht, alternative auskommentiert, also wieder Fehlerhaft zum testen)

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

src/A_stepIso.m
src/mex_build_AU.cpp
src/slpRectangle.cpp
src/test_calcInt2.m

index ad9bbe3ab8010fe5b652a15cca8576dd4fe431a1..41ddd61e46703e590b01be7d39499df2cbbd3b0c 100644 (file)
@@ -21,7 +21,6 @@ if(length(mu)==1)
 end
 
 time = zeros(1,2);
-  
   tic
   [coordinates_fine,elements_fine,neigh_fine,f2s,er]=refineQuad(G_C,G_E,G_N,2);
   time(1) = toc;
@@ -32,7 +31,12 @@ time = zeros(1,2);
   dataIso = size(G_E,1);
   for i = 1:length(type)
   A_fine = mex_build_AU(coordinates_fine,elements_fine,mu(i),type(i));
-
+  [r c] = find(isnan(A_fine)~=isinf(A_fine));
+  if(~isempty(r))
+    figure(9)
+    plotShape(coordinates_fine,elements_fine(unique([r c]),:),'')
+    plotMark([r';c'],coordinates_fine,elements_fine)
+  end
   x_fine = A_fine\b;
   
   xe_fine = x_fine'*A_fine*x_fine;
index 737851c8b9efaa6fdfb2fc1eaf8270932cf5eae5..d3c8185f7a0d07c2b147c2c2c248aeabb4a210c1 100644 (file)
@@ -181,7 +181,7 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
                        }\r
                }\r
 \r
-               for (k = j; k < em; ++k) {\r
+               for (k = 0; k < em; ++k) {\r
                        y0[0] = C[(int) E[k] - 1];\r
                        y0[1] = C[cm + (int) E[k] - 1];\r
                        y0[2] = C[2 * cm + (int) E[k] - 1];\r
@@ -270,8 +270,8 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
 \r
                        }\r
                        A[(k * em) + j] = 1. / (4 * M_PI) * tmp;\r
-                       if(k!=j)\r
-                               A[(j * em) + k] = 1. / (4 * M_PI) * tmp;\r
+       //              if(k!=j)\r
+//                             A[(j * em) + k] = 1. / (4 * M_PI) * tmp;\r
 /*                     if(count++ > ((em*(em+1))/2)/10){\r
                                count = 0;\r
                                cout << "#";\r
index cb06626f67a3390239aed3002594f6859e840268..caf06c4fe620ccd26b0a2771493f528388c3eace 100644 (file)
@@ -104,9 +104,6 @@ double G_AY2X2(double y1, double y2, double x1, double x2, double d3) {
 \r
        double sol = sqrt(hlp);\r
 \r
-       if (sol!=sol||fabs(sol)==numeric_limits<double>::infinity()){\r
-               cout << sol << endl;\r
-       }\r
 \r
        if ((x2 - y2) != 0)\r
                sol += (x2 - y2) * log(sqrt(hlp) - (x2 - y2));\r
@@ -115,6 +112,7 @@ double G_AY2X2(double y1, double y2, double x1, double x2, double d3) {
                cout << "G_AY2X2: " << sol << " isn't a Number. ("\r
                        << y1 << "," << y2 << ")(" << x1 << "," << x2 << ")(" << d3 << ")" << endl;\r
                cout << (x2-y2) << "__" << sqrt(hlp) << endl;\r
+               cout << (x1-y1)*(x1-y1) << " " << hlp << endl;\r
        }\r
        return sol;\r
 }\r
@@ -438,7 +436,7 @@ double calcParIntO2(double b, double d, double t, double v, double d1,
                d3 = -d3;\r
        }\r
 \r
-       if ((b * b + d * d) * eta <= d1 * d1 + d2 * d2 + d3 * d3) {\r
+       if ((b * b + d * d) * eta < d1 * d1 + d2 * d2 + d3 * d3) {\r
                return calcParIntQX1X2(b, d, t, v, d1, d2, d3);\r
        } else {\r
                return calcParIntA(b, d, t, v, d1, d2, d3);\r
@@ -491,7 +489,7 @@ double calcParIntO3(double b, double d, double t, double v, double d1,
                d2 = tmp;\r
        }\r
 \r
-       if (max(b, t) * eta <= d1) {\r
+       if ((min(b, t) * eta <= d1) /*&& (min(d, v) * eta <= d2)*/ ) {\r
                return calcParIntQY1X1(b, d, t, v, d1, d2, d3);\r
        } else {\r
                return calcParIntA(b, d, t, v, d1, d2, d3);\r
index e020ae3c4e6e668a4ddcb620f74a805371dd6cb5..5d9c92ed4a14d0d86996d8e4967d0ff0aa223bd5 100644 (file)
@@ -42,7 +42,7 @@ for I = 1:50
 end
 
 figure(2)
-loglog(dat(:,1),abs(dat(:,2)),dat(:,1),abs(dat(:,3)),dat(:,1),abs(dat(:,4)));
+loglog(dat(:,1),abs(dat(:,2)),dat(:,1),abs(dat(:,3)),'-.',dat(:,1),abs(dat(:,4)),'--');
 
 legend('Analytisch','Quad Element','Quad Achse','location','best');
 xlabel('Elementgroesse (kürzeste Seite)');
@@ -56,7 +56,7 @@ coordinates=coo(h,diff);
 
 A_loadMesh(coordinates,elements,neigh);
 datA=[];
-for I = 1:3
+for I = 1:2
   datA(I,:) = A_stepIso(1,[0 3 2]);
 %   datA(I,:) = A_stepAniso(1,[0 1 3 2],1,0);
   I