Bugfix: Wrong xi/eta/zeta coordinate for volumetric boundary terms

This commit is contained in:
Kjetil Andre Johannessen 2016-04-19 11:53:12 +02:00 committed by Knut Morten Okstad
parent 38931cf0c2
commit fd3b040348
2 changed files with 12 additions and 12 deletions

View File

@ -2337,25 +2337,25 @@ bool ASMs3D::integrate (Integrand& integrand, int lIndex,
// of current integration point
switch (abs(faceDir))
{
case 1: k2 = i+1; k3 = j+1; k1 = 0; break;
case 2: k1 = i+1; k3 = j+1; k2 = 0; break;
case 3: k1 = i+1; k2 = j+1; k3 = 0; break;
case 1: k2 = i; k3 = j; k1 = 0; break;
case 2: k1 = i; k3 = j; k2 = 0; break;
case 3: k1 = i; k2 = j; k3 = 0; break;
default: k1 = k2 = k3 = 0;
}
if (gpar[0].size() > 1)
{
fe.xi = xg[k1];
fe.u = gpar[0](k1,i1-p1+1);
fe.u = gpar[0](k1+1,i1-p1+1);
}
if (gpar[1].size() > 1)
{
fe.eta = xg[k2];
fe.v = gpar[1](k2,i2-p2+1);
fe.v = gpar[1](k2+1,i2-p2+1);
}
if (gpar[2].size() > 1)
{
fe.zeta = xg[k3];
fe.w = gpar[2](k3,i3-p3+1);
fe.w = gpar[2](k3+1,i3-p3+1);
}
// Fetch basis function derivatives at current integration point

View File

@ -758,25 +758,25 @@ bool ASMs3Dmx::integrate (Integrand& integrand, int lIndex,
// of current integration point
switch (abs(faceDir))
{
case 1: k2 = i+1; k3 = j+1; k1 = 0; break;
case 2: k1 = i+1; k3 = j+1; k2 = 0; break;
case 3: k1 = i+1; k2 = j+1; k3 = 0; break;
case 1: k2 = i; k3 = j; k1 = 0; break;
case 2: k1 = i; k3 = j; k2 = 0; break;
case 3: k1 = i; k2 = j; k3 = 0; break;
default: k1 = k2 = k3 = 0;
}
if (gpar[0].size() > 1)
{
fe.xi = xg[k1];
fe.u = gpar[0](k1,i1-p1+1);
fe.u = gpar[0](k1+1,i1-p1+1);
}
if (gpar[1].size() > 1)
{
fe.eta = xg[k2];
fe.v = gpar[1](k2,i2-p2+1);
fe.v = gpar[1](k2+1,i2-p2+1);
}
if (gpar[2].size() > 1)
{
fe.zeta = xg[k3];
fe.w = gpar[2](k3,i3-p3+1);
fe.w = gpar[2](k3+1,i3-p3+1);
}
// Fetch basis function derivatives at current integration point