source:
issm/oecreview/Archive/24307-24683/ISSM-24550-24551.diff
Last change on this file was 24684, checked in by , 5 years ago | |
---|---|
File size: 1.8 KB |
-
../trunk-jpl/src/c/classes/Loads/Friction.cpp
378 378 */ 379 379 380 380 /*Intermediaries: */ 381 IssmDouble T,Tpmp,deltaT,deltaTref,pressure ;382 IssmDouble alpha2,time,gamma ;381 IssmDouble T,Tpmp,deltaT,deltaTref,pressure,diff,drag_coefficient; 382 IssmDouble alpha2,time,gamma,ref,alp_new,alphascaled; 383 383 const IssmDouble yts = 365*24*3600.; 384 384 385 385 /*Get viscous part*/ … … 387 387 388 388 /*Get delta Refs*/ 389 389 element->GetInputValue(&deltaTref,gauss,FrictionPressureAdjustedTemperatureEnum); 390 element->GetInputValue(&drag_coefficient, gauss,FrictionCoefficientEnum); 391 /*New*/ 392 /*element->GetInputValue(&deltaTrefsfc,gauss,FrictionSurfaceTemperatureEnum); 393 * element->GetInputValue(&Tpdd,gauss,TemperaturePDDEnum); 394 * */ 390 395 391 396 /*Compute delta T*/ 392 397 element->GetInputValue(&T,gauss,TemperatureEnum); … … 394 399 Tpmp = element->TMeltingPoint(pressure); 395 400 deltaT = T-Tpmp; 396 401 402 397 403 /*Compute gamma*/ 398 404 element->parameters->FindParam(&time,TimeEnum); 399 405 element->parameters->FindParam(&gamma,FrictionGammaEnum); 400 //if(time<25e3*yts){401 // gamma = 10.;402 //}403 //else{404 // gamma = 5.;405 //}406 //gamma = 5.;407 406 408 /*Compute scaling parameter*/409 alp ha2 = alpha2 * exp((deltaTref - deltaT)/(2*gamma));407 ref = exp(deltaTref/gamma); 408 alp_new = ref/exp(deltaT/gamma); 410 409 410 alphascaled = sqrt(alp_new)*drag_coefficient; 411 if (alphascaled > 300) alp_new = (300/drag_coefficient)*(300/drag_coefficient); 412 413 alp_new=alp_new*alpha2; 414 411 415 /*Assign output pointers:*/ 412 *palpha2=alp ha2;416 *palpha2=alp_new; 413 417 }/*}}}*/ 414 418 void Friction::GetAlpha2Viscous(IssmDouble* palpha2, Gauss* gauss){/*{{{*/ 415 419
Note:
See TracBrowser
for help on using the repository browser.