Changeset 21476


Ignore:
Timestamp:
01/10/17 08:27:08 (8 years ago)
Author:
bdef
Message:

CHG:Optimizing convergence

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp

    r21468 r21476  
    679679                        }
    680680                }
    681                 /*If mask was already one, keep one or colapse*/
    682                 else if(old_active[i]>0.){
    683                         vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
    684                         /* If epl thickness gets under colapse thickness, close the layer */
    685                         if(epl_thickness[i]<colapse_thick){
    686                                 vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
    687                                 recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
    688                         }
    689                         /*If epl head gets under base elevation, close the layer*/
    690                         else if(eplhead[i]<base[i]){
    691                                 vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
    692                                 recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
    693                         }
    694                 }
    695681                /*Increase of the efficient system is needed if the epl head reach the maximum value (sediment max value for now)*/
    696682                GetHydrologyDCInefficientHmax(&h_max,basalelement,basalelement->nodes[i]);
     
    705691                                }
    706692                        }
     693                }
     694                /*If mask was already one, keep one or colapse*/
     695                else if(old_active[i]>0.){
     696                        vec_mask->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
     697                        /* If epl thickness gets under colapse thickness, close the layer */
     698                        if(epl_thickness[i]<colapse_thick){
     699                                vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL);
     700                                recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL);
     701                        }
     702                        /*If epl head gets under base elevation, close the layer*/
     703                        /* else if(eplhead[i]<(base[i]-1.0e-8)){ */
     704                        /*      vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); */
     705                        /*      recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); */
     706                        /* }*/
    707707                }
    708708        }
     
    760760        base_input->GetInputValue(&base_elev,gauss);
    761761
    762         water_sheet=max(0.0,(prestep_head-base_elev));
     762        //water_sheet=max(0.0,(prestep_head-base_elev));
     763        water_sheet=prestep_head-base_elev;
    763764       
    764765        //epl_transmitivity=epl_conductivity*epl_thickness;
     766        //if (element->Sid()==8)printf("water sheet is %f for Elt %i\n",water_sheet,element->Sid());
    765767        epl_transmitivity=epl_conductivity*min(water_sheet,epl_thickness);
    766768        return epl_transmitivity;
  • issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp

    r21436 r21476  
    525525        sed_head_input->GetInputValue(&prestep_head,gauss);
    526526        water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
     527
    527528        storing=rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity));
    528529        //porosity for unconfined region
     
    550551        SedTrans_input->GetInputValue(&FullLayer_transmitivity,gauss);
    551552        water_sheet=max(0.0,(prestep_head-(base_elev-sediment_thickness)));
     553
    552554        if (water_sheet<=sediment_thickness){
    553555                sediment_transmitivity=FullLayer_transmitivity*water_sheet/sediment_thickness;
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp

    r21468 r21476  
    158158                        femmodel->SetCurrentConfiguration(HydrologyDCEfficientAnalysisEnum);
    159159                        /*updating mask*/
     160                        if(VerboseSolution()) _printf0_("==updating mask...\n");
    160161                        femmodel->HydrologyEPLupdateDomainx(&ThickCount);
    161162                        inefanalysis->ElementizeEplMask(femmodel);
     
    181182                                effanalysis->ComputeEPLThickness(femmodel);
    182183                                //updating mask after the computation of the epl thickness (Allow to close too thin EPL)
    183                                 /* femmodel->HydrologyEPLupdateDomainx(&ThickCount); */
    184                                 /* inefanalysis->ElementizeEplMask(femmodel); */
     184                                femmodel->HydrologyEPLupdateDomainx(&ThickCount);
     185                                inefanalysis->ElementizeEplMask(femmodel);
    185186                                /*}}}*/
    186187                                       
Note: See TracChangeset for help on using the changeset viewer.