#include <cmath>\r
#include <cassert>\r
#include <limits>\r
-//#include <stdlib.h>\r
+#include <cstdlib>\r
\r
//#include <mex.h>\r
\r
//#include "gauss.hpp"\r
\r
using namespace std;\r
+//using namespace slpR;\r
\r
double gauss_w5[] = { 0.1185, 0.2393, 0.2844, 0.2393, 0.1185 };\r
double gauss_n5[] = { 0.0469, 0.2308, 0.5000, 0.7692, 0.9531 };\r
return x > y ? y : x;\r
}\r
\r
-double g_QY(double p, double y, double x, double l) {\r
+double slpR::g_QY(double p, double y, double x, double l) {\r
\r
double sol = 0;\r
\r
}\r
\r
//y-x muss != 0 sein\r
-double g_AY(double p, double y, double x, double l) {\r
+double slpR::g_AY(double p, double y, double x, double l) {\r
//printf("%.1f | %.1f | %.1f | %.1f +",p,x,y,l);\r
\r
double sol = 0;\r
return sol;\r
}\r
\r
-double G_QY1Y2(double p, double y1, double y2, double x1, double x2, double l) {\r
+double slpR::G_QY1Y2(double p, double y1, double y2, double x1, double x2, double l) {\r
\r
double sol = 0;\r
for (int i = 0; i < 5; ++i) {\r
return sol;\r
}\r
\r
-double G_AY2X2(double y1, double y2, double x1, double x2, double d3) {\r
+double slpR::G_AY2X2(double y1, double y2, double x1, double x2, double d3) {\r
\r
// cout << "(" << y1 << "," << y2 << ")(" << x1 << "," << x2 << ")(" << d3 << ")" << endl;\r
\r
return sol;\r
}\r
\r
-double G_AY1Y2(double p, double y1, double y2, double x1, double x2, double l) {\r
+double slpR::G_AY1Y2(double p, double y1, double y2, double x1, double x2, double l) {\r
// printf("%.1f | %.1f %.1f | %.1f %.1f | %.1f +",p,x1,x2,y1,y2,l);\r
double pt = p + 1.5;\r
double sol = 0;\r
return sol;\r
}\r
\r
-double Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2,\r
+double slpR::Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2,\r
double l) {\r
double sol = 0;\r
\r
return sol;\r
}\r
\r
-double F_par(double x1, double x2, double y1, double y2, double d1, double d2,\r
+double slpR::F_par(double x1, double x2, double y1, double y2, double d1, double d2,\r
double d3) {\r
\r
// printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y1,y2,d1,d2,d3);\r
return sol;\r
}\r
\r
-double F_ort(double x1, double x2, double y2, double y3, double d1, double d2,\r
+double slpR::F_ort(double x1, double x2, double y2, double y3, double d1, double d2,\r
double d3) {\r
\r
// printf("%.1f %.1f | %.1f %.1f | %.1f %.1f %.1f",x1,x2,y2,y3,d1,d2,d3);\r
\r
}*/\r
\r
-double apply0Int4(\r
+double slpR::apply0Int4(\r
double(*f)(double, double, double, double, double, double, double),\r
double b, double d, double t, double v, double d1, double d2, double d3) {\r
\r
\r
}\r
\r
-double apply0Int2(\r
+double slpR::apply0Int2(\r
double(*f)(double, double, double, double, double, double, double),\r
double b, double d, double t, double v, double d1, double d2, double d3) {\r
\r
}\r
\r
// Berechnet das eigentliche Integral fuer parallele Elemente voll Analytisch\r
-double calcParIntA(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntA(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
return apply0Int4(F_par, b, d, t, v, d1, d2, d3);\r
\r
}\r
\r
-double calcParIntQX1X2(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntQX1X2(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
//Fall 2\r
double sol = 0;\r
\r
}\r
\r
-double calcParIntQY1X1(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntQY1X1(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
//Fall 3\r
double sol = 0;\r
return sol;\r
}\r
\r
-double calcParIntQY1(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntQY1(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
//Fall 4\r
- return apply0Int4(F_par, b, d, t, v, d1, d2, d3); ///ACHTUNG noch Falsch\r
+ return 0; ///ACHTUNG noch Falsch\r
\r
}\r
\r
-double calcOrtIntA(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntA(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
return apply0Int4(F_ort, b, d, t, v, d1, d2, d3);\r
\r
}\r
\r
-double calcOrtIntQX1X2(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntQX1X2(double b, double d, double t, double v, double d1,\r
double d2, double d3) {\r
//Fall 2\r
double sol = 0;\r
\r
}\r
\r
-double calcParIntO0(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntO0(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
return calcParIntA(b,d,t,v,d1,d2,d3);\r
}\r
-double calcOrtIntO0(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntO0(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
return calcOrtIntA(b,d,t,v,d1,d2,d3);\r
}\r
\r
-double calcParIntO1(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntO1(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
//Elmente anordnen\r
return calcParIntA(b, d, t, v, d1, d2, d3);\r
}\r
\r
-double calcOrtIntO1(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntO1(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
//Elmente anordnen\r
return calcOrtIntA(b, d, t, v, d1, d2, d3);\r
}\r
\r
-double calcParIntO2(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntO2(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
//Elmente anordnen\r
\r
}\r
\r
-double calcOrtIntO2(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntO2(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
//Elmente anordnen\r
}\r
}\r
\r
-double calcParIntO3(double b, double d, double t, double v, double d1,\r
+double slpR::calcParIntO3(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
//Achsen vertauschen\r
\r
}\r
\r
-double calcOrtIntO3(double b, double d, double t, double v, double d1,\r
+double slpR::calcOrtIntO3(double b, double d, double t, double v, double d1,\r
double d2, double d3, double eta) {\r
\r
if (max(b, t) * eta > d1) {\r
#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