double inline Gs_AX2Y1Y2(double p, double y1, double y2, double x1, double x2,\r
double l) {\r
double sol = 0;\r
+ mexPrintf("warning: Gs_AX2Y1Y2 nicht implementiert!");\r
+ return sol;\r
+}\r
+\r
+template<double (f)(double, double)>\r
+double Q2(double a, double b) {\r
+ double sol = 0;\r
+\r
+ for (int i = 0; i < GAUSS_SIZE[quad]; ++i) {\r
+ for (int j = 0; j < GAUSS_SIZE[quad]; ++j) {\r
+ sol += f(a * GAUSS_NODES[quad][i].n, b * GAUSS_NODES[quad][j].n) * a\r
+ * b * GAUSS_NODES[quad][i].w * GAUSS_NODES[quad][j].w;\r
+ }\r
+ }\r
+\r
+ return sol;\r
+}\r
+\r
+template<double (f)(double, double, double, double)>\r
+double Q4(double a, double b, double c, double d) {\r
+ //Fall 0\r
+\r
+ double sol = 0;\r
+ int i, j, k, l;\r
+\r
+ for (i = 0; i < GAUSS_SIZE[quad]; ++i) {\r
+ for (j = 0; j < GAUSS_SIZE[quad]; ++j) {\r
+ for (k = 0; k < GAUSS_SIZE[quad]; ++k) {\r
+ for (l = 0; l < GAUSS_SIZE[quad]; ++l) {\r
+ sol += f(a * GAUSS_NODES[quad][i].n,\r
+ b * GAUSS_NODES[quad][j].n,\r
+ c * GAUSS_NODES[quad][k].n,\r
+ d * GAUSS_NODES[quad][l].n) * a * b * c * d\r
+ * GAUSS_NODES[quad][i].w * GAUSS_NODES[quad][j].w\r
+ * GAUSS_NODES[quad][k].w * GAUSS_NODES[quad][l].w;\r
+ }\r
+ }\r
+ }\r
+ }\r
\r
return sol;\r
}\r
\r
}*/\r
\r
+template <double (f)(double, double, double, double, double, double, double)>\r
double inline apply0Int4(\r
- double (*f)(double, double, double, double, double, double, double),\r
double b, double d, double t, double v, double d1, double d2,\r
double d3) {\r
\r
- f(0, 0, 0, v, d1, d2, d3) + f(0, 0, 0, 0, d1, d2, d3);\r
\r
}\r
-\r
+template <double (f)(double, double, double, double, double, double, double)>\r
double inline apply0Int2(\r
- double (*f)(double, double, double, double, double, double, double),\r
double b, double d, double t, double v, double d1, double d2,\r
double d3) {\r
\r
// Berechnet das eigentliche Integral fuer parallele Elemente voll Analytisch\r
double calcParIntA(double b, double d, double t, double v, double d1, double d2,\r
double d3) {\r
- return apply0Int4(F_par, b, d, t, v, d1, d2, d3);\r
+ return apply0Int4<F_par>(b, d, t, v, d1, d2, d3);\r
\r
}\r
\r
}\r
\r
return sol;\r
+// return Q2<>(b,d);\r
\r
}\r
\r
//Fall 4\r
\r
double sol = 0;\r
-\r
+ mexPrintf("warning: calcParIntQY1 nicht implementiert!");\r
return 0; ///ACHTUNG noch Falsch\r
\r
}\r
\r
double calcOrtIntA(double b, double d, double t, double v, double d1, double d2,\r
double d3) {\r
- return apply0Int4(F_ort, b, d, t, v, d1, d2, d3);\r
+ return apply0Int4<F_ort>(b, d, t, v, d1, d2, d3);\r
\r
}\r
\r