Changeset 27389


Ignore:
Timestamp:
11/14/22 19:55:46 (2 years ago)
Author:
sehrenfe
Message:

CHG: channel conductivity from param to input

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Loads/Channel.cpp

    r27282 r27389  
    366366        /*Intermediaries */
    367367        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;
    369369        IssmDouble  H,h,b,dphi[2],dphids,dphimds,db[2],dbds;
    370370        IssmDouble  xyz_list[NUMVERTICES][3];
     
    386386        IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum);
    387387        IssmDouble g         = element->FindParam(ConstantsGEnum);
    388         IssmDouble kc        = element->FindParam(HydrologyChannelConductivityEnum);
    389388        IssmDouble lc        = element->FindParam(HydrologyChannelSheetWidthEnum);
    390389        IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
    391390
    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);
    399399
    400400        /*Get tangent vector*/
     
    425425                b_input->GetInputValue(&b,gauss);
    426426                H_input->GetInputValue(&H,gauss);
     427
     428                /*Hard code B*/
     429                B = Cuffey(273.15-2);
    427430
    428431                /*Get values for a few potentials*/
     
    499502        IssmDouble  Jdet,v2,Afactor,Bfactor,fFactor;
    500503        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;
    502505        IssmDouble  xyz_list[NUMVERTICES][3];
    503506        IssmDouble  xyz_list_tria[3][3];
     
    519522        IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
    520523
    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);
    528532
    529533        /*Get tangent vector*/
     
    552556                H_input->GetInputValue(&H,gauss);
    553557
     558                /*Hard code B*/
     559                B = Cuffey(273.15-2);
     560               
    554561                /*Get values for a few potentials*/
    555562                phi_0   = rho_water*g*b + rho_ice*g*H;
     
    626633
    627634        /*Intermediaries */
    628         IssmDouble  A,B,n,phi,phi_0,ks,Ngrad;
     635        IssmDouble  A,B,n,phi,phi_0,ks,kc,Ngrad;
    629636        IssmDouble  H,h,b,dphi[2],dphids,dphimds,db[2],dbds;
    630637        IssmDouble  xyz_list[NUMVERTICES][3];
     
    639646        IssmDouble rho_water = element->FindParam(MaterialsRhoFreshwaterEnum);
    640647        IssmDouble g         = element->FindParam(ConstantsGEnum);
    641         IssmDouble kc        = element->FindParam(HydrologyChannelConductivityEnum);
    642648        IssmDouble lc        = element->FindParam(HydrologyChannelSheetWidthEnum);
    643649        IssmDouble c_t       = element->FindParam(HydrologyPressureMeltCoefficientEnum);
    644650        IssmDouble dt        = element->FindParam(TimesteppingTimeStepEnum);
    645651
    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);
    653660
    654661        /*Get tangent vector*/
     
    670677        H_input->GetInputValue(&H,gauss);
    671678
     679        /*Hard code B*/
     680        B = Cuffey(273.15-2);
     681
    672682        /*Get values for a few potentials*/
    673683        phi_0   = rho_water*g*b + rho_ice*g*H;
     
    716726                /*Constrain the cross section to be between 0 and 500 m^2*/
    717727                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.;
    719732
    720733                count++;
Note: See TracChangeset for help on using the changeset viewer.