source: issm/oecreview/Archive/15392-16133/ISSM-15510-15511.diff

Last change on this file was 16134, checked in by Mathieu Morlighem, 12 years ago

Added Archive/15392-16133

File size: 4.2 KB
  • ../trunk-jpl/src/c/classes/Elements/PentaRef.cpp

     
    13041304                        dbasis[NUMNODESP2xP1*1+11] = .5*(1.+zeta)*(-2.*SQRT3/3.*(gauss->coord1+gauss->coord2));
    13051305                        dbasis[NUMNODESP2xP1*2+11] = 2.*gauss->coord1*gauss->coord2;
    13061306                        return;
     1307                case P2Enum:
     1308                        /*Nodal function 1*/
     1309                        dbasis[NUMNODESP2*0+0 ] = .5*zeta*(1.-zeta)*(-2.*gauss->coord1 + 0.5);
     1310                        dbasis[NUMNODESP2*1+0 ] = .5*zeta*(1.-zeta)*(-2.*SQRT3/3.*gauss->coord1 + SQRT3/6.);
     1311                        dbasis[NUMNODESP2*2+0 ] = .5*(1.-2.*zeta)*gauss->coord1*(2.*gauss->coord1-1.);
     1312                        /*Nodal function 2*/
     1313                        dbasis[NUMNODESP2*0+1 ] = .5*zeta*(1.-zeta)*(+2.*gauss->coord2 - 0.5);
     1314                        dbasis[NUMNODESP2*1+1 ] = .5*zeta*(1.-zeta)*(-2.*SQRT3/3.*gauss->coord2 + SQRT3/6.);
     1315                        dbasis[NUMNODESP2*2+1 ] = .5*(1.-2.*zeta)*gauss->coord2*(2.*gauss->coord2-1.);
     1316                        /*Nodal function 3*/
     1317                        dbasis[NUMNODESP2*0+2 ] = 0.;
     1318                        dbasis[NUMNODESP2*1+2 ] = .5*zeta*(1.-zeta)*(4.*SQRT3/3.*gauss->coord3 - SQRT3/3.);
     1319                        dbasis[NUMNODESP2*2+2 ] = .5*(1.-2.*zeta)*gauss->coord3*(2.*gauss->coord3-1.);
     1320                        /*Nodal function 4*/
     1321                        dbasis[NUMNODESP2*0+3 ] = .5*zeta*(1.+zeta)*(-2.*gauss->coord1 + 0.5);
     1322                        dbasis[NUMNODESP2*1+3 ] = .5*zeta*(1.+zeta)*(-2.*SQRT3/3.*gauss->coord1 + SQRT3/6.);
     1323                        dbasis[NUMNODESP2*2+3 ] = .5*(1.+2.*zeta)*gauss->coord1*(2.*gauss->coord1-1.);
     1324                        /*Nodal function 5*/
     1325                        dbasis[NUMNODESP2*0+4 ] = .5*zeta*(1.+zeta)*(+2.*gauss->coord2 - 0.5);
     1326                        dbasis[NUMNODESP2*1+4 ] = .5*zeta*(1.+zeta)*(-2.*SQRT3/3.*gauss->coord2 + SQRT3/6.);
     1327                        dbasis[NUMNODESP2*2+4 ] = .5*(1.+2.*zeta)*gauss->coord2*(2.*gauss->coord2-1.);
     1328                        /*Nodal function 6*/
     1329                        dbasis[NUMNODESP2*0+5 ] = 0.;
     1330                        dbasis[NUMNODESP2*1+5 ] = .5*zeta*(1.+zeta)*(4.*SQRT3/3.*gauss->coord3 - SQRT3/3.);
     1331                        dbasis[NUMNODESP2*2+5 ] = .5*(1.+2.*zeta)*gauss->coord3*(2.*gauss->coord3-1.);
     1332
     1333                        /*Nodal function 7*/
     1334                        dbasis[NUMNODESP2*0+6 ] = -0.5*(1.-zeta*zeta);
     1335                        dbasis[NUMNODESP2*1+6 ] = -SQRT3/6.*(1.-zeta*zeta);
     1336                        dbasis[NUMNODESP2*2+6 ] = -2.*zeta*gauss->coord1;
     1337                        /*Nodal function 8*/
     1338                        dbasis[NUMNODESP2*0+7 ] = 0.5*(1.-zeta*zeta);
     1339                        dbasis[NUMNODESP2*1+7 ] = -SQRT3/6.*(1.-zeta*zeta);
     1340                        dbasis[NUMNODESP2*2+7 ] = -2.*zeta*gauss->coord2;
     1341                        /*Nodal function 9*/
     1342                        dbasis[NUMNODESP2*0+8 ] = 0.;
     1343                        dbasis[NUMNODESP2*1+8 ] = SQRT3/3.*(1.-zeta*zeta);
     1344                        dbasis[NUMNODESP2*2+8 ] = -2.*zeta*gauss->coord3;
     1345
     1346                        /*Nodal function 10*/
     1347                        dbasis[NUMNODESP2*0+9 ] = zeta*(1.-zeta)*gauss->coord3;
     1348                        dbasis[NUMNODESP2*1+9 ] = .5*zeta*(1.-zeta)*(+4.*SQRT3/3.*gauss->coord2 - 2.*SQRT3/3.*gauss->coord3);
     1349                        dbasis[NUMNODESP2*2+9 ] = 2.*gauss->coord3*gauss->coord2*(1.-2.*zeta);
     1350                        /*Nodal function 11*/
     1351                        dbasis[NUMNODESP2*0+10] = -zeta*(1.-zeta)*gauss->coord3;
     1352                        dbasis[NUMNODESP2*1+10] = .5*zeta*(1.-zeta)*(+4.*SQRT3/3.*gauss->coord1 - 2.*SQRT3/3.*gauss->coord3);
     1353                        dbasis[NUMNODESP2*2+10] = 2.*gauss->coord3*gauss->coord1*(1.-2.*zeta);
     1354                        /*Nodal function 12*/
     1355                        dbasis[NUMNODESP2*0+11] = zeta*(1.-zeta)*(gauss->coord1-gauss->coord2);
     1356                        dbasis[NUMNODESP2*1+11] = .5*zeta*(1.-zeta)*(-2.*SQRT3/3.*(gauss->coord1+gauss->coord2));
     1357                        dbasis[NUMNODESP2*2+11] = 2.*gauss->coord1*gauss->coord2*(1.-2.*zeta);
     1358                        /*Nodal function 13*/
     1359                        dbasis[NUMNODESP2*0+12] = zeta*(1.+zeta)*gauss->coord3;
     1360                        dbasis[NUMNODESP2*1+12] = .5*zeta*(1.+zeta)*(+4.*SQRT3/3.*gauss->coord2 - 2.*SQRT3/3.*gauss->coord3);
     1361                        dbasis[NUMNODESP2*2+12] = 2.*gauss->coord3*gauss->coord2*(1.+2.*zeta);
     1362                        /*Nodal function 14*/
     1363                        dbasis[NUMNODESP2*0+13] = -zeta*(1.+zeta)*gauss->coord3;
     1364                        dbasis[NUMNODESP2*1+13] = .5*zeta*(1.+zeta)*(+4.*SQRT3/3.*gauss->coord1 - 2.*SQRT3/3.*gauss->coord3);
     1365                        dbasis[NUMNODESP2*2+13] = 2.*gauss->coord3*gauss->coord1*(1.+2.*zeta);
     1366                        /*Nodal function 15*/
     1367                        dbasis[NUMNODESP2*0+14] = zeta*(1.+zeta)*(gauss->coord1-gauss->coord2);
     1368                        dbasis[NUMNODESP2*1+14] = .5*zeta*(1.+zeta)*(-2.*SQRT3/3.*(gauss->coord1+gauss->coord2));
     1369                        dbasis[NUMNODESP2*2+14] = 2.*gauss->coord1*gauss->coord2*(1.+2.*zeta);
     1370                        return;
    13071371                default:
    13081372                        _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet");
    13091373        }
Note: See TracBrowser for help on using the repository browser.