Changeset 18833
- Timestamp:
- 11/24/14 10:32:57 (10 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Elements
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r18758 r18833 438 438 } 439 439 440 /*Get viscosity*/ 441 material->GetViscosity_B(&dmudB,eps_eff); 442 443 /*Assign output pointer*/ 444 *pdmudB=dmudB; 445 446 } 447 /*}}}*/ 448 void Element::dViscositydBHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/ 449 450 /*Intermediaries*/ 451 IssmDouble dmudB; 452 IssmDouble epsilon3d[5];/* epsilon=[exx,eyy,exy,exy,exz,eyz]; */ 453 IssmDouble epsilon2d[2];/* epsilon=[exx,eyy,exy]; */ 454 IssmDouble eps_eff; 455 IssmDouble eps0=1.e-27; 456 457 if(dim==3){ 458 /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */ 459 this->StrainRateHO(&epsilon3d[0],xyz_list,gauss,vx_input,vy_input); 460 eps_eff = sqrt(epsilon3d[0]*epsilon3d[0] + epsilon3d[1]*epsilon3d[1] + epsilon3d[2]*epsilon3d[2] + epsilon3d[3]*epsilon3d[3] + epsilon3d[4]*epsilon3d[4] + epsilon3d[0]*epsilon3d[1]+eps0*eps0); 461 } 462 else{ 463 /* eps_eff^2 = 1/2 ( exx^2 + eyy^2 + 2*exy^2 )*/ 464 this->StrainRateHO2dvertical(&epsilon2d[0],xyz_list,gauss,vx_input,vy_input); 465 eps_eff = 1./sqrt(2.)*sqrt(epsilon2d[0]*epsilon2d[0] + 2.*epsilon2d[1]*epsilon2d[1] + eps0*eps0); 466 } 467 /*Get viscosity*/ 468 material->GetViscosity_B(&dmudB,eps_eff); 469 470 /*Assign output pointer*/ 471 *pdmudB=dmudB; 472 473 } 474 /*}}}*/ 475 void Element::dViscositydBFS(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/ 476 477 /*Intermediaries*/ 478 IssmDouble dmudB; 479 IssmDouble epsilon3d[6];/* epsilon=[exx,eyy,exy,exy,exz,eyz]; */ 480 IssmDouble epsilon2d[3];/* epsilon=[exx,eyy,exy]; */ 481 IssmDouble eps_eff; 482 IssmDouble eps0=1.e-27; 483 484 if(dim==3){ 485 /* eps_eff^2 = exx^2 + eyy^2 + exy^2 + exz^2 + eyz^2 + exx*eyy */ 486 this->StrainRateFS(&epsilon3d[0],xyz_list,gauss,vx_input,vy_input,vz_input); 487 eps_eff = sqrt(epsilon3d[0]*epsilon3d[0] + epsilon3d[1]*epsilon3d[1] + epsilon3d[3]*epsilon3d[3] + epsilon3d[4]*epsilon3d[4] + epsilon3d[5]*epsilon3d[5] + epsilon3d[0]*epsilon3d[1]+eps0*eps0); 488 } 489 else{ 490 /* eps_eff^2 = 1/2 ( exx^2 + eyy^2 + 2*exy^2 )*/ 491 this->StrainRateSSA(&epsilon2d[0],xyz_list,gauss,vx_input,vy_input); 492 eps_eff = 1./sqrt(2.)*sqrt(epsilon2d[0]*epsilon2d[0] + epsilon2d[1]*epsilon2d[1] + 2.*epsilon2d[2]*epsilon2d[2]); 493 } 440 494 /*Get viscosity*/ 441 495 material->GetViscosity_B(&dmudB,eps_eff); -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r18786 r18833 66 66 void DeleteMaterials(void); 67 67 void dViscositydBSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 68 void dViscositydBHO(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 69 void dViscositydBFS(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input); 68 70 void dViscositydDSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 69 71 IssmDouble Divergence(void);
Note:
See TracChangeset
for help on using the changeset viewer.