Changeset 18689
- Timestamp:
- 10/27/14 11:48:31 (10 years ago)
- Location:
- issm/trunk-jpl/src/c/analyses
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r18645 r18689 140 140 return NULL; 141 141 } 142 142 143 /* Intermediaries */ 143 144 IssmDouble D_scalar,Jdet,dt; … … 197 198 /*Transfer EPL part*/ 198 199 transfer=GetHydrologyKMatrixTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input); 199 D_scalar=transfer*gauss->weight*Jdet *dt;200 D_scalar=transfer*gauss->weight*Jdet; 200 201 TripleMultiply(basis,numnodes,1,0, 201 202 &D_scalar,1,1,0, … … 292 293 /*Dealing with the epl part of the transfer term*/ 293 294 transfer=GetHydrologyPVectorTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input); 294 scalar = Jdet*gauss->weight*((water_head*epl_specificstoring*epl_thickness)+(transfer *dt));295 scalar = Jdet*gauss->weight*((water_head*epl_specificstoring*epl_thickness)+(transfer)); 295 296 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 296 297 } … … 422 423 423 424 if(epl_head>sediment_head){ 424 if(sediment_head>=hmax){ 425 transfer=0.0; 426 } 427 else{ 428 transfer=(leakage); 429 } 430 } 431 else{ 425 /* if(sediment_head>=hmax){ */ 426 /* transfer=0.0; */ 427 /* } */ 428 /* else{ */ 429 /* transfer=(leakage); */ 430 /* } */ 431 transfer=leakage*(1/(1+exp(-20.0*(hmax-sediment_head)))); 432 } 433 else{ 432 434 transfer=(leakage); 435 433 436 } 434 437 break; … … 469 472 470 473 if(epl_head>sediment_head){ 471 if(sediment_head>=hmax){ 472 transfer=0.0; 473 } 474 else{ 475 transfer=(sediment_head*leakage); 476 } 477 } 478 else{ 474 /* if(sediment_head>=hmax){ */ 475 /* transfer=0.0; */ 476 /* } */ 477 /* else{ */ 478 /* transfer=(sediment_head*leakage); */ 479 /* } */ 480 transfer=sediment_head*leakage*(1/(1+exp(-20.0*(hmax-sediment_head)))); 481 } 482 else{ 479 483 transfer=(sediment_head*leakage); 480 484 } … … 483 487 _error_("no case higher than 1 for the Transfer method"); 484 488 } 489 485 490 return transfer; 486 491 }/*}}}*/ … … 671 676 /*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/ 672 677 GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]); 678 673 679 if(eplhead[i]>=h_max && active_element){ 680 674 681 for(j=0;j<numnodes;j++){ 675 682 if(old_active[j]>0.){ -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r18645 r18689 241 241 transfer=GetHydrologyKMatrixTransfer(basalelement,gauss,sed_head_input,epl_head_input,thick_input,base_input); 242 242 basalelement->NodalFunctions(&basis[0],gauss); 243 D_scalar=transfer*gauss->weight*Jdet *dt;243 D_scalar=transfer*gauss->weight*Jdet; 244 244 TripleMultiply(basis,numnodes,1,0, 245 245 &D_scalar,1,1,0, … … 345 345 transfer=0.0; 346 346 } 347 scalar = Jdet*gauss->weight*((water_head*sediment_storing)+( dt*transfer));347 scalar = Jdet*gauss->weight*((water_head*sediment_storing)+(transfer)); 348 348 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 349 349 } … … 596 596 597 597 if(epl_head>sediment_head){ 598 if(sediment_head>=hmax){ 599 transfer=0.0; 600 } 601 else{ 602 transfer=(leakage); 603 } 604 } 605 else{ 598 /* if(sediment_head>=hmax){ */ 599 /* transfer=0.0; */ 600 /* } */ 601 /* else{ */ 602 /* transfer=(leakage); */ 603 /* } */ 604 transfer=leakage*(1/(1+exp(-20.0*(hmax-sediment_head)))); 605 } 606 else{ 606 607 transfer=(leakage); 607 608 } … … 639 640 640 641 if(epl_head>sediment_head){ 641 if(sediment_head>=hmax){ 642 transfer=0.0; 643 } 644 else{ 645 transfer=(epl_head*leakage); 646 } 647 } 648 else{ 642 /* if(sediment_head>=hmax){ */ 643 /* transfer=0.0; */ 644 /* } */ 645 /* else{ */ 646 /* transfer=(epl_head*leakage); */ 647 /* } */ 648 transfer=epl_head*leakage*(1/(1+exp(-20.0*(hmax-sediment_head)))); 649 } 650 else{ 649 651 transfer=(epl_head*leakage); 650 652 }
Note:
See TracChangeset
for help on using the changeset viewer.