From 04e273216dc304a7ed4bb8fc72a4f63bdcd5a7bf Mon Sep 17 00:00:00 2001 From: treecity Date: Fri, 2 Dec 2011 17:51:35 +0000 Subject: [PATCH] =?utf8?q?[src]=20hpp=20korrigiert=20[src]=20namespace=20s?= =?utf8?q?lpR=20eingef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://drops.fb12.tu-berlin.de/svn/bacc/trunk@71 26120e32-c555-405d-b3e1-1f783fb42516 --- src/mex_build_AU.cpp | 1 + src/slpRectangle.cpp | 53 +++++++++--------- src/slpRectangle.hpp | 124 +++++++++++++++++++++++-------------------- 3 files changed, 94 insertions(+), 84 deletions(-) diff --git a/src/mex_build_AU.cpp b/src/mex_build_AU.cpp index d3c8185..c6b866f 100644 --- a/src/mex_build_AU.cpp +++ b/src/mex_build_AU.cpp @@ -21,6 +21,7 @@ #include "slpRectangle.hpp" using namespace std; +using namespace slpR; int dimOfVec(double* vec) { if (vec[2] != 0) diff --git a/src/slpRectangle.cpp b/src/slpRectangle.cpp index 87cc986..2ca81a3 100644 --- a/src/slpRectangle.cpp +++ b/src/slpRectangle.cpp @@ -2,7 +2,7 @@ #include #include #include -//#include +#include //#include @@ -10,6 +10,7 @@ //#include "gauss.hpp" using namespace std; +//using namespace slpR; double gauss_w5[] = { 0.1185, 0.2393, 0.2844, 0.2393, 0.1185 }; double gauss_n5[] = { 0.0469, 0.2308, 0.5000, 0.7692, 0.9531 }; @@ -38,7 +39,7 @@ double inline min(double x, double y) { return x > y ? y : x; } -double g_QY(double p, double y, double x, double l) { +double slpR::g_QY(double p, double y, double x, double l) { double sol = 0; @@ -51,7 +52,7 @@ double g_QY(double p, double y, double x, double l) { } //y-x muss != 0 sein -double g_AY(double p, double y, double x, double l) { +double slpR::g_AY(double p, double y, double x, double l) { //printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l); double sol = 0; @@ -82,7 +83,7 @@ double g_AY(double p, double y, double x, double l) { return sol; } -double G_QY1Y2(double p, double y1, double y2, double x1, double x2, double l) { +double slpR::G_QY1Y2(double p, double y1, double y2, double x1, double x2, double l) { double sol = 0; for (int i = 0; i < 5; ++i) { @@ -96,7 +97,7 @@ double G_QY1Y2(double p, double y1, double y2, double x1, double x2, double l) { return sol; } -double G_AY2X2(double y1, double y2, double x1, double x2, double d3) { +double slpR::G_AY2X2(double y1, double y2, double x1, double x2, double d3) { // cout << "(" << y1 << "," << y2 << ")(" << x1 << "," << x2 << ")(" << d3 << ")" << endl; @@ -118,7 +119,7 @@ double G_AY2X2(double y1, double y2, double x1, double x2, double d3) { return sol; } -double G_AY1Y2(double p, double y1, double y2, double x1, double x2, double l) { +double slpR::G_AY1Y2(double p, double y1, double y2, double x1, double x2, double l) { // printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l); double pt = p + 1.5; double sol = 0; @@ -152,7 +153,7 @@ double G_AY1Y2(double p, double y1, double y2, double x1, double x2, double l) { return sol; } -double Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2, +double slpR::Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2, double l) { double sol = 0; @@ -161,7 +162,7 @@ double Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2, return sol; } -double F_par(double x1, double x2, double y1, double y2, double d1, double d2, +double slpR::F_par(double x1, double x2, double y1, double y2, double d1, double d2, double d3) { // printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3); @@ -184,7 +185,7 @@ double F_par(double x1, double x2, double y1, double y2, double d1, double d2, return sol; } -double F_ort(double x1, double x2, double y2, double y3, double d1, double d2, +double slpR::F_ort(double x1, double x2, double y2, double y3, double d1, double d2, double d3) { // printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y2,y3,d1,d2,d3); @@ -224,7 +225,7 @@ double F_ort(double x1, double x2, double y2, double y3, double d1, double d2, }*/ -double apply0Int4( +double slpR::apply0Int4( double(*f)(double, double, double, double, double, double, double), double b, double d, double t, double v, double d1, double d2, double d3) { @@ -238,7 +239,7 @@ double apply0Int4( } -double apply0Int2( +double slpR::apply0Int2( double(*f)(double, double, double, double, double, double, double), double b, double d, double t, double v, double d1, double d2, double d3) { @@ -248,13 +249,13 @@ double apply0Int2( } // Berechnet das eigentliche Integral fuer parallele Elemente voll Analytisch -double calcParIntA(double b, double d, double t, double v, double d1, +double slpR::calcParIntA(double b, double d, double t, double v, double d1, double d2, double d3) { return apply0Int4(F_par, b, d, t, v, d1, d2, d3); } -double calcParIntQX1X2(double b, double d, double t, double v, double d1, +double slpR::calcParIntQX1X2(double b, double d, double t, double v, double d1, double d2, double d3) { //Fall 2 double sol = 0; @@ -276,7 +277,7 @@ double calcParIntQX1X2(double b, double d, double t, double v, double d1, } -double calcParIntQY1X1(double b, double d, double t, double v, double d1, +double slpR::calcParIntQY1X1(double b, double d, double t, double v, double d1, double d2, double d3) { //Fall 3 double sol = 0; @@ -330,20 +331,20 @@ double calcParIntQY1X1(double b, double d, double t, double v, double d1, return sol; } -double calcParIntQY1(double b, double d, double t, double v, double d1, +double slpR::calcParIntQY1(double b, double d, double t, double v, double d1, double d2, double d3) { //Fall 4 - return apply0Int4(F_par, b, d, t, v, d1, d2, d3); ///ACHTUNG noch Falsch + return 0; ///ACHTUNG noch Falsch } -double calcOrtIntA(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntA(double b, double d, double t, double v, double d1, double d2, double d3) { return apply0Int4(F_ort, b, d, t, v, d1, d2, d3); } -double calcOrtIntQX1X2(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntQX1X2(double b, double d, double t, double v, double d1, double d2, double d3) { //Fall 2 double sol = 0; @@ -365,16 +366,16 @@ double calcOrtIntQX1X2(double b, double d, double t, double v, double d1, } -double calcParIntO0(double b, double d, double t, double v, double d1, +double slpR::calcParIntO0(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { return calcParIntA(b,d,t,v,d1,d2,d3); } -double calcOrtIntO0(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntO0(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { return calcOrtIntA(b,d,t,v,d1,d2,d3); } -double calcParIntO1(double b, double d, double t, double v, double d1, +double slpR::calcParIntO1(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { //Elmente anordnen @@ -396,7 +397,7 @@ double calcParIntO1(double b, double d, double t, double v, double d1, return calcParIntA(b, d, t, v, d1, d2, d3); } -double calcOrtIntO1(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntO1(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { //Elmente anordnen @@ -418,7 +419,7 @@ double calcOrtIntO1(double b, double d, double t, double v, double d1, return calcOrtIntA(b, d, t, v, d1, d2, d3); } -double calcParIntO2(double b, double d, double t, double v, double d1, +double slpR::calcParIntO2(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { //Elmente anordnen @@ -445,7 +446,7 @@ double calcParIntO2(double b, double d, double t, double v, double d1, } -double calcOrtIntO2(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntO2(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { //Elmente anordnen @@ -471,7 +472,7 @@ double calcOrtIntO2(double b, double d, double t, double v, double d1, } } -double calcParIntO3(double b, double d, double t, double v, double d1, +double slpR::calcParIntO3(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { //Achsen vertauschen @@ -498,7 +499,7 @@ double calcParIntO3(double b, double d, double t, double v, double d1, } -double calcOrtIntO3(double b, double d, double t, double v, double d1, +double slpR::calcOrtIntO3(double b, double d, double t, double v, double d1, double d2, double d3, double eta) { if (max(b, t) * eta > d1) { diff --git a/src/slpRectangle.hpp b/src/slpRectangle.hpp index 4c63dc4..801b9a6 100644 --- a/src/slpRectangle.hpp +++ b/src/slpRectangle.hpp @@ -1,63 +1,71 @@ #ifndef HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_ #define HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_ -// sol = g0(p,y,x,l); -double g_AY(double, double, double, double); -// sol = g0(p,y,x,l); -double g_QY(double, double, double, double); - -// sol = G00(p,y1,y2,x1,x2,l); -double G_AY1Y2(double, double, double, double, double, double); -// sol = G00(p,y1,y2,x1,x2,l); -double G_AY2X2(double, double, double, double, double, double); -// sol = G00(p,y1,y2,x1,x2,l); -double G_QY1Y2(double, double, double, double, double, double); - -// sol = F_par(x1,x2,y1,y2,d1,d2,d3); -double F_par(double, double, double, double, double, double, double); -// sol = F_ort(x1,x2,y2,y3,d1,d2,d3); -double F_ort(double, double, double, double, double, double, double); - -// sol = quad0Int4((F_par/F_ort),b,d,t,v,d1,d2,d3); -double apply0Int4( - double(*)(double, double, double, double, double, double, double), - double, double, double, double, double, double, double); - -// sol = calcParInt.(b,d,t,v,d1,d2,d3); -double calcParIntA(double, double, double, double, double, double, double); -double calcParIntQX1X2(double, double, double, double, double, double, double); -double calcParIntQY1X1(double, double, double, double, double, double, double); -double calcParIntQX1(double, double, double, double, double, double, double); - -// sol = calcOrtInt.(b,d,t,v,d1,d2,d3); -double calcOrtIntA(double, double, double, double, double, double, double); -double calcOrtIntQX1X2(double, double, double, double, double, double, double); - -//Voll Analytische Berechnung -double calcParIntO0(double, double, double, double, double, double, double, - double); -double calcOrtIntO0(double, double, double, double, double, double, double, - double); - -// Elemente Vertauschen -// sol = calc...Int01(b,d,t,v,d1,d2,d3); -double calcParIntO1(double, double, double, double, double, double, double, - double); -double calcOrtIntO1(double, double, double, double, double, double, double, - double); - -// Quadratur ueber kleineres Element -// sol = calc...Int02(b,d,t,v,d1,d2,d3,eta); -double calcParIntO2(double, double, double, double, double, double, double, - double); -double calcOrtIntO2(double, double, double, double, double, double, double, - double); - -// Quadratur kuerzere Achse/Seite -// sol = calc...Int03(b,d,t,v,d1,d2,d3,eta); -double calcParIntO3(double, double, double, double, double, double, double, - double); -double calcOrtIntO3(double, double, double, double, double, double, double, - double); +namespace slpR { + // sol = g0(p,y,x,l); + double g_AY(double, double, double, double); + // sol = g0(p,y,x,l); + double g_QY(double, double, double, double); + + // sol = G00(p,y1,y2,x1,x2,l); + double G_AY1Y2(double, double, double, double, double, double); + // sol = G00(p,y1,y2,x1,x2,l); + double G_AY2X2(double, double, double, double, double); + // sol = G00(p,y1,y2,x1,x2,l); + double G_QY1Y2(double, double, double, double, double, double); + double Gs_AX2Y1Y2(double, double, double, double, double, double); + + // sol = F_par(x1,x2,y1,y2,d1,d2,d3); + double F_par(double, double, double, double, double, double, double); + // sol = F_ort(x1,x2,y2,y3,d1,d2,d3); + double F_ort(double, double, double, double, double, double, double); + + // sol = quad0Int4((F_par/F_ort),b,d,t,v,d1,d2,d3); + double apply0Int4( + double(*)(double, double, double, double, double, double, double), + double, double, double, double, double, double, double); + double apply0Int2( + double(*)(double, double, double, double, double, double, double), + double, double, double, double, double, double, double); + + // sol = calcParInt.(b,d,t,v,d1,d2,d3); + double calcParIntA(double, double, double, double, double, double, double); + double calcParIntQX1X2(double, double, double, double, double, double, double); + double calcParIntQY1X1(double, double, double, double, double, double, double); + double calcParIntQY1(double, double, double, double, double, double, double); + + // sol = calcOrtInt.(b,d,t,v,d1,d2,d3); + double calcOrtIntA(double, double, double, double, double, double, double); + double calcOrtIntQX1X2(double, double, double, double, double, double, double); + + //Voll Analytische Berechnung + double calcParIntO0(double, double, double, double, double, double, double, + double); + double calcOrtIntO0(double, double, double, double, double, double, double, + double); + + // Elemente Vertauschen + // sol = calc...Int01(b,d,t,v,d1,d2,d3); + double calcParIntO1(double, double, double, double, double, double, double, + double); + double calcOrtIntO1(double, double, double, double, double, double, double, + double); + + // Quadratur ueber kleineres Element + // sol = calc...Int02(b,d,t,v,d1,d2,d3,eta); + double calcParIntO2(double, double, double, double, double, double, double, + double); + double calcOrtIntO2(double, double, double, double, double, double, double, + double); + + // Quadratur kuerzere Achse/Seite + // sol = calc...Int03(b,d,t,v,d1,d2,d3,eta); + double calcParIntO3(double, double, double, double, double, double, double, + double); + double calcOrtIntO3(double, double, double, double, double, double, double, + double); + + +} #endif -- 2.47.3