Changeset 17537
- Timestamp:
- 03/25/14 11:39:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17536 r17537 3419 3419 /*Initialize vectors*/ 3420 3420 ElementVector* pe = element->NewElementVector(FSvelocityEnum); 3421 IssmDouble* Dstar = xNew <IssmDouble>((dim*vnumnodes)*(tausize*tnumnodes));3421 IssmDouble* Dstar = xNewZeroInit<IssmDouble>((dim*vnumnodes)*(tausize*tnumnodes)); 3422 3422 IssmDouble* tau = xNew<IssmDouble>(tausize*tnumnodes); 3423 3423 IssmDouble* d = xNew<IssmDouble>(tausize*tnumnodes); … … 3478 3478 3479 3479 /*Create Dstar*/ 3480 /*In dim = 2 3481 * 3482 * <----------------- tausize ---------------> x tnumnodes 3483 * | gamma_ij^x 0 gamma_ij^y | ^ 3484 * Dij = | | dim 3485 * | 0 gamma_ij^y gamma_ij^x | v 3486 * x 3487 * vnumnodes 3488 * 3489 *In dim = 3 3490 * 3491 * | gamma_ij^x 0 0 gamma_ij^y gamma_ij^z 0 | 3492 * | | 3493 * Dij = | 0 gamma_ij^y 0 gamma_ij^x 0 gamma_ij^z | 3494 * | | 3495 * | 0 0 gamma_ij^z 0 gamma_ij^x gamma_ij^y | 3496 * 3497 * gamma_ij^x = zeta_j dphi_i/dx 3498 * 3499 * where: 3500 * - zeta_j is the nodal function for the j^th node of the tensor (P1DG) 3501 * - phi_i is the nodal function for the i^th node of the velocity (P2)*/ 3480 3502 element->NodalFunctionsDerivativesVelocity(vdbasis,xyz_list,gauss); 3481 3503 element->NodalFunctionsTensor(tbasis,gauss); 3482 3483 _error_("STOP"); 3504 if(dim==2){ 3505 for(int i=0;i<vnumnodes;i++){ 3506 for(int j=0;j<tnumnodes;j++){ 3507 Dstar[(i*dim+0)*tausize*tnumnodes + j*tausize+0] = tbasis[j]*vdbasis[0*vnumnodes+i]; 3508 Dstar[(i*dim+0)*tausize*tnumnodes + j*tausize+2] = tbasis[j]*vdbasis[1*vnumnodes+i]; 3509 3510 Dstar[(i*dim+1)*tausize*tnumnodes + j*tausize+1] = tbasis[j]*vdbasis[1*vnumnodes+i]; 3511 Dstar[(i*dim+1)*tausize*tnumnodes + j*tausize+2] = tbasis[j]*vdbasis[0*vnumnodes+i]; 3512 } 3513 } 3514 } 3515 else{ 3516 for(int i=0;i<vnumnodes;i++){ 3517 for(int j=0;j<tnumnodes;j++){ 3518 Dstar[(i*dim+0)*tausize*tnumnodes + j*tausize+0] = tbasis[j]*vdbasis[0*vnumnodes+i]; 3519 Dstar[(i*dim+0)*tausize*tnumnodes + j*tausize+3] = tbasis[j]*vdbasis[1*vnumnodes+i]; 3520 Dstar[(i*dim+0)*tausize*tnumnodes + j*tausize+4] = tbasis[j]*vdbasis[2*vnumnodes+i]; 3521 3522 Dstar[(i*dim+1)*tausize*tnumnodes + j*tausize+1] = tbasis[j]*vdbasis[1*vnumnodes+i]; 3523 Dstar[(i*dim+1)*tausize*tnumnodes + j*tausize+3] = tbasis[j]*vdbasis[0*vnumnodes+i]; 3524 Dstar[(i*dim+1)*tausize*tnumnodes + j*tausize+5] = tbasis[j]*vdbasis[2*vnumnodes+i]; 3525 3526 Dstar[(i*dim+2)*tausize*tnumnodes + j*tausize+2] = tbasis[j]*vdbasis[2*vnumnodes+i]; 3527 Dstar[(i*dim+2)*tausize*tnumnodes + j*tausize+4] = tbasis[j]*vdbasis[0*vnumnodes+i]; 3528 Dstar[(i*dim+2)*tausize*tnumnodes + j*tausize+5] = tbasis[j]*vdbasis[1*vnumnodes+i]; 3529 } 3530 } 3531 } 3484 3532 } 3485 3533
Note:
See TracChangeset
for help on using the changeset viewer.