Changeset 17535
- Timestamp:
- 03/25/14 10:25:44 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 14 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r17528 r17535 3389 3389 int i,tausize,meshtype,dim; 3390 3390 IssmDouble Jdet,r; 3391 IssmDouble epsxx,epsyy,epszz,epsxy,epsxz,epsyz; 3392 IssmDouble sigmapxx,sigmapyy,sigmapzz,sigmapxy,sigmapxz,sigmapyz; 3391 3393 IssmDouble *xyz_list = NULL; 3394 Gauss* gauss = NULL; 3392 3395 3393 3396 /*Get problem dimension*/ … … 3412 3415 if(dim==2) for(i=0;i<vnumnodes;i++) cs_list[i] = XYEnum; 3413 3416 else for(i=0;i<vnumnodes;i++) cs_list[i] = XYZEnum; 3414 for(i=0;i<pnumnodes;i++) cs_list[vnumnodes+i] = PressureEnum;3417 for(i=0;i<pnumnodes;i++) cs_list[vnumnodes+i] = PressureEnum; 3415 3418 3416 3419 /*Initialize vectors*/ 3417 3420 ElementVector* pe = element->NewElementVector(FSvelocityEnum); 3418 IssmDouble* Dstar = xNew<IssmDouble>(tausize*tnumnodes); 3419 IssmDouble* tau = xNew<IssmDouble>(tausize); 3421 IssmDouble* Dstar = xNew<IssmDouble>((dim*vnumnodes)*(tausize*tnumnodes)); 3422 IssmDouble* tau = xNew<IssmDouble>(tausize*tnumnodes); 3423 IssmDouble* d = xNew<IssmDouble>(tausize*tnumnodes); 3420 3424 3421 3425 /*Retrieve all inputs and parameters*/ 3422 3426 element->GetVerticesCoordinates(&xyz_list); 3423 3427 3428 /*Get d and tau*/ 3429 Input* epsxx_input=element->GetInput(StrainRatexxEnum); _assert_(epsxx_input); 3430 Input* epsyy_input=element->GetInput(StrainRateyyEnum); _assert_(epsyy_input); 3431 Input* epsxy_input=element->GetInput(StrainRatexyEnum); _assert_(epsxy_input); 3432 Input* epszz_input=NULL; Input* epsxz_input=NULL; Input* epsyz_input=NULL; 3433 Input* sigmapxx_input=element->GetInput(DeviatoricStressxxEnum); _assert_(sigmapxx_input); 3434 Input* sigmapyy_input=element->GetInput(DeviatoricStressyyEnum); _assert_(sigmapyy_input); 3435 Input* sigmapxy_input=element->GetInput(DeviatoricStressxyEnum); _assert_(sigmapxy_input); 3436 Input* sigmapzz_input=NULL; Input* sigmapxz_input=NULL; Input* sigmapyz_input=NULL; 3437 if(dim==3){ 3438 epszz_input=element->GetInput(StrainRatezzEnum); _assert_(epszz_input); 3439 epsxz_input=element->GetInput(StrainRatexzEnum); _assert_(epsxz_input); 3440 epsyz_input=element->GetInput(StrainRateyzEnum); _assert_(epsyz_input); 3441 sigmapzz_input=element->GetInput(DeviatoricStresszzEnum); _assert_(sigmapzz_input); 3442 sigmapxz_input=element->GetInput(DeviatoricStressxzEnum); _assert_(sigmapxz_input); 3443 sigmapyz_input=element->GetInput(DeviatoricStressyzEnum); _assert_(sigmapyz_input); 3444 } 3445 gauss = element->NewGauss(); 3446 for(int i=0;i<tnumnodes;i++){ 3447 gauss->GaussNode(P1DGEnum,i); 3448 3449 epsxx_input->GetInputValue(&epsxx,gauss); sigmapxx_input->GetInputValue(&sigmapxx,gauss); 3450 epsyy_input->GetInputValue(&epsyy,gauss); sigmapyy_input->GetInputValue(&sigmapyy,gauss); 3451 epsxy_input->GetInputValue(&epsxy,gauss); sigmapxy_input->GetInputValue(&sigmapxy,gauss); 3452 if(dim==2){ 3453 d[i*tausize+0]=epsxx; tau[i*tausize+0]=sigmapxx; 3454 d[i*tausize+1]=epsyy; tau[i*tausize+1]=sigmapyy; 3455 d[i*tausize+2]=epsxy; tau[i*tausize+2]=sigmapxy; 3456 } 3457 else{ 3458 epszz_input->GetInputValue(&epszz,gauss); sigmapzz_input->GetInputValue(&sigmapzz,gauss); 3459 epsxz_input->GetInputValue(&epsxz,gauss); sigmapxz_input->GetInputValue(&sigmapxz,gauss); 3460 epsyz_input->GetInputValue(&epsyz,gauss); sigmapyz_input->GetInputValue(&sigmapyz,gauss); 3461 d[i*tausize+0]=epsxx; tau[i*tausize+0]=sigmapxx; 3462 d[i*tausize+1]=epsyy; tau[i*tausize+1]=sigmapyy; 3463 d[i*tausize+2]=epszz; tau[i*tausize+2]=sigmapzz; 3464 d[i*tausize+3]=epsxy; tau[i*tausize+3]=sigmapxy; 3465 d[i*tausize+4]=epsxz; tau[i*tausize+4]=sigmapxz; 3466 d[i*tausize+5]=epsyz; tau[i*tausize+5]=sigmapyz; 3467 } 3468 } 3469 3424 3470 /* Start looping on the number of gaussian points: */ 3425 Gauss* gauss=element->NewGauss(5); 3471 delete gauss; 3472 gauss=element->NewGauss(5); 3426 3473 for(int ig=gauss->begin();ig<gauss->end();ig++){ 3427 3474 gauss->GaussPoint(ig); 3428 3475 element->JacobianDeterminant(&Jdet,xyz_list,gauss); 3476 3477 /*Create Dstar*/ 3429 3478 _error_("STOP"); 3430 3479 } … … 3437 3486 xDelete<int>(cs_list); 3438 3487 xDelete<IssmDouble>(xyz_list); 3488 xDelete<IssmDouble>(Dstar); 3489 xDelete<IssmDouble>(d); 3490 xDelete<IssmDouble>(tau); 3439 3491 return pe; 3440 3492 }/*}}}*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r17522 r17535 539 539 StressTensoryzEnum, 540 540 StressTensorzzEnum, 541 DeviatoricStressEnum, 542 DeviatoricStressxxEnum, 543 DeviatoricStressxyEnum, 544 DeviatoricStressxzEnum, 545 DeviatoricStressyyEnum, 546 DeviatoricStressyzEnum, 547 DeviatoricStresszzEnum, 548 StrainRateEnum, 549 StrainRatexxEnum, 550 StrainRatexyEnum, 551 StrainRatexzEnum, 552 StrainRateyyEnum, 553 StrainRateyzEnum, 554 StrainRatezzEnum, 541 555 DivergenceEnum, 542 556 GiaCrossSectionShapeEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r17522 r17535 528 528 case StressTensoryzEnum : return "StressTensoryz"; 529 529 case StressTensorzzEnum : return "StressTensorzz"; 530 case DeviatoricStressEnum : return "DeviatoricStress"; 531 case DeviatoricStressxxEnum : return "DeviatoricStressxx"; 532 case DeviatoricStressxyEnum : return "DeviatoricStressxy"; 533 case DeviatoricStressxzEnum : return "DeviatoricStressxz"; 534 case DeviatoricStressyyEnum : return "DeviatoricStressyy"; 535 case DeviatoricStressyzEnum : return "DeviatoricStressyz"; 536 case DeviatoricStresszzEnum : return "DeviatoricStresszz"; 537 case StrainRateEnum : return "StrainRate"; 538 case StrainRatexxEnum : return "StrainRatexx"; 539 case StrainRatexyEnum : return "StrainRatexy"; 540 case StrainRatexzEnum : return "StrainRatexz"; 541 case StrainRateyyEnum : return "StrainRateyy"; 542 case StrainRateyzEnum : return "StrainRateyz"; 543 case StrainRatezzEnum : return "StrainRatezz"; 530 544 case DivergenceEnum : return "Divergence"; 531 545 case GiaCrossSectionShapeEnum : return "GiaCrossSectionShape"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r17522 r17535 540 540 else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum; 541 541 else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum; 542 else if (strcmp(name,"DeviatoricStress")==0) return DeviatoricStressEnum; 543 else if (strcmp(name,"DeviatoricStressxx")==0) return DeviatoricStressxxEnum; 544 else if (strcmp(name,"DeviatoricStressxy")==0) return DeviatoricStressxyEnum; 545 else if (strcmp(name,"DeviatoricStressxz")==0) return DeviatoricStressxzEnum; 546 else if (strcmp(name,"DeviatoricStressyy")==0) return DeviatoricStressyyEnum; 547 else if (strcmp(name,"DeviatoricStressyz")==0) return DeviatoricStressyzEnum; 548 else if (strcmp(name,"DeviatoricStresszz")==0) return DeviatoricStresszzEnum; 549 else if (strcmp(name,"StrainRate")==0) return StrainRateEnum; 550 else if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum; 551 else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum; 552 else if (strcmp(name,"StrainRatexz")==0) return StrainRatexzEnum; 553 else if (strcmp(name,"StrainRateyy")==0) return StrainRateyyEnum; 554 else if (strcmp(name,"StrainRateyz")==0) return StrainRateyzEnum; 555 else if (strcmp(name,"StrainRatezz")==0) return StrainRatezzEnum; 542 556 else if (strcmp(name,"Divergence")==0) return DivergenceEnum; 543 557 else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum; … … 615 629 else if (strcmp(name,"Adjoint")==0) return AdjointEnum; 616 630 else if (strcmp(name,"Colinear")==0) return ColinearEnum; 617 else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum; 618 635 else if (strcmp(name,"Fset")==0) return FsetEnum; 619 636 else if (strcmp(name,"Gradient1")==0) return Gradient1Enum; … … 629 646 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum; 630 647 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 648 else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 635 649 else if (strcmp(name,"LockFileName")==0) return LockFileNameEnum; 636 650 else if (strcmp(name,"ToolkitsOptionsAnalyses")==0) return ToolkitsOptionsAnalysesEnum; -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r17522 r17535 520 520 def StressTensoryzEnum(): return StringToEnum("StressTensoryz")[0] 521 521 def StressTensorzzEnum(): return StringToEnum("StressTensorzz")[0] 522 def DeviatoricStressEnum(): return StringToEnum("DeviatoricStress")[0] 523 def DeviatoricStressxxEnum(): return StringToEnum("DeviatoricStressxx")[0] 524 def DeviatoricStressxyEnum(): return StringToEnum("DeviatoricStressxy")[0] 525 def DeviatoricStressxzEnum(): return StringToEnum("DeviatoricStressxz")[0] 526 def DeviatoricStressyyEnum(): return StringToEnum("DeviatoricStressyy")[0] 527 def DeviatoricStressyzEnum(): return StringToEnum("DeviatoricStressyz")[0] 528 def DeviatoricStresszzEnum(): return StringToEnum("DeviatoricStresszz")[0] 529 def StrainRateEnum(): return StringToEnum("StrainRate")[0] 530 def StrainRatexxEnum(): return StringToEnum("StrainRatexx")[0] 531 def StrainRatexyEnum(): return StringToEnum("StrainRatexy")[0] 532 def StrainRatexzEnum(): return StringToEnum("StrainRatexz")[0] 533 def StrainRateyyEnum(): return StringToEnum("StrainRateyy")[0] 534 def StrainRateyzEnum(): return StringToEnum("StrainRateyz")[0] 535 def StrainRatezzEnum(): return StringToEnum("StrainRatezz")[0] 522 536 def DivergenceEnum(): return StringToEnum("Divergence")[0] 523 537 def GiaCrossSectionShapeEnum(): return StringToEnum("GiaCrossSectionShape")[0]
Note:
See TracChangeset
for help on using the changeset viewer.