Changeset 15505
- Timestamp:
- 07/18/13 11:31:53 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp
r15496 r15505 18 18 #define NUMNODESP1 6 19 19 #define NUMNODESP1_2d 3 20 #define NUMNODESP1b 7 20 #define NUMNODESP1b 7 21 #define NUMNODESP2xP1 12 22 #define NUMNODESP2 15 21 23 22 24 /*Object constructors and destructor*/ … … 1252 1254 dbasis[NUMNODESP1b*2+6] = -54*gauss->coord1*gauss->coord2*gauss->coord3*zeta; 1253 1255 return; 1256 case P2xP1Enum: 1257 /*Nodal function 1*/ 1258 dbasis[NUMNODESP2xP1*0+0 ] = .5*(1.-zeta)*(-2.*gauss->coord1 + 0.5); 1259 dbasis[NUMNODESP2xP1*1+0 ] = .5*(1.-zeta)*(-2.*SQRT3/3.*gauss->coord1 + SQRT3/6.); 1260 dbasis[NUMNODESP2xP1*2+0 ] = -.5*gauss->coord1*(2.*gauss->coord1-1.); 1261 /*Nodal function 2*/ 1262 dbasis[NUMNODESP2xP1*0+1 ] = .5*(1.-zeta)*(+2.*gauss->coord2 - 0.5); 1263 dbasis[NUMNODESP2xP1*1+1 ] = .5*(1.-zeta)*(-2.*SQRT3/3.*gauss->coord2 + SQRT3/6.); 1264 dbasis[NUMNODESP2xP1*2+1 ] = -.5*gauss->coord2*(2.*gauss->coord2-1.); 1265 /*Nodal function 3*/ 1266 dbasis[NUMNODESP2xP1*0+2 ] = 0.; 1267 dbasis[NUMNODESP2xP1*1+2 ] = .5*(1.-zeta)*(4.*SQRT3/3.*gauss->coord3 - SQRT3/3.); 1268 dbasis[NUMNODESP2xP1*2+2 ] = -.5*gauss->coord3*(2.*gauss->coord3-1.); 1269 /*Nodal function 4*/ 1270 dbasis[NUMNODESP2xP1*0+3 ] = .5*(1.+zeta)*(-2.*gauss->coord1 + 0.5); 1271 dbasis[NUMNODESP2xP1*1+3 ] = .5*(1.+zeta)*(-2.*SQRT3/3.*gauss->coord1 + SQRT3/6.); 1272 dbasis[NUMNODESP2xP1*2+3 ] = .5*gauss->coord1*(2.*gauss->coord1-1.); 1273 /*Nodal function 5*/ 1274 dbasis[NUMNODESP2xP1*0+4 ] = .5*(1.+zeta)*(+2.*gauss->coord2 - 0.5); 1275 dbasis[NUMNODESP2xP1*1+4 ] = .5*(1.+zeta)*(-2.*SQRT3/3.*gauss->coord2 + SQRT3/6.); 1276 dbasis[NUMNODESP2xP1*2+4 ] = .5*gauss->coord2*(2.*gauss->coord2-1.); 1277 /*Nodal function 6*/ 1278 dbasis[NUMNODESP2xP1*0+5 ] = 0.; 1279 dbasis[NUMNODESP2xP1*1+5 ] = .5*(1.+zeta)*(4.*SQRT3/3.*gauss->coord3 - SQRT3/3.); 1280 dbasis[NUMNODESP2xP1*2+5 ] = .5*gauss->coord3*(2.*gauss->coord3-1.); 1281 1282 /*Nodal function 7*/ 1283 dbasis[NUMNODESP2xP1*0+6 ] = (1.-zeta)*gauss->coord3; 1284 dbasis[NUMNODESP2xP1*1+6 ] = .5*(1.-zeta)*(+4.*SQRT3/3.*gauss->coord2 - 2.*SQRT3/3.*gauss->coord3); 1285 dbasis[NUMNODESP2xP1*2+6 ] = -2.*gauss->coord3*gauss->coord2; 1286 /*Nodal function 8*/ 1287 dbasis[NUMNODESP2xP1*0+7 ] = -(1.-zeta)*gauss->coord3; 1288 dbasis[NUMNODESP2xP1*1+7 ] = .5*(1.-zeta)*(+4.*SQRT3/3.*gauss->coord1 - 2.*SQRT3/3.*gauss->coord3); 1289 dbasis[NUMNODESP2xP1*2+7 ] = -2.*gauss->coord3*gauss->coord1; 1290 /*Nodal function 9*/ 1291 dbasis[NUMNODESP2xP1*0+8 ] = (1.-zeta)*(gauss->coord1-gauss->coord2); 1292 dbasis[NUMNODESP2xP1*1+8 ] = .5*(1.-zeta)*(-2.*SQRT3/3.*(gauss->coord1+gauss->coord2)); 1293 dbasis[NUMNODESP2xP1*2+8 ] = -2.*gauss->coord1*gauss->coord2; 1294 /*Nodal function 10*/ 1295 dbasis[NUMNODESP2xP1*0+9 ] = (1.+zeta)*gauss->coord3; 1296 dbasis[NUMNODESP2xP1*1+9 ] = .5*(1.+zeta)*(+4.*SQRT3/3.*gauss->coord2 - 2.*SQRT3/3.*gauss->coord3); 1297 dbasis[NUMNODESP2xP1*2+9 ] = 2.*gauss->coord3*gauss->coord2; 1298 /*Nodal function 11*/ 1299 dbasis[NUMNODESP2xP1*0+10] = -(1.+zeta)*gauss->coord3; 1300 dbasis[NUMNODESP2xP1*1+10] = .5*(1.+zeta)*(+4.*SQRT3/3.*gauss->coord1 - 2.*SQRT3/3.*gauss->coord3); 1301 dbasis[NUMNODESP2xP1*2+10] = 2.*gauss->coord3*gauss->coord1; 1302 /*Nodal function 12*/ 1303 dbasis[NUMNODESP2xP1*0+11] = (1.+zeta)*(gauss->coord1-gauss->coord2); 1304 dbasis[NUMNODESP2xP1*1+11] = .5*(1.+zeta)*(-2.*SQRT3/3.*(gauss->coord1+gauss->coord2)); 1305 dbasis[NUMNODESP2xP1*2+11] = 2.*gauss->coord1*gauss->coord2; 1306 return; 1254 1307 default: 1255 1308 _error_("Element type "<<EnumToStringx(this->element_type)<<" not supported yet");
Note:
See TracChangeset
for help on using the changeset viewer.