Changeset 22105
- Timestamp:
- 09/18/17 15:06:27 (8 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
r21983 r22105 105 105 106 106 element->StrainRateHO(&epsilon[0],xyz_list,gauss,vx_input,vy_input); 107 element->material->ViscosityFSDerivativeEpsSquare(&mu_prime,&epsilon[0] );107 element->material->ViscosityFSDerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 108 108 eps1[0]=epsilon[0]; eps2[0]=epsilon[2]; eps3[0]=epsilon[3]; 109 109 eps1[1]=epsilon[2]; eps2[1]=epsilon[1]; eps3[1]=epsilon[4]; … … 179 179 180 180 element->StrainRateHO(&epsilon[0],xyz_list,gauss,vx_input,vy_input); 181 element->material->ViscosityHODerivativeEpsSquare(&mu_prime,&epsilon[0] );181 element->material->ViscosityHODerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 182 182 eps1[0]=2.*epsilon[0]+epsilon[1]; eps2[0]=epsilon[2]; 183 183 eps1[1]=epsilon[2]; eps2[1]=epsilon[0]+2.*epsilon[1]; … … 286 286 thickness_input->GetInputValue(&thickness, gauss); 287 287 basalelement->StrainRateSSA(&epsilon[0],xyz_list,gauss,vx_input,vy_input); 288 basalelement->material->ViscositySSADerivativeEpsSquare(&mu_prime,&epsilon[0] );288 basalelement->material->ViscositySSADerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 289 289 eps1[0]=2.*epsilon[0]+epsilon[1]; eps2[0]=epsilon[2]; 290 290 eps1[1]=epsilon[2]; eps2[1]=epsilon[0]+2*epsilon[1]; -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r22050 r22105 1207 1207 thickness_input->GetInputValue(&thickness, gauss); 1208 1208 basalelement->StrainRateSSA(&epsilon[0],xyz_list,gauss,vx_input,vy_input); 1209 basalelement->material->ViscositySSADerivativeEpsSquare(&mu_prime,&epsilon[0] );1209 basalelement->material->ViscositySSADerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 1210 1210 eps1[0]=2*epsilon[0]+epsilon[1]; eps2[0]=epsilon[2]; 1211 1211 eps1[1]=epsilon[2]; eps2[1]=epsilon[0]+2*epsilon[1]; … … 2268 2268 2269 2269 element->StrainRateHO(&epsilon[0],xyz_list,gauss,vx_input,vy_input); 2270 element->material->ViscosityHODerivativeEpsSquare(&mu_prime,&epsilon[0] );2270 element->material->ViscosityHODerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 2271 2271 eps1[0]=2*epsilon[0]+epsilon[1]; eps2[0]=epsilon[2]; 2272 2272 eps1[1]=epsilon[2]; eps2[1]=epsilon[0]+2*epsilon[1]; … … 2958 2958 eps1[1]=epsilon[2]; eps2[1]=epsilon[1]; eps3[1]=epsilon[4]; 2959 2959 eps1[2]=epsilon[3]; eps2[2]=epsilon[4]; eps3[2]= -epsilon[0] -epsilon[1]; 2960 element->material->ViscosityFSDerivativeEpsSquare(&mu_prime,&epsilon[0] );2960 element->material->ViscosityFSDerivativeEpsSquare(&mu_prime,&epsilon[0],gauss); 2961 2961 2962 2962 for(i=0;i<vnumnodes;i++){ -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r22066 r22105 693 693 switch(materialstype){ 694 694 case MaticeEnum: 695 material->GetViscosity_B(&dmudB,eps_eff );695 material->GetViscosity_B(&dmudB,eps_eff,gauss); 696 696 break; 697 697 case MatestarEnum: … … 730 730 switch(materialstype){ 731 731 case MaticeEnum: 732 material->GetViscosity_B(&dmudB,eps_eff );732 material->GetViscosity_B(&dmudB,eps_eff,gauss); 733 733 break; 734 734 case MatestarEnum: … … 767 767 switch(materialstype){ 768 768 case MaticeEnum: 769 material->GetViscosity_B(&dmudB,eps_eff );769 material->GetViscosity_B(&dmudB,eps_eff,gauss); 770 770 break; 771 771 case MatestarEnum: … … 800 800 801 801 /*Get viscosity*/ 802 material->GetViscosity_D(&dmudB,eps_eff );802 material->GetViscosity_D(&dmudB,eps_eff,gauss); 803 803 804 804 /*Assign output pointer*/ … … 1133 1133 1134 1134 _assert_(this->matpar); 1135 switch(enum_in){ // FIXME: change this to material 1135 switch(enum_in){ // FIXME: change this to material and replace NULL by gauss 1136 1136 case MaterialsRheologyNEnum: 1137 1137 return this->material->GetN(); 1138 1138 case MaterialsRheologyBEnum: 1139 return this->material->GetB( );1139 return this->material->GetB(NULL); 1140 1140 case MaterialsRheologyBbarEnum: 1141 return this->material->GetBbar( );1141 return this->material->GetBbar(NULL); 1142 1142 default: 1143 1143 return this->matpar->GetMaterialParameter(enum_in); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r22077 r22105 622 622 switch(response_enum){ 623 623 case MaterialsRheologyBbarEnum: 624 *presponse=this->material->GetBbar( );624 *presponse=this->material->GetBbar(NULL); 625 625 break; 626 626 case DamageDbarEnum: 627 *presponse=this->material->GetDbar( );627 *presponse=this->material->GetDbar(NULL); 628 628 break; 629 629 case VelEnum: -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r22044 r22105 734 734 switch(response_enum){ 735 735 case MaterialsRheologyBbarEnum: 736 *presponse=this->material->GetBbar( );736 *presponse=this->material->GetBbar(NULL); 737 737 break; 738 738 -
issm/trunk-jpl/src/c/classes/Materials/Material.h
r22010 r22105 27 27 virtual void Configure(Elements* elements)=0; 28 28 virtual Material* copy2(Element* element)=0; 29 virtual IssmDouble GetA( )=0;30 virtual IssmDouble GetAbar( )=0;31 virtual IssmDouble GetB( )=0;32 virtual IssmDouble GetBbar( )=0;33 virtual IssmDouble GetD( )=0;34 virtual IssmDouble GetDbar( )=0;29 virtual IssmDouble GetA(Gauss* gauss)=0; 30 virtual IssmDouble GetAbar(Gauss* gauss)=0; 31 virtual IssmDouble GetB(Gauss* gauss)=0; 32 virtual IssmDouble GetBbar(Gauss* gauss)=0; 33 virtual IssmDouble GetD(Gauss* gauss)=0; 34 virtual IssmDouble GetDbar(Gauss* gauss)=0; 35 35 virtual IssmDouble GetN()=0; 36 virtual void GetViscosity(IssmDouble* pviscosity,IssmDouble epseff )=0;37 virtual void GetViscosityBar(IssmDouble* pviscosity,IssmDouble epseff )=0;38 virtual void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon )=0;39 virtual void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon )=0;40 virtual void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon )=0;41 virtual void GetViscosity_B(IssmDouble* pviscosity,IssmDouble epseff )=0;42 virtual void GetViscosity_D(IssmDouble* pviscosity,IssmDouble epseff )=0;43 virtual void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon )=0;36 virtual void GetViscosity(IssmDouble* pviscosity,IssmDouble epseff,Gauss* gauss)=0; 37 virtual void GetViscosityBar(IssmDouble* pviscosity,IssmDouble epseff,Gauss* gauss)=0; 38 virtual void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss)=0; 39 virtual void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss)=0; 40 virtual void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss)=0; 41 virtual void GetViscosity_B(IssmDouble* pviscosity,IssmDouble epseff,Gauss* gauss)=0; 42 virtual void GetViscosity_D(IssmDouble* pviscosity,IssmDouble epseff,Gauss* gauss)=0; 43 virtual void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss)=0; 44 44 virtual bool IsDamage()=0; 45 45 virtual bool IsEnhanced()=0; … … 47 47 48 48 virtual void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input)=0; 49 virtual void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon )=0;49 virtual void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss)=0; 50 50 virtual void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0; 51 virtual void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon )=0;51 virtual void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss)=0; 52 52 virtual void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf)=0; 53 53 virtual void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input)=0; 54 virtual void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon )=0;54 virtual void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss)=0; 55 55 virtual void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble epseff)=0; 56 56 virtual void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble epseff)=0; -
issm/trunk-jpl/src/c/classes/Materials/Matestar.cpp
r22010 r22105 133 133 } 134 134 /*}}}*/ 135 IssmDouble Matestar::GetA( ){/*{{{*/135 IssmDouble Matestar::GetA(Gauss* gauss){/*{{{*/ 136 136 /* 137 137 * A = 1/B^n … … 146 146 } 147 147 /*}}}*/ 148 IssmDouble Matestar::GetAbar( ){/*{{{*/148 IssmDouble Matestar::GetAbar(Gauss* gauss){/*{{{*/ 149 149 /* 150 150 * A = 1/B^n … … 159 159 } 160 160 /*}}}*/ 161 IssmDouble Matestar::GetB( ){/*{{{*/161 IssmDouble Matestar::GetB(Gauss* gauss){/*{{{*/ 162 162 163 163 /*Output*/ … … 168 168 } 169 169 /*}}}*/ 170 IssmDouble Matestar::GetBbar( ){/*{{{*/170 IssmDouble Matestar::GetBbar(Gauss* gauss){/*{{{*/ 171 171 172 172 /*Output*/ … … 177 177 } 178 178 /*}}}*/ 179 IssmDouble Matestar::GetD( ){/*{{{*/180 _error_("not implemented yet"); 181 } 182 /*}}}*/ 183 IssmDouble Matestar::GetDbar( ){/*{{{*/184 185 _error_("not implemented yet"); 186 } 187 /*}}}*/ 188 IssmDouble Matestar::GetEc( ){/*{{{*/179 IssmDouble Matestar::GetD(Gauss* gauss){/*{{{*/ 180 _error_("not implemented yet"); 181 } 182 /*}}}*/ 183 IssmDouble Matestar::GetDbar(Gauss* gauss){/*{{{*/ 184 185 _error_("not implemented yet"); 186 } 187 /*}}}*/ 188 IssmDouble Matestar::GetEc(Gauss* gauss){/*{{{*/ 189 189 190 190 /*Output*/ … … 195 195 } 196 196 /*}}}*/ 197 IssmDouble Matestar::GetEcbar( ){/*{{{*/197 IssmDouble Matestar::GetEcbar(Gauss* gauss){/*{{{*/ 198 198 199 199 /*Output*/ … … 204 204 } 205 205 /*}}}*/ 206 IssmDouble Matestar::GetEs( ){/*{{{*/206 IssmDouble Matestar::GetEs(Gauss* gauss){/*{{{*/ 207 207 208 208 /*Output*/ … … 213 213 } 214 214 /*}}}*/ 215 IssmDouble Matestar::GetEsbar( ){/*{{{*/215 IssmDouble Matestar::GetEsbar(Gauss* gauss){/*{{{*/ 216 216 217 217 /*Output*/ … … 229 229 } 230 230 /*}}}*/ 231 void Matestar::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff ){/*{{{*/232 _error_("not implemented yet"); 233 } 234 /*}}}*/ 235 void Matestar::GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff ){/*{{{*/236 _error_("not implemented yet"); 237 } 238 /*}}}*/ 239 void Matestar::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon ){/*{{{*/240 _error_("not implemented yet"); 241 } 242 /*}}}*/ 243 void Matestar::GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon ){/*{{{*/244 _error_("not implemented yet"); 245 } 246 /*}}}*/ 247 void Matestar::GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon ){/*{{{*/248 _error_("not implemented yet"); 249 } 250 /*}}}*/ 251 IssmDouble Matestar::GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged ){/*{{{*/231 void Matestar::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 232 _error_("not implemented yet"); 233 } 234 /*}}}*/ 235 void Matestar::GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 236 _error_("not implemented yet"); 237 } 238 /*}}}*/ 239 void Matestar::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 240 _error_("not implemented yet"); 241 } 242 /*}}}*/ 243 void Matestar::GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 244 _error_("not implemented yet"); 245 } 246 /*}}}*/ 247 void Matestar::GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 248 _error_("not implemented yet"); 249 } 250 /*}}}*/ 251 IssmDouble Matestar::GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged,Gauss* gauss){/*{{{*/ 252 252 253 253 /*output: */ … … 279 279 n=GetN(); _assert_(n>0.); 280 280 if (isdepthaveraged==0.){ 281 B=GetB(); _assert_(B>0.); 282 Ec=GetEc(); _assert_(Ec>=0.); 283 Es=GetEs(); _assert_(Es>=0.); 284 } 285 else{ 286 B=GetBbar(); _assert_(B>0.); 287 Ec=GetEcbar(); _assert_(Ec>=0.); 288 Es=GetEsbar(); _assert_(Es>=0.); 281 B=GetB(gauss); _assert_(B>0.); 282 Ec=GetEc(gauss); _assert_(Ec>=0.); Es=GetEs(gauss); _assert_(Es>=0.); 283 } 284 else{ 285 B=GetBbar(gauss); _assert_(B>0.); 286 Ec=GetEcbar(gauss); _assert_(Ec>=0.); 287 Es=GetEsbar(gauss); _assert_(Es>=0.); 289 288 } 290 289 … … 310 309 } 311 310 /*}}}*/ 312 IssmDouble Matestar::GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged ){/*{{{*/311 IssmDouble Matestar::GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged,Gauss* gauss){/*{{{*/ 313 312 314 313 /*Intermediaries*/ … … 337 336 /*Get enhancement*/ 338 337 if (isdepthaveraged==0.){ 339 Ec=GetEc( ); _assert_(Ec>=0.);340 Es=GetEs( ); _assert_(Es>=0.);341 } 342 else{ 343 Ec=GetEcbar( ); _assert_(Ec>=0.);344 Es=GetEsbar( ); _assert_(Es>=0.);338 Ec=GetEc(gauss); _assert_(Ec>=0.); 339 Es=GetEs(gauss); _assert_(Es>=0.); 340 } 341 else{ 342 Ec=GetEcbar(gauss); _assert_(Ec>=0.); 343 Es=GetEsbar(gauss); _assert_(Es>=0.); 345 344 } 346 345 … … 350 349 /*Compute dmudB*/ 351 350 if(eps_eff==0.) dmudB = 0.; 352 else dmudB = 1./(2.*pow(E,1./3.)*pow(eps_eff,2./3.));351 else dmudB = 1./(2.*pow(E,1./3.)*pow(eps_eff,2./3.)); 353 352 354 353 /*Assign output*/ … … 357 356 } 358 357 /*}}}*/ 359 void Matestar::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff ){/*{{{*/358 void Matestar::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 360 359 _error_("not implemented yet"); 361 360 } 362 361 /*}}}*/ 363 void Matestar::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff ){/*{{{*/362 void Matestar::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 364 363 _error_("not implemented yet"); 365 364 } 366 365 /*}}}*/ 367 void Matestar::GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon ){/*{{{*/366 void Matestar::GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 368 367 _error_("not implemented yet"); 369 368 } … … 437 436 438 437 /*Compute dmudB*/ 439 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );438 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 440 439 } 441 440 /*}}}*/ … … 466 465 467 466 /*Compute viscosity*/ 468 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );467 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 469 468 }/*}}}*/ 470 469 void Matestar::ViscosityBSSA(IssmDouble* pdmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble eps_eff){/*{{{*/ … … 496 495 497 496 /*Compute viscosity*/ 498 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );497 *pdmudB=GetViscosity_BGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 499 498 }/*}}}*/ 500 499 void Matestar::ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){/*{{{*/ … … 538 537 539 538 /*Compute viscosity*/ 540 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );541 } 542 /*}}}*/ 543 void Matestar::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/544 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon );539 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 540 } 541 /*}}}*/ 542 void Matestar::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 543 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon,gauss); 545 544 }/*}}}*/ 546 545 void Matestar::ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/ … … 584 583 585 584 /*Compute viscosity*/ 586 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );587 }/*}}}*/ 588 void Matestar::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/585 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 586 }/*}}}*/ 587 void Matestar::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 589 588 _error_("not implemented yet"); 590 589 }/*}}}*/ … … 635 634 636 635 /*Compute viscosity*/ 637 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged );638 }/*}}}*/ 639 void Matestar::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/640 _error_("not implemented yet"); 641 }/*}}}*/ 636 *pviscosity=GetViscosityGeneral(vx,vy,vz,&dvx[0],&dvy[0],&dvz[0],eps_eff,isdepthaveraged,gauss); 637 }/*}}}*/ 638 void Matestar::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 639 _error_("not implemented yet"); 640 }/*}}}*/ -
issm/trunk-jpl/src/c/classes/Materials/Matestar.h
r22010 r22105 56 56 void Configure(Elements* elements); 57 57 Material* copy2(Element* element); 58 void GetViscosity(IssmDouble* pviscosity, IssmDouble eps_eff );59 void GetViscosityBar(IssmDouble* pviscosity, IssmDouble eps_eff );60 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon );61 void GetViscosityDComplement(IssmDouble*, IssmDouble* );62 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon );63 void GetViscosity_B(IssmDouble* pviscosity, IssmDouble eps_eff );64 void GetViscosity_D(IssmDouble* pviscosity, IssmDouble eps_eff );65 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon );66 IssmDouble GetA( );67 IssmDouble GetAbar( );68 IssmDouble GetB( );69 IssmDouble GetBbar( );70 IssmDouble GetD( );71 IssmDouble GetDbar( );72 IssmDouble GetEc( );73 IssmDouble GetEcbar( );74 IssmDouble GetEs( );75 IssmDouble GetEsbar( );58 void GetViscosity(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 59 void GetViscosityBar(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 60 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss); 61 void GetViscosityDComplement(IssmDouble*, IssmDouble*,Gauss* gauss); 62 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss); 63 void GetViscosity_B(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 64 void GetViscosity_D(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 65 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss); 66 IssmDouble GetA(Gauss* gauss); 67 IssmDouble GetAbar(Gauss* gauss); 68 IssmDouble GetB(Gauss* gauss); 69 IssmDouble GetBbar(Gauss* gauss); 70 IssmDouble GetD(Gauss* gauss); 71 IssmDouble GetDbar(Gauss* gauss); 72 IssmDouble GetEc(Gauss* gauss); 73 IssmDouble GetEcbar(Gauss* gauss); 74 IssmDouble GetEs(Gauss* gauss); 75 IssmDouble GetEsbar(Gauss* gauss); 76 76 IssmDouble GetN(); 77 77 bool IsDamage(); … … 81 81 82 82 void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input); 83 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );83 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 84 84 void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 85 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );85 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 86 86 void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf); 87 87 void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 88 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );88 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 89 89 void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble eps_eff); 90 90 void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble eps_eff); 91 91 void ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble eps_eff); 92 92 /*}}}*/ 93 IssmDouble GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged );94 IssmDouble GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged );93 IssmDouble GetViscosityGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged,Gauss* gauss); 94 IssmDouble GetViscosity_BGeneral(IssmDouble vx,IssmDouble vy,IssmDouble vz,IssmDouble* dvx,IssmDouble* dvy,IssmDouble* dvz,IssmDouble eps_eff,bool isdepthaveraged,Gauss* gauss); 95 95 }; 96 96 -
issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
r22010 r22105 193 193 } 194 194 /*}}}*/ 195 IssmDouble Matice::GetA( ){/*{{{*/195 IssmDouble Matice::GetA(Gauss* gauss){/*{{{*/ 196 196 /* 197 197 * A = 1/B^n … … 206 206 } 207 207 /*}}}*/ 208 IssmDouble Matice::GetAbar( ){/*{{{*/208 IssmDouble Matice::GetAbar(Gauss* gauss){/*{{{*/ 209 209 /* 210 210 * A = 1/B^n … … 219 219 } 220 220 /*}}}*/ 221 IssmDouble Matice::GetB( ){/*{{{*/221 IssmDouble Matice::GetB(Gauss* gauss){/*{{{*/ 222 222 223 223 /*Output*/ … … 228 228 } 229 229 /*}}}*/ 230 IssmDouble Matice::GetBbar( ){/*{{{*/230 IssmDouble Matice::GetBbar(Gauss* gauss){/*{{{*/ 231 231 232 232 /*Output*/ … … 237 237 } 238 238 /*}}}*/ 239 IssmDouble Matice::GetD( ){/*{{{*/239 IssmDouble Matice::GetD(Gauss* gauss){/*{{{*/ 240 240 241 241 _assert_(this->isdamaged); … … 246 246 } 247 247 /*}}}*/ 248 IssmDouble Matice::GetDbar( ){/*{{{*/248 IssmDouble Matice::GetDbar(Gauss* gauss){/*{{{*/ 249 249 250 250 _assert_(this->isdamaged); … … 255 255 } 256 256 /*}}}*/ 257 IssmDouble Matice::GetE( ){/*{{{*/257 IssmDouble Matice::GetE(Gauss* gauss){/*{{{*/ 258 258 259 259 _assert_(this->isenhanced); … … 264 264 } 265 265 /*}}}*/ 266 IssmDouble Matice::GetEbar( ){/*{{{*/266 IssmDouble Matice::GetEbar(Gauss* gauss){/*{{{*/ 267 267 268 268 _assert_(this->isenhanced); … … 292 292 } 293 293 /*}}}*/ 294 void Matice::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff ){/*{{{*/294 void Matice::GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 295 295 /*From a string tensor and a material object, return viscosity, using Glen's flow law. 296 296 (1-D) B … … 312 312 313 313 /*Get B and n*/ 314 B=GetB( ); _assert_(B>0.);314 B=GetB(gauss); _assert_(B>0.); 315 315 n=GetN(); _assert_(n>0.); 316 316 if(this->isdamaged){ 317 D=GetD( );317 D=GetD(gauss); 318 318 _assert_(D>=0. && D<1.); 319 319 } 320 320 if(this->isenhanced){ 321 E=GetE( );321 E=GetE(gauss); 322 322 _assert_(E>0.); 323 323 } … … 348 348 } 349 349 /*}}}*/ 350 void Matice::GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff ){/*{{{*/350 void Matice::GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 351 351 /*From a string tensor and a material object, return viscosity, using Glen's flow law. 352 352 (1-D) B … … 368 368 369 369 /*Get B and n*/ 370 B=GetBbar( ); _assert_(B>0.);370 B=GetBbar(gauss); _assert_(B>0.); 371 371 n=GetN(); _assert_(n>0.); 372 372 if(this->isdamaged){ 373 D=GetDbar( );373 D=GetDbar(gauss); 374 374 _assert_(D>=0. && D<1.); 375 375 } 376 376 if(this->isenhanced){ 377 E=GetEbar( );377 E=GetEbar(gauss); 378 378 _assert_(E>0.); 379 379 } … … 403 403 } 404 404 /*}}}*/ 405 void Matice::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon ){/*{{{*/405 void Matice::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 406 406 /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]: 407 407 * … … 426 426 /*Get D and n*/ 427 427 if(this->isdamaged){ 428 D=GetDbar( ); /* GetD()? */428 D=GetDbar(gauss); /* GetD()? */ 429 429 _assert_(D>=0. && D<1.); 430 430 } … … 461 461 } 462 462 /*}}}*/ 463 void Matice::GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon ){/*{{{*/463 void Matice::GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 464 464 /*Return viscosity derivative for control method d(mu)/dD: 465 465 * … … 483 483 484 484 /*Get B and n*/ 485 B=GetBbar( );485 B=GetBbar(gauss); 486 486 n=GetN(); 487 487 … … 516 516 } 517 517 /*}}}*/ 518 void Matice::GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon ){/*{{{*/518 void Matice::GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 519 519 520 520 /*output: */ … … 532 532 else{ 533 533 534 /*Retri ve strain rate components: */534 /*Retrieve strain rate components: */ 535 535 exx=epsilon[0]; 536 536 eyy=epsilon[1]; … … 540 540 eff2 = exx*exx + eyy*eyy + exx*eyy + exy*exy + exz*exz + eyz*eyz; 541 541 542 GetViscosity(&mu,sqrt(eff2) );542 GetViscosity(&mu,sqrt(eff2),gauss); 543 543 n=GetN(); 544 544 mu_prime=(1.-n)/(2.*n) * mu/eff2; … … 549 549 } 550 550 /*}}}*/ 551 void Matice::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff ){/*{{{*/551 void Matice::GetViscosity_B(IssmDouble* pdmudB,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 552 552 553 553 /*output: */ … … 560 560 n=GetN(); _assert_(n>0.); 561 561 if(this->isdamaged){ 562 D=GetD( );562 D=GetD(gauss); 563 563 _assert_(D>=0. && D<1.); 564 564 } 565 565 if(this->isenhanced){ 566 E=GetE( );566 E=GetE(gauss); 567 567 _assert_(E>0.); 568 568 } … … 581 581 } 582 582 /*}}}*/ 583 void Matice::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff ){/*{{{*/583 void Matice::GetViscosity_D(IssmDouble* pdmudD,IssmDouble eps_eff,Gauss* gauss){/*{{{*/ 584 584 585 585 /*output: */ … … 591 591 /*Get B and n*/ 592 592 n=GetN(); _assert_(n>0.); 593 B=GetBbar( );593 B=GetBbar(gauss); 594 594 _assert_(this->isdamaged); 595 595 if(this->isenhanced){ 596 E=GetE( );596 E=GetE(gauss); 597 597 _assert_(E>0.); 598 598 } … … 611 611 } 612 612 /*}}}*/ 613 void Matice::GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon ){/*{{{*/613 void Matice::GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 614 614 615 615 /*output: */ … … 630 630 eff2 = exx*exx + eyy*eyy + exx*eyy + exy*exy ; 631 631 632 GetViscosityBar(&mu,sqrt(eff2) );632 GetViscosityBar(&mu,sqrt(eff2),gauss); 633 633 n=GetN(); 634 634 mu_prime=(1.-n)/(2.*n)*mu/eff2; … … 709 709 710 710 /*Get viscosity*/ 711 this->GetViscosity(&viscosity,eps_eff );711 this->GetViscosity(&viscosity,eps_eff,gauss); 712 712 713 713 /*Assign output pointer*/ … … 715 715 } 716 716 /*}}}*/ 717 void Matice::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/718 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon );717 void Matice::ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 718 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon,gauss); 719 719 }/*}}}*/ 720 720 void Matice::ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){/*{{{*/ … … 738 738 739 739 /*Get viscosity*/ 740 this->GetViscosity(&viscosity,eps_eff );740 this->GetViscosity(&viscosity,eps_eff,gauss); 741 741 _assert_(!xIsNan<IssmDouble>(viscosity)); 742 742 … … 744 744 *pviscosity=viscosity; 745 745 }/*}}}*/ 746 void Matice::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/747 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon );746 void Matice::ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 747 this->GetViscosityDerivativeEpsSquare(pmu_prime,epsilon,gauss); 748 748 }/*}}}*/ 749 749 void Matice::ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surface_input){/*{{{*/ … … 789 789 /*Get A*/ 790 790 _assert_(this->GetN()==3.0); 791 A=this->GetA( );791 A=this->GetA(gauss); 792 792 793 793 /*Solve for tau_perp (http://fr.wikipedia.org/wiki/Méthode_de_Cardan)*/ … … 826 826 827 827 /*Get viscosity*/ 828 this->GetViscosityBar(&viscosity,eps_eff );828 this->GetViscosityBar(&viscosity,eps_eff,gauss); 829 829 830 830 /*Assign output pointer*/ 831 831 *pviscosity=viscosity; 832 832 }/*}}}*/ 833 void Matice::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){/*{{{*/834 this->GetViscosity2dDerivativeEpsSquare(pmu_prime,epsilon );833 void Matice::ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){/*{{{*/ 834 this->GetViscosity2dDerivativeEpsSquare(pmu_prime,epsilon,gauss); 835 835 }/*}}}*/ -
issm/trunk-jpl/src/c/classes/Materials/Matice.h
r22010 r22105 60 60 void Configure(Elements* elements); 61 61 Material* copy2(Element* element); 62 void GetViscosity(IssmDouble* pviscosity, IssmDouble eps_eff );63 void GetViscosityBar(IssmDouble* pviscosity, IssmDouble eps_eff );64 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon );65 void GetViscosityDComplement(IssmDouble*, IssmDouble* );66 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon );67 void GetViscosity_B(IssmDouble* pviscosity, IssmDouble eps_eff );68 void GetViscosity_D(IssmDouble* pviscosity, IssmDouble eps_eff );69 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon );70 IssmDouble GetA( );71 IssmDouble GetAbar( );72 IssmDouble GetB( );73 IssmDouble GetBbar( );74 IssmDouble GetD( );75 IssmDouble GetDbar( );76 IssmDouble GetE( );77 IssmDouble GetEbar( );62 void GetViscosity(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 63 void GetViscosityBar(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 64 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss); 65 void GetViscosityDComplement(IssmDouble*, IssmDouble*,Gauss* gauss); 66 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss); 67 void GetViscosity_B(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 68 void GetViscosity_D(IssmDouble* pviscosity, IssmDouble eps_eff,Gauss* gauss); 69 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss); 70 IssmDouble GetA(Gauss* gauss); 71 IssmDouble GetAbar(Gauss* gauss); 72 IssmDouble GetB(Gauss* gauss); 73 IssmDouble GetBbar(Gauss* gauss); 74 IssmDouble GetD(Gauss* gauss); 75 IssmDouble GetDbar(Gauss* gauss); 76 IssmDouble GetE(Gauss* gauss); 77 IssmDouble GetEbar(Gauss* gauss); 78 78 IssmDouble GetN(); 79 79 bool IsDamage(); … … 83 83 84 84 void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input); 85 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );85 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 86 86 void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 87 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );87 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 88 88 void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf); 89 89 void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input); 90 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon );90 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss); 91 91 void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble eps_eff){_error_("not supported");}; 92 92 void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble eps_eff){_error_("not supported");}; -
issm/trunk-jpl/src/c/classes/Materials/Matlitho.h
r22013 r22105 52 52 Material* copy2(Element* element){_error_("not implemented");}; 53 53 void Configure(Elements* elements); 54 void GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};55 void GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};56 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon ){_error_("not supported");};57 void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon ){_error_("not supported");};58 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon ){_error_("not supported");};59 void GetViscosity_B(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};60 void GetViscosity_D(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};61 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon ){_error_("not supported");};62 IssmDouble GetA( ){_error_("not supported");};63 IssmDouble GetAbar( ){_error_("not supported");};64 IssmDouble GetB( ){_error_("not supported");};65 IssmDouble GetBbar( ){_error_("not supported");};66 IssmDouble GetD( ){_error_("not supported");};67 IssmDouble GetDbar( ){_error_("not supported");};54 void GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 55 void GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 56 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 57 void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 58 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 59 void GetViscosity_B(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 60 void GetViscosity_D(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 61 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 62 IssmDouble GetA(Gauss* gauss){_error_("not supported");}; 63 IssmDouble GetAbar(Gauss* gauss){_error_("not supported");}; 64 IssmDouble GetB(Gauss* gauss){_error_("not supported");}; 65 IssmDouble GetBbar(Gauss* gauss){_error_("not supported");}; 66 IssmDouble GetD(Gauss* gauss){_error_("not supported");}; 67 IssmDouble GetDbar(Gauss* gauss){_error_("not supported");}; 68 68 IssmDouble GetN(){_error_("not supported");}; 69 69 bool IsDamage(){_error_("not supported");}; … … 72 72 73 73 void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not supported");}; 74 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};74 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 75 75 void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");}; 76 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};76 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 77 77 void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf){_error_("not supported");}; 78 78 void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");}; 79 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};79 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 80 80 void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble epseff){_error_("not supported");}; 81 81 void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble epseff){_error_("not supported");}; -
issm/trunk-jpl/src/c/classes/Materials/Matpar.h
r22016 r22105 89 89 Material* copy2(Element* element){_error_("not implemented");}; 90 90 void Configure(Elements* elements); 91 void GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};92 void GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};93 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon ){_error_("not supported");};94 void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon ){_error_("not supported");};95 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon ){_error_("not supported");};96 void GetViscosity_B(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};97 void GetViscosity_D(IssmDouble* pviscosity,IssmDouble eps_eff ){_error_("not supported");};98 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon ){_error_("not supported");};99 IssmDouble GetA( ){_error_("not supported");};100 IssmDouble GetAbar( ){_error_("not supported");};101 IssmDouble GetB( ){_error_("not supported");};102 IssmDouble GetBbar( ){_error_("not supported");};103 IssmDouble GetD( ){_error_("not supported");};104 IssmDouble GetDbar( ){_error_("not supported");};91 void GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 92 void GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 93 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 94 void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 95 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 96 void GetViscosity_B(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 97 void GetViscosity_D(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");}; 98 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");}; 99 IssmDouble GetA(Gauss* gauss){_error_("not supported");}; 100 IssmDouble GetAbar(Gauss* gauss){_error_("not supported");}; 101 IssmDouble GetB(Gauss* gauss){_error_("not supported");}; 102 IssmDouble GetBbar(Gauss* gauss){_error_("not supported");}; 103 IssmDouble GetD(Gauss* gauss){_error_("not supported");}; 104 IssmDouble GetDbar(Gauss* gauss){_error_("not supported");}; 105 105 IssmDouble GetN(){_error_("not supported");}; 106 106 bool IsDamage(){_error_("not supported");}; … … 109 109 110 110 void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input){_error_("not supported");}; 111 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};111 void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 112 112 void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");}; 113 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};113 void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 114 114 void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* surf){_error_("not supported");}; 115 115 void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input){_error_("not supported");}; 116 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon ){_error_("not supported");};116 void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");}; 117 117 void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,Input* vz_input,IssmDouble eps_eff){_error_("not supported");}; 118 118 void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input* vx_input,Input* vy_input,IssmDouble eps_eff){_error_("not supported");};
Note:
See TracChangeset
for help on using the changeset viewer.