From: treecity Date: Mon, 5 Mar 2012 07:04:27 +0000 (+0000) Subject: [src] unnötige Dateien entfernt X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=5979e0b483184bfc5f4f61a519162eda7b5e6d95;p=bacc.git [src] unnötige Dateien entfernt git-svn-id: https://drops.fb12.tu-berlin.de/svn/bacc/trunk@100 26120e32-c555-405d-b3e1-1f783fb42516 --- diff --git a/src/A_setParam.m b/src/A_setParam.m deleted file mode 100644 index 30cc2a2..0000000 --- a/src/A_setParam.m +++ /dev/null @@ -1,8 +0,0 @@ -function A_setParam(paras) -%setzt die Parameter fuer die Durchlaeufe - -global G_para; -G_para = paras; - -end - diff --git a/src/exportCOEL.m b/src/exportCOEL.m deleted file mode 100644 index 30fe941..0000000 --- a/src/exportCOEL.m +++ /dev/null @@ -1,46 +0,0 @@ -function [coo, ele] = exportCOEL(coo, ele, file) -%EXPORTCOEL Summary of this function goes here -% Detailed explanation goes here - -if(size(ele,2) == 3) - disp 'erweitere auf 4 Koordinaten pro Element' - ele = ele(:,[1 2 3 3]); - - for i = 1:size(ele,1); - - tri = ele(i,:); - a = (coo(tri(2),:)-coo(tri(1),:)); - x = coo(tri(3),:) + a; - - found = 0; - for j = 1:size(coo,1) - if(coo(j,:) == x) - found = j; - break; - end - end - - if(found == 0) - coo(j+1,:) = x; - ele(i,3) = j+1; - else - ele(i,3) = j; - end - end -end -if(size(ele,2)==4) - disp 'schreibe in Datei' - dat = fopen(file,'w'); - - for i=1:size(coo,1); - fprintf(dat,'v %.4f %.4f %.4f\n',coo(i,:)); - end - fprintf(dat,'\n'); - for i=1:size(ele,1); - fprintf(dat,'f %.0f %.0f %.0f %.0f\n',ele(i,:)); - end - - fclose(dat); -end -end - diff --git a/src/gauss.m b/src/gauss.m deleted file mode 100644 index 48a1099..0000000 --- a/src/gauss.m +++ /dev/null @@ -1,40 +0,0 @@ -function [nodes,weights] = gauss(n,varargin) - -% Compute Gauss-Legendre quadrature on compact interval [a,b] -% -% Usage: [NODES,WEIGHTS] = gauss(N [,A,B]) -% -% Here, N is the length of the Gaussian quadrature rule, and the -% optional scalars A and B determine the compact interval. By default, -% there holds A = -1 and b = +1. -% -% The function returns an (N x 1) column vector WEIGHTS containing the -% quadrature weights and an (1 x N) row vector NODES containing the -% corresponding quadrature nodes. -% -% Example: Suppose we aim to approximate the integral -% -% int_a^b f dx -% -% Assume that F is a Matlab function, which takes a column vector of -% evaluation points X and returns a column vector Y of function values, -% where Y(j) = F(X(j)). Then, the numerical integration reads -% -% [NODES,WEIGHTS] = gauss(n,A,B); -% INT = WEIGHTS*F(NODES); -% -% Author: Dirk Praetorius - 11.03.2010 - - -beta = (1:n-1)./sqrt((2*(1:n-1)).^2-1); -A = diag(beta,-1)+diag(beta,1); -[eigenvector,nodes] = eig(A); -[nodes,idx] = sort(diag(nodes)); -weights = 2*eigenvector(1,idx).^2; - -if nargin >= 3 - a = varargin{1}; - b = varargin{2}; - weights = 0.5*abs(b-a)*weights; - nodes = 0.5*( a+b + nodes*(b-a) ); -end diff --git a/src/gaussgen.m b/src/gaussgen.m deleted file mode 100644 index 1e1fd29..0000000 --- a/src/gaussgen.m +++ /dev/null @@ -1,16 +0,0 @@ -function str = gaussgen(start,stop,steps) - -str =['{' char(10)]; -for i = steps(1:end) - str = [str '{' char(10)]; - [n w] = gauss(i,start,stop); - for j = 1:length(n) - str = [str char(9) '{' num2str(n(j),16) ',' num2str(w(j),16) '},' char(10)]; - end - str = [str(1:end-2) '},' char(10)]; -end - - - -str = [str(1:end-2) '}']; -end \ No newline at end of file diff --git a/src/genNeig.m b/src/genNeig.m deleted file mode 100644 index 9188c39..0000000 --- a/src/genNeig.m +++ /dev/null @@ -1,33 +0,0 @@ -function neigh = genNeig(ele) -%momentan nur fuer Netze ohne HangingNodes - -neigh = zeros(size(ele,1),8); - - - for i = 1:size(ele,1) - - list = []; - n = 1; - for k = 1:4 - [r c] = find(ele==ele(i,k)); - list = [list r']; - end - list(list~=i) - list = sort(list(list~=i)); - - li = []; - for k = 1:length(list)-1 - if(list(k)==list(k+1)) - neigh(i,n) =list(k); - n = n+1; - k = k+1; - else - li = [li list(k)]; - end - end - - % li - % neigh(i,:) - end -end - \ No newline at end of file diff --git a/src/marked.m b/src/marked.m deleted file mode 100644 index e69de29..0000000 diff --git a/src/mesh.tar.gz b/src/mesh.tar.gz deleted file mode 100644 index 0a432f9..0000000 Binary files a/src/mesh.tar.gz and /dev/null differ diff --git a/src/mex_Int.cpp b/src/mex_Int.cpp deleted file mode 100644 index 5b16086..0000000 --- a/src/mex_Int.cpp +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Art der Berechnung durch Parameter bestimmt... - * Analytisch/Semianalytisch/... - * - * - */ - -#include -#include -#include -#include "mex.h" -#include - -//#include "gauss.hpp" - -#define M_EPS 10e-8 - -//#include "tbb/parallel_for.h" - - -#include "slpRectangle.hpp" - -using namespace std; -using namespace slpR; - -int dimOfVec(double* vec) { - if (vec[2] != 0) - return 2; - else if (vec[1] !=0) - return 1; - else if (vec[0] !=0) - return 0; - else { - cerr << "dimOfVec : (" << vec[0] << " " << vec[1]<< " " << vec[2] - << ") alle Werte 0 \n"; - return -1; - } - -} - -inline int dimOfThird(int a, int b) { - return ((-(a + b) % 3) + 3) % 3; -} - -void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { - -// initeQuad(); -// cout << Quad[1].nod[0]; - - int i, j, k; //Schleifenindizes - double tmp; //Zwischenspeicherung der Einzelnen Werte - int count; - - //Sicherheitsabfragen zu Datengroessen - if ((nrhs != 4)) - mexErrMsgTxt( - "expected (coordinates(Nx3),elements(Mx4),mu(double),type(int))"); - if (nlhs > 1) - mexErrMsgTxt("has only one output argument"); - - int cm = mxGetM(prhs[0]); - int cn = mxGetN(prhs[0]); - if (cn != 3) - mexErrMsgTxt("expected coordinates (Nx3)"); - cout << " Coordinaten:" << cm << endl; - - int em = mxGetM(prhs[1]); - int en = mxGetN(prhs[1]); - if (en != 4) - mexErrMsgTxt("expected elements (Mx4)"); - cout << " Elemente:" << em << endl; - - //Auslesen der Parameter - - plhs[0] = mxCreateDoubleMatrix(em, em, mxREAL); - double * A = mxGetPr(plhs[0]); - double * C = mxGetPr(prhs[0]); - double * E = mxGetPr(prhs[1]); - - double mu = *(mxGetPr(prhs[2])); - int type = (int) *(mxGetPr(prhs[3])); - - //Initialisieren der Hilfsvektoren - - double * x0 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * x1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * x2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * x3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * xa = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * xb = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - - double * y0 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * y1 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * y2 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * y3 = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * ya = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * yb = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - - double * d = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - double * dt = mxGetPr(mxCreateDoubleMatrix(3, 1, mxREAL)); - - // Welche Funktion soll verwendet werden - double(*ctypeP)(double, double, double, double, double, double, double, - double); - double(*ctypeO)(double, double, double, double, double, double, double, - double); - - //Art der Berechnung bestimmen - cout << " Type:" << type << endl; - switch (type) { - case 0: - ctypeP = calcParIntO0; - ctypeO = calcOrtIntO0; - break; - case 1: - ctypeP = calcParIntO1; - ctypeO = calcOrtIntO1; - break; - case 2: - ctypeP = calcParIntO2; - ctypeO = calcOrtIntO2; - break; - case 3: - ctypeP = calcParIntO3; - ctypeO = calcOrtIntO3; - break; - - } - - //LageInformationen - int rx, rxa, rxb, ry, rya, ryb; - -// cout << " Progress: #"; - count = 0; - //Ausrechnen - for (j = 0; j < em; ++j) { - x0[0] = C[(int) E[j] - 1]; - x0[1] = C[cm + (int) E[j] - 1]; - x0[2] = C[2 * cm + (int) E[j] - 1]; - - x1[0] = C[(int) E[em + j] - 1]; - x1[1] = C[cm + (int) E[em + j] - 1]; - x1[2] = C[2 * cm + (int) E[em + j] - 1]; - - x2[0] = C[(int) E[2 * em + j] - 1]; - x2[1] = C[cm + (int) E[2 * em + j] - 1]; - x2[2] = C[2 * cm + (int) E[2 * em + j] - 1]; - - x3[0] = C[(int) E[3 * em + j] - 1]; - x3[1] = C[cm + (int) E[3 * em + j] - 1]; - x3[2] = C[2 * cm + (int) E[3 * em + j] - 1]; - - for (i = 0; i < 3; ++i) - xa[i] = x1[i] - x0[i]; - - for (i = 0; i < 3; ++i) - xb[i] = x3[i] - x0[i]; - - // Lageeigenschaften des Flaechenstuecks - - rxa = dimOfVec(xa); - rxb = dimOfVec(xb); - rx = dimOfThird(rxa, rxb); - - //kleinste Ecke finden und fuer \delta verwenden - - if (xa[rxa] > 0) { - if (xb[rxb] > 0) { - for (i = 0; i < 3; ++i) - dt[i] = -x0[i]; - } else { - for (i = 0; i < 3; ++i) - dt[i] = -x3[i]; - } - } else { - if (xb[rxb] > 0) { - for (i = 0; i < 3; ++i) - dt[i] = -x1[i]; - } else { - for (i = 0; i < 3; ++i) - dt[i] = -x2[i]; - } - } - - for (k = i+1; k < em; ++k) { - y0[0] = C[(int) E[k] - 1]; - y0[1] = C[cm + (int) E[k] - 1]; - y0[2] = C[2 * cm + (int) E[k] - 1]; - - y1[0] = C[(int) E[em + k] - 1]; - y1[1] = C[cm + (int) E[em + k] - 1]; - y1[2] = C[2 * cm + (int) E[em + k] - 1]; - - y2[0] = C[(int) E[2 * em + k] - 1]; - y2[1] = C[cm + (int) E[2 * em + k] - 1]; - y2[2] = C[2 * cm + (int) E[2 * em + k] - 1]; - - y3[0] = C[(int) E[3 * em + k] - 1]; - y3[1] = C[cm + (int) E[3 * em + k] - 1]; - y3[2] = C[2 * cm + (int) E[3 * em + k] - 1]; - - for (i = 0; i < 3; ++i) - ya[i] = y1[i] - y0[i]; - - for (i = 0; i < 3; ++i) - yb[i] = y3[i] - y0[i]; - - // Lageeigenschaften des Flaechenstuecks - - rya = dimOfVec(ya); - ryb = dimOfVec(yb); - ry = dimOfThird(rya, ryb); - - //kleinste Ecke finden und fuer \delta verwenden - - if (ya[rya] > 0) { - if (yb[ryb] > 0) { - for (i = 0; i < 3; ++i) - d[i] = dt[i] + y0[i]; - } else { - for (i = 0; i < 3; ++i) - d[i] = dt[i] + y3[i]; - } - } else { - if (yb[ryb] > 0) { - for (i = 0; i < 3; ++i) - d[i] = dt[i] + y1[i]; - } else { - for (i = 0; i < 3; ++i) - d[i] = dt[i] + y2[i]; - } - } - - if (rx == ry) { - if (rxa == rya) { - tmp - = ctypeP(fabs(xa[rxa]), fabs(xb[rxb]), - fabs(ya[rxa]), fabs(yb[rxb]), d[rxa], - d[rxb], d[rx], mu); - - } else { - tmp - = ctypeP(fabs(xa[rxa]), fabs(xb[rxb]), - fabs(yb[rxa]), fabs(ya[rxb]), d[rxa], - d[rxb], d[rx], mu); - } - - } else { - - if (rxa == rya) { - tmp - = ctypeO(fabs(xb[rxb]), fabs(xa[rxa]), - fabs(ya[rya]), fabs(yb[ryb]), d[rxb], - d[rxa], d[rx], mu); - } else if (rxa == ryb) { - tmp - = ctypeO(fabs(xb[rxb]), fabs(xa[rxa]), - fabs(yb[ryb]), fabs(ya[rya]), d[rxb], - d[rxa], d[rx], mu); - } else if (rxb == rya) { - tmp - = ctypeO(fabs(xa[rxa]), fabs(xb[rxb]), - fabs(ya[rya]), fabs(yb[ryb]), d[rxa], - d[rxb], d[rx], mu); - } else { - tmp - = ctypeO(fabs(xa[rxa]), fabs(xb[rxb]), - fabs(yb[ryb]), fabs(ya[rya]), d[rxa], - d[rxb], d[rx], mu); - } - - } - A[(k * em) + j] = 1. / (4 * M_PI) * tmp; - // if(k!=j) -// A[(j * em) + k] = 1. / (4 * M_PI) * tmp; -/* if(count++ > ((em*(em+1))/2)/10){ - count = 0; - cout << "#"; - cout.flush(); - }*/ - - } - - } - cout << endl; - //Rueckgabe (eventuell zurueck schreiben) - //mxFree(x0); - //mxFree(x1); - //mxFree(x3); - //mxFree(y0); - //mxFree(y1); - //mxFree(y3); - //mxFree(d); - //mxFree(dt); - - return; -} diff --git a/src/mex_hello.cpp b/src/mex_hello.cpp deleted file mode 100644 index 7911037..0000000 --- a/src/mex_hello.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include -#include "mex.h" - -void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { - std::cout << "Hello" << std::endl; - - - -} diff --git a/src/neville2.m b/src/neville2.m deleted file mode 100644 index b15b0e6..0000000 --- a/src/neville2.m +++ /dev/null @@ -1,19 +0,0 @@ -function [ y ] = neville2(x,y,t ) -%[ p ] = neville2(x,y,t ) - - - n=length(y); - t(2:n) = t(1); - - for m = 2:n - - j=n-m+1; - %... = zeigt MATLAB das die Zeile noch weiter geht - y = ((t(1:j) - x(1:j)) .* y(2:j+1) ... - -(t(1:j) - x(m:n)) .* y(1:j)) ... - ./ (x(m:n)-x(1:j)); - - end - - -end \ No newline at end of file diff --git a/src/surfDoubleQuad.m b/src/surfDoubleQuad.m deleted file mode 100644 index 4759b7a..0000000 --- a/src/surfDoubleQuad.m +++ /dev/null @@ -1,30 +0,0 @@ -function in = surfDoubleQuad(f,a,b,c,d,r,t,u,v,w) -% -% in = surfDoubleQuad(f,a,b,c,d,r,t,u,v,w) -% -% Berechnet das Vierfachintegral über die Funktion f(x1,x2,y1,y2) mit den -% Grenzen [a b]x[c d]x[r t]x[u v]. Dazu wird eine Gaussquadratur über w -% Punkte verwendet. -% -% P. Schaefer - - [x1n x1w] = gauss(w,a,b); - [x2n x2w] = gauss(w,c,d); - [y1n y1w] = gauss(w,r,t); - [y2n y2w] = gauss(w,u,v); - - in = 0; - for i=1:length(y2n) - for j=1:length(y1n) - for k=1:length(x2n) - for l = 1:length(x1n) - - in = in + y2w(i) * y1w(j) * x2w(k) * x1w(l) *... - f(x1n(l),x2n(k),y1n(j),y2n(i)); - - end - end - end - end - -end \ No newline at end of file diff --git a/src/surfQuad.m b/src/surfQuad.m deleted file mode 100644 index b5967c8..0000000 --- a/src/surfQuad.m +++ /dev/null @@ -1,20 +0,0 @@ -function in = surfQuad(f,a,b,c,d,v) -% -% in = surfQuad(f,a,b,c,d,v) -% -% Berechnet das Doppelintegral über die Funktion f(x,y) mit den Grenzen -% [a b]x[c d]. Dazu wird eine Gaussquadratur über v Punkte verwendet. -% -% P. Schaefer - - [xn xw] = gauss(v,a,b); - [yn yw] = gauss(v,c,d); - - in = 0; - for i = 1:length(yn) - for j = 1:length(xn) - in = in + yw(i) * xw(j)*f(xn(j),yn(i)); - end - end - -end \ No newline at end of file diff --git a/src/t.mat b/src/t.mat deleted file mode 100644 index 9808609..0000000 Binary files a/src/t.mat and /dev/null differ diff --git a/src/test_calcInt1.m b/src/test_calcInt1.m deleted file mode 100644 index 3dd4861..0000000 --- a/src/test_calcInt1.m +++ /dev/null @@ -1 +0,0 @@ - coo = @(h,diff)[0 0 0;1 0 0; 1 1 0;0 1 0; 0 0 0 ; 0+h 0 0; 0+h h 0 ; 0 h 0]+[zeros(4,3);repmat(diff,4,1)]; elements=[1 2 3 4;5 6 7 8]; neigh = zeros(2,8); dat = []; diff = [2 0 0]; %% Laage Uebersicht figure(1) h = 1; coordinates=coo(h,diff); current = coordinates(elements(1,[1:4,1])',:); fill3(current(:,1),current(:,2),current(:,3),'g'); hold on current = coordinates(elements(2,[1:4,1])',:); fill3(current(:,1),current(:,2),current(:,3),'b'); h = h/2; coordinates=coo(h,diff); current = coordinates(elements(2,[1:4,1])',:); fill3(current(:,1),current(:,2),current(:,3),'y'); hold off legend('Element1(h)','Element2(h)','Element2(h/2)'); title('Laage der Elemente'); %% Integrale bei kleiner werdenden Elementen h = 2; for I = 1:50 h = h/2; coordinates=coo(h,diff); A0 = mex_build_AU(coordinates,elements,0,0); A2 = mex_build_AU(coordinates,elements,1,2); A3 = mex_build_AU(coordinates,elements,1,3); I dat(I,1:4) = [h A0(1,2) A2(1,2) A3(1,2)]; dat(dat<0)=0; end figure(2) 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)'); ylabel('Integral'); title('Integral bei kleiner werdenden Element'); %% Netzverfeinerung mit schlechtem Netz % h = (1/2)^25; % coordinates=coo(h,diff); % % A_loadMesh(coordinates,elements,neigh); % datA=[]; % for I = 1:4 % datA(I,:) = A_stepIso(1,[0 3 2]); % % datA(I,:) = A_stepAniso(1,[0 3 2],1,0); % I % end % figure(3) % loglog(datA(2:end,1),datA(2:end,3),datA(2:end,1),datA(2:end,9),datA(2:end,1),datA(2:end,6)) % % legend('Analytisch','Quad Element','Quad Achse','location','best'); % xlabel('Anzahl der Elemente'); % ylabel('mu Schaetzer'); % title('mu Schaetzer mit "schlechtem" Startnetz'); % % figure(4) % loglog(datA(:,1),datA(:,4),datA(:,1),datA(:,10),datA(:,1),datA(:,7)) % % legend('Analytisch','Quad Element','Quad Achse','location','best'); % xlabel('Anzahl der Elemente'); % ylabel('EnergieNorm ^2 '); % title('EnergieNorm ^2 mit "schlechtem" Startnetz'); % % datA \ No newline at end of file diff --git a/src/test_calcInt2.m b/src/test_calcInt2.m deleted file mode 100644 index b7300f9..0000000 --- a/src/test_calcInt2.m +++ /dev/null @@ -1,80 +0,0 @@ - - -coo = @(h,diff)[0 0 0;1 0 0; 1 1 0;0 1 0; 0 0 0 ; 0+h 0 0; 0+h 1 0 ; 0 1 0]+[zeros(4,3);repmat(diff,4,1)]; -elements=[1 2 3 4;5 6 7 8]; -neigh = zeros(2,8); -dat = []; - -diff = [5 0 0]; - -%% Laage ??bersicht -figure(1) -h = 1; -coordinates=coo(h,diff) -current = coordinates(elements(1,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'g'); -hold on -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'b'); - -h = h/2; -coordinates=coo(h,diff); -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'y'); -hold off -legend('Element1(h)','Element2(h)','Element2(h/2)'); -title('Laage der Elemente'); - -%% Integrale bei kleiner werdenden Elementen - -h = 2; -for I = 1:50 - - h = h/2; - coordinates=coo(h,diff); - - A0 = mex_build_AU(coordinates,elements,0,0); - A2 = mex_build_AU(coordinates,elements,1,2); - A3 = mex_build_AU(coordinates,elements,1,3); - I - dat(I,1:4) = [h A0(1,2) A2(1,2) A3(1,2)]; - dat(dat<0)=0; -end - -figure(2) -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)'); -ylabel('Integral'); -title('Integral bei kleiner werdenden Element'); - -%% Netzverfeinerung mit schlechtem Netz - -% h = (1/2)^25; -% coordinates=coo(h,diff); -% -% A_loadMesh(coordinates,elements,neigh); -% datA=[]; -% for I = 1:4 -% datA(I,:) = A_stepIso(1,[0 3 2]); -% % datA(I,:) = A_stepAniso(1,[0 1 3 2],1,0); -% I -% end -% figure(3) -% loglog(datA(2:end,1),datA(2:end,3),datA(2:end,1),datA(2:end,9),datA(2:end,1),datA(2:end,6)) -% -% legend('Analytisch','Quad Element','Quad Achse','location','best'); -% xlabel('Anzahl der Elemente'); -% ylabel('mu Schaetzer'); -% title('mu Schaetzer mit "schlechtem" Startnetz'); -% -% figure(4) -% loglog(datA(:,1),datA(:,4),datA(:,1),datA(:,10),datA(:,1),datA(:,7)) -% -% legend('Analytisch','Quad Element','Quad Achse','location','best'); -% xlabel('Anzahl der Elemente'); -% ylabel('EnergieNorm ^2 '); -% title('EnergieNorm ^2 mit "schlechtem" Startnetz'); -% -% datA diff --git a/src/test_calcInt3.m b/src/test_calcInt3.m deleted file mode 100644 index 97d7a8f..0000000 --- a/src/test_calcInt3.m +++ /dev/null @@ -1,82 +0,0 @@ - - -coo = @(h,diff)[0 0 0;h 0 0; h 1 0;0 1 0; 0 0 0 ; 0+h 0 0; 0+h 1 0 ; 0 1 0]+[zeros(4,3);repmat(diff,4,1)]; -elements=[1 2 3 4;5 6 7 8]; -neigh = zeros(2,8); -dat = []; - -diff = [5 0 0]; - -%% Laage ??bersicht -figure(1) -h = 1; -coordinates=coo(h,diff) -current = coordinates(elements(1,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'g'); -hold on -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'b'); - -h = h/2; -coordinates=coo(h,diff); -current = coordinates(elements(1,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'r'); -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'y'); -hold off -legend('Element1(h)','Element2(h)','Element1(h/2)','Element2(h/2)'); -title('Laage der Elemente'); - -%% Integrale bei kleiner werdenden Elementen - -h = 2; -for I = 1:50 - - h = h/2; - coordinates=coo(h,diff); - - A0 = mex_build_AU(coordinates,elements,0,0); - A2 = mex_build_AU(coordinates,elements,1,2); - A3 = mex_build_AU(coordinates,elements,1,3); - I - dat(I,1:4) = [h A0(1,2) A2(1,2) A3(1,2)]; - dat(dat<0)=0; -end - -figure(2) -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)'); -ylabel('Integral'); -title('Integral bei kleiner werdenden Element'); - -%% Netzverfeinerung mit schlechtem Netz -% -% h = (1/2)^25; -% coordinates=coo(h,diff); -% -% A_loadMesh(coordinates,elements,neigh); -% datA=[]; -% for I = 1:4 -% datA(I,:) = A_stepIso(1,[0 3 2]); -% % datA(I,:) = A_stepAniso(1,[0 3 2],1,0); -% I -% end -% figure(3) -% loglog(datA(2:end,1),datA(2:end,3),datA(2:end,1),datA(2:end,9),datA(2:end,1),datA(2:end,6)) -% -% legend('Analytisch','Quad Element','Quad Achse','location','best'); -% xlabel('Anzahl der Elemente'); -% ylabel('mu Schaetzer'); -% title('mu Schaetzer mit "schlechtem" Startnetz'); -% -% figure(4) -% loglog(datA(:,1),datA(:,4),datA(:,1),datA(:,10),datA(:,1),datA(:,7)) -% -% legend('Analytisch','Quad Element','Quad Achse','location','best'); -% xlabel('Anzahl der Elemente'); -% ylabel('EnergieNorm ^2 '); -% title('EnergieNorm ^2 mit "schlechtem" Startnetz'); -% -% datA diff --git a/src/test_calcInt4.m b/src/test_calcInt4.m deleted file mode 100644 index 7de2a56..0000000 --- a/src/test_calcInt4.m +++ /dev/null @@ -1,46 +0,0 @@ - - -elements=[1 2 3 4;5 6 7 8]; -neigh = zeros(2,8); - -dat = []; - -h = 1/2; -coordinates=[0 0 0;1 0 0; 1 1 0;0 1 0; 2 0 0; 2 0 h; 2 h h ; 2 h 0]; -figure(1) -current = coordinates(elements(1,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'g'); -hold on -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'b'); - -h = h/2; -coordinates=[0 0 0;1 0 0; 1 1 0;0 1 0; 2 0 0; 2 0 h; 2 h h ; 2 h 0]; -current = coordinates(elements(2,[1:4,1])',:); -fill3(current(:,1),current(:,2),current(:,3),'r'); -hold off -legend('Element1(h/2)','Element2(h/2)','Element1(h/4)','Element2(h/4)') - -h = 2; -for I = 1:50 - - h = h/2; -coordinates=[0 0 0;1 0 0; 1 1 0;0 1 0; 2 0 0; 2 0 h; 2 h h ; 2 h 0]; - - A0 = mex_build_AU(coordinates,elements,0,0); - A1 = mex_build_AU(coordinates,elements,1,1); - A2 = mex_build_AU(coordinates,elements,1,2); - I - dat(I,1:4) = [h A0(1,2) A1(1,2) A2(1,2)]; - - % dat(dat<0)=0; - -end - -figure(2) -loglog(dat(:,1),abs(dat(:,2)),dat(:,1),abs(dat(:,3)),dat(:,1),abs(dat(:,4))); - -legend('Analytisch','Element vertauschen','Quad Element','location','southeast'); - -xlabel('Elementgroesse'); -ylabel('Integral'); \ No newline at end of file diff --git a/src/test_refine.m b/src/test_refine.m deleted file mode 100644 index 16c466f..0000000 --- a/src/test_refine.m +++ /dev/null @@ -1,8 +0,0 @@ -figure(1) -plotShape(coordinates,elements); -plotMark(1,coordinates,elements); - -[coordinates elements neigh]= refineQuad(coordinates,elements,neigh,[3 ones(1,size(elements,1)-1)]); - -figure(2) -plotShape(coordinates,elements); diff --git a/src/test_solve.m b/src/test_solve.m deleted file mode 100644 index c6245c7..0000000 --- a/src/test_solve.m +++ /dev/null @@ -1,14 +0,0 @@ - -N = size(elements,1); - -tic -A = mex_build_A(coordinates,elements); -t = toc; -b = sqrt(sum(quadNorm(coordinates,elements,'w').^2,2)); - -x = A\b; -xe = x'*A*x; - -x; -xe -t \ No newline at end of file diff --git a/src/test_solveError.m b/src/test_solveError.m deleted file mode 100644 index fa537bf..0000000 --- a/src/test_solveError.m +++ /dev/null @@ -1,95 +0,0 @@ - -dataIso =[]; -dataAniso =[]; -maxSize = 10^2; -Netz = 'exmpl_2DLShape'; %Energienorm sollte gegen 8.28466 konvergieren -% Netz = 'exmpl_3DFichCube'; %Energienorm sollte gegen 162265 konvergieren -% Netz = 'exmpl_2DQuad'; - -%% Isotrope Verfeinerung -disp 'Isotrop' -load(Netz) - -ref = 0; -while size(elements,1)