Changeset 27389
- Timestamp:
- 11/14/22 19:55:46 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Loads/Channel.cpp
r27282 r27389 366 366 /*Intermediaries */ 367 367 IssmDouble Jdet,v1,qc,fFactor,Afactor,Bfactor,Xifactor; 368 IssmDouble A,B,n,phi_old,phi,phi_0,dPw,ks, Ngrad;368 IssmDouble A,B,n,phi_old,phi,phi_0,dPw,ks,kc,Ngrad; 369 369 IssmDouble H,h,b,dphi[2],dphids,dphimds,db[2],dbds; 370 370 IssmDouble xyz_list[NUMVERTICES][3]; … … 386 386 IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum); 387 387 IssmDouble g = element->FindParam(ConstantsGEnum); 388 IssmDouble kc = element->FindParam(HydrologyChannelConductivityEnum);389 388 IssmDouble lc = element->FindParam(HydrologyChannelSheetWidthEnum); 390 389 IssmDouble c_t = element->FindParam(HydrologyPressureMeltCoefficientEnum); 391 390 392 Input* h_input = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input); 393 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 394 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 395 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 396 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 397 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 398 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 391 Input* h_input = element->GetInput(HydrologySheetThicknessEnum); _assert_(h_input); 392 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 393 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 394 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 395 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 396 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 397 Input* kc_input = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input); 398 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 399 399 400 400 /*Get tangent vector*/ … … 425 425 b_input->GetInputValue(&b,gauss); 426 426 H_input->GetInputValue(&H,gauss); 427 428 /*Hard code B*/ 429 B = Cuffey(273.15-2); 427 430 428 431 /*Get values for a few potentials*/ … … 499 502 IssmDouble Jdet,v2,Afactor,Bfactor,fFactor; 500 503 IssmDouble A,B,n,phi_old,phi,phi_0,dphimds,dphi[2]; 501 IssmDouble H,h,b,db[2],dphids,qc,dPw,ks, Ngrad;504 IssmDouble H,h,b,db[2],dphids,qc,dPw,ks,kc,Ngrad; 502 505 IssmDouble xyz_list[NUMVERTICES][3]; 503 506 IssmDouble xyz_list_tria[3][3]; … … 519 522 IssmDouble c_t = element->FindParam(HydrologyPressureMeltCoefficientEnum); 520 523 521 Input* h_input = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input); 522 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 523 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 524 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 525 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 526 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 527 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 524 Input* h_input = element->GetInput(HydrologySheetThicknessEnum); _assert_(h_input); 525 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 526 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 527 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 528 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 529 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 530 Input* kc_input = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input); 531 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 528 532 529 533 /*Get tangent vector*/ … … 552 556 H_input->GetInputValue(&H,gauss); 553 557 558 /*Hard code B*/ 559 B = Cuffey(273.15-2); 560 554 561 /*Get values for a few potentials*/ 555 562 phi_0 = rho_water*g*b + rho_ice*g*H; … … 626 633 627 634 /*Intermediaries */ 628 IssmDouble A,B,n,phi,phi_0,ks, Ngrad;635 IssmDouble A,B,n,phi,phi_0,ks,kc,Ngrad; 629 636 IssmDouble H,h,b,dphi[2],dphids,dphimds,db[2],dbds; 630 637 IssmDouble xyz_list[NUMVERTICES][3]; … … 639 646 IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum); 640 647 IssmDouble g = element->FindParam(ConstantsGEnum); 641 IssmDouble kc = element->FindParam(HydrologyChannelConductivityEnum);642 648 IssmDouble lc = element->FindParam(HydrologyChannelSheetWidthEnum); 643 649 IssmDouble c_t = element->FindParam(HydrologyPressureMeltCoefficientEnum); 644 650 IssmDouble dt = element->FindParam(TimesteppingTimeStepEnum); 645 651 646 Input* h_input = element->GetInput(HydrologySheetThicknessEnum);_assert_(h_input); 647 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 648 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 649 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 650 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 651 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 652 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 652 Input* h_input = element->GetInput(HydrologySheetThicknessEnum); _assert_(h_input); 653 Input* H_input = element->GetInput(ThicknessEnum); _assert_(H_input); 654 Input* b_input = element->GetInput(BedEnum); _assert_(b_input); 655 Input* B_input = element->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 656 Input* n_input = element->GetInput(MaterialsRheologyNEnum); _assert_(n_input); 657 Input* ks_input = element->GetInput(HydrologySheetConductivityEnum); _assert_(ks_input); 658 Input* kc_input = element->GetInput(HydrologyChannelConductivityEnum); _assert_(kc_input); 659 Input* phi_input = element->GetInput(HydraulicPotentialEnum); _assert_(phi_input); 653 660 654 661 /*Get tangent vector*/ … … 670 677 H_input->GetInputValue(&H,gauss); 671 678 679 /*Hard code B*/ 680 B = Cuffey(273.15-2); 681 672 682 /*Get values for a few potentials*/ 673 683 phi_0 = rho_water*g*b + rho_ice*g*H; … … 716 726 /*Constrain the cross section to be between 0 and 500 m^2*/ 717 727 if(this->S<0.) this->S = 0.; 718 if(this->S>500.) this->S = 500.; 728 if(this->S>100.) this->S = 100.; 729 730 /*Do not allow channels to grow in areas with no sheet thickness*/ 731 if(H<200.) this->S = 0.; 719 732 720 733 count++;
Note:
See TracChangeset
for help on using the changeset viewer.