Skip to content
Snippets Groups Projects
Commit 861edf26 authored by Norihiro Watanabe's avatar Norihiro Watanabe
Browse files

include Wenqing's comment

parent 76b2fbbe
No related branches found
No related tags found
No related merge requests found
......@@ -22,7 +22,7 @@ GaussLegendreTet<2>::X = {{ {{1./4., 1./4., 1./4.}},
{{1./2., 1./6., 1./6.}},
{{1./6., 1./2., 1./6.}},
{{1./6., 1./6., 1./2.}} }};
double const GaussLegendreTet<2>::W[5] = {-0.133333333333333, 0.075, 0.075, 0.075, 0.075};
double const GaussLegendreTet<2>::W[5] = {-2./15., 0.075, 0.075, 0.075, 0.075};
const std::array<std::array<double, 3>, GaussLegendreTet<3>::NPoints>
GaussLegendreTet<3>::X = {{ {{1./2., 1./2., 1./2.}},
......
......@@ -26,13 +26,10 @@ inline double dShapeFunctionHexHQ_Corner(const double r, const double s, const d
{
case 0:
return 0.125 * (1 + s) * (1 + t) * (2.0 * r + s + t - 1.0);
break;
case 1:
return 0.125 * (1 + t) * (1 + r) * (2.0 * s + r + t - 1.0);
break;
case 2:
return 0.125 * (1 + r) * (1 + s) * (2.0 * t + s + r - 1.0);
break;
}
return 0.0;
}
......@@ -43,13 +40,10 @@ inline double dShapeFunctionHexHQ_Middle(const double r, const double s, const d
{
case 0:
return -0.5 * r * (1 + s) * (1 + t);
break;
case 1:
return 0.25 * (1 - r * r) * (1 + t);
break;
case 2:
return 0.25 * (1 - r * r) * (1 + s);
break;
}
return 0.0;
}
......
......@@ -32,25 +32,25 @@ void ShapePrism6::computeGradShapeFunction(const T_X &x, T_N &dN)
double t = x[2];
// dN/dL1
dN[0] = -0.5 * (1.0 - t);
dN[1] = 0.5 * (1.0 - t);
dN[1] = -dN[0];
dN[2] = 0.0;
dN[3] = -0.5 * (1.0 + t);
dN[4] = 0.5 * (1.0 + t);
dN[4] = -dN[3];
dN[5] = 0.0;
// dN/dL2
dN[6] = -0.5 * (1.0 - t);
dN[6] = dN[0];
dN[7] = 0.0;
dN[8] = 0.5 * (1.0 - t);
dN[9] = -0.5 * (1.0 + t);
dN[8] = -dN[0];
dN[9] = dN[3];
dN[10] = 0.0;
dN[11] = 0.5 * (1.0 + t);
dN[11] = -dN[3];
// dN/dt
dN[12] = -0.5 * (1.0 - L1 - L2);
dN[13] = -0.5 * L1;
dN[14] = -0.5 * L2;
dN[15] = 0.5 * (1.0 - L1 - L2);
dN[16] = 0.5 * L1;
dN[17] = 0.5 * L2;
dN[15] = -dN[12];
dN[16] = -dN[13];
dN[17] = -dN[14];
}
}
......
......@@ -49,9 +49,9 @@ void ShapePyra13::computeGradShapeFunction(const T_X &x, T_N &dN)
dN[7] = -0.25 * r * (1.0 + s) * (1.0 - t) * (2.0 - s - s * t);
dN[8] = -0.125 * (1.0 - s * s) * (1.0 - t) * (1.0 + 2.0 * r - t + 2 * r * t);
dN[9] = -0.25 * (1.0 - s) * (1.0 - t * t);
dN[10] = 0.25 * (1.0 - s) * (1.0 - t * t);
dN[10] = -dN[9];
dN[11] = 0.25 * (1.0 + s) * (1.0 - t * t);
dN[12] = -0.25 * (1.0 + s) * (1.0 - t * t);
dN[12] = -dN[11];
//---dN/ds
dN[13] = 0.0625 * (1.0 - r) * (1.0 - t) * (1.0 + r + 6.0 * s + 4.0 * r * s + t - r * t + 2.0 * s * t + 4.0 * r * s * t);
......@@ -65,8 +65,8 @@ void ShapePyra13::computeGradShapeFunction(const T_X &x, T_N &dN)
dN[21] = -0.25 * (1.0 - r) * s * (1.0 - t) * (2.0 + r + r * t);
dN[22] = -0.25 * (1.0 - r) * (1.0 - t * t);
dN[23] = -0.25 * (1.0 + r) * (1.0 - t * t);
dN[24] = 0.25 * (1.0 + r) * (1.0 - t * t);
dN[25] = 0.25 * (1.0 - r) * (1.0 - t * t);
dN[24] = -dN[23];
dN[25] = -dN[22];
//---dN/dt
dN[26] = 0.125 * (1.0 - r) * (1.0 - s) * (1.0 + r + s + 2.0 * t + r * t + s * t + 2.0 * r * s * t);
......
......@@ -32,15 +32,15 @@ void ShapePyra5::computeGradShapeFunction(const T_X &x, T_N &dN)
const double t = x[2];
// dN/dL1
dN[0] = -0.125 * (1.0 - s) * (1.0 - t);
dN[1] = 0.125 * (1.0 - s) * (1.0 - t);
dN[1] = -dN[0];
dN[2] = 0.125 * (1.0 + s) * (1.0 - t);
dN[3] = -0.125 * (1.0 + s) * (1.0 - t);
dN[3] = -dN[2];
dN[4] = 0.0;
// dN/dL2
dN[5] = -0.125 * (1.0 - r) * (1.0 - t);
dN[6] = -0.125 * (1.0 + r) * (1.0 - t);
dN[7] = 0.125 * (1.0 + r) * (1.0 - t);
dN[8] = 0.125 * (1.0 - r) * (1.0 - t);
dN[7] = -dN[6];
dN[8] = -dN[5];
dN[9] = 0.0;
// dN/dt
dN[10] = -0.125 * (1.0 - r) * (1.0 - s);
......
......@@ -38,7 +38,7 @@ void ShapeQuad8::computeGradShapeFunction(const T_X &rs, T_N &dNdr)
dNdr[4] = -r * (1 - s);
dNdr[5] = (1 - s * s) * 0.5;
dNdr[6] = -r * (1 + s);
dNdr[7] = -(1 - s * s) * 0.5;
dNdr[7] = -dNdr[5];
//dN/ds
dNdr[8] = (1 - r) * (r + 2 * s) * 0.25;
......@@ -47,7 +47,7 @@ void ShapeQuad8::computeGradShapeFunction(const T_X &rs, T_N &dNdr)
dNdr[11] = -(1 - r) * (r - 2 * s) * 0.25;
dNdr[12] = -(1 - r * r) * 0.5;
dNdr[13] = -(1 + r) * s;
dNdr[14] = (1 - r * r) * 0.5;
dNdr[14] = -dNdr[12];
dNdr[15] = -(1 - r) * s;
}
......
......@@ -30,7 +30,7 @@ void ShapeQuad9::computeGradShapeFunction(const T_X &r, T_N &dNdr)
dNdr[8] = -2.0 * r[0] * (1.0 - r[1] * r[1]);
dNdr[7] = +0.5 * (1.0 - r[1] * r[1]) - 0.5 * dNdr[8];
dNdr[6] = -1.0 * r[0] * (1.0 - r[1]) - 0.5 * dNdr[8];
dNdr[5] = -0.5 * (1.0 - r[1] * r[1]) - 0.5 * dNdr[8];
dNdr[5] = -dNdr[7];
dNdr[4] = -1.0 * r[0] * (1.0 + r[1]) - 0.5 * dNdr[8];
dNdr[3] = +0.25 * (1 - r[1]) - 0.5 * dNdr[6] - 0.5 * dNdr[7] - 0.25 * dNdr[8];
dNdr[2] = -0.25 * (1 - r[1]) - 0.5 * dNdr[5] - 0.5 * dNdr[6] - 0.25 * dNdr[8];
......@@ -41,7 +41,7 @@ void ShapeQuad9::computeGradShapeFunction(const T_X &r, T_N &dNdr)
dNdr[16] = -1.0 * r[1] * (1.0 + r[0]) - 0.5 * dNdr[17];
dNdr[15] = -0.5 * (1.0 - r[0] * r[0]) - 0.5 * dNdr[17];
dNdr[14] = -1.0 * r[1] * (1.0 - r[0]) - 0.5 * dNdr[17];
dNdr[13] = +0.5 * (1 - r[0] * r[0]) - 0.5 * dNdr[17];
dNdr[13] = -dNdr[15];
dNdr[12] = -0.25 * (1 + r[0]) - 0.5 * dNdr[15] - 0.5 * dNdr[16] - 0.25 * dNdr[17];
dNdr[11] = -0.25 * (1 - r[0]) - 0.5 * dNdr[14] - 0.5 * dNdr[15] - 0.25 * dNdr[17];
dNdr[10] = +0.25 * (1 - r[0]) - 0.5 * dNdr[13] - 0.5 * dNdr[14] - 0.25 * dNdr[17];
......
......@@ -25,7 +25,7 @@ template <class T_X, class T_N>
void ShapeTri6::computeGradShapeFunction(const T_X &r, T_N &dNdr)
{
dNdr[0] = 4. * (r[0] + r[1]) - 3.; // dN1/dL1
dNdr[6] = 4. * (r[0] + r[1]) - 3.; // dN1/dL2
dNdr[6] = dNdr[0]; // dN1/dL2
dNdr[1] = 4. * r[0] - 1.; // dN2/dL1
dNdr[7] = 0.; // dN2/dL2
......@@ -37,9 +37,9 @@ void ShapeTri6::computeGradShapeFunction(const T_X &r, T_N &dNdr)
dNdr[9] = -4. * r[0]; // dN4/dL2
dNdr[4] = 4. * r[1]; // dN5/dL1
dNdr[10] = 4. * r[0]; // dN5/dL2
dNdr[10] = -dNdr[9]; // dN5/dL2
dNdr[5] = -4. * r[1]; // dN6/dL1
dNdr[5] = -dNdr[4]; // dN6/dL1
dNdr[11] = 4. * (1 - r[0] - 2. * r[1]); // dN6/dL2
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment