Changeset 16854


Ignore:
Timestamp:
11/21/13 11:34:37 (11 years ago)
Author:
bdef
Message:

CHG: changing current enum of mask epl active to reflect the nodal caracteristic

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

Legend:

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

    r16853 r16854  
    8585        iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum);
    8686        iomodel->FetchDataToInput(elements,SedimentHeadEnum);
    87         if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveEnum);
     87        if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveNodeEnum);
    8888}/*}}}*/
    8989void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r16850 r16854  
    24072407                                name==HydrologydcEplInitialThicknessEnum ||
    24082408                                name==HydrologydcEplThicknessEnum ||
    2409                                 name==HydrologydcMaskEplactiveEnum ||
     2409                                name==HydrologydcMaskEplactiveNodeEnum ||
    24102410                                name==WaterTransferEnum
    24112411
     
    98459845                A                = material->GetA();
    98469846               
    9847                 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
     9847                GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
    98489848                GetInputListOnVertices(&eplhead[0],EplHeadEnum);
    98499849                GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum);
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r16849 r16854  
    19791979                                name==HydrologydcEplInitialThicknessEnum ||
    19801980                                name==HydrologydcEplThicknessEnum ||
    1981                                 name==HydrologydcMaskEplactiveEnum ||
     1981                                name==HydrologydcMaskEplactiveNodeEnum ||
    19821982                                name==MeshVertexonbedEnum ||
    19831983                                name==WaterTransferEnum ||
     
    66736673                transfer_input->GetInputValue(&transfer,gauss);
    66746674                scalar = Jdet*gauss->weight*(water_load+transfer);
     6675                printf("are we loading: load,%e ,transfer,%e\n",water_load, transfer);
    66756676                if(reCast<bool,IssmDouble>(dt)) scalar = scalar*dt;
    66766677                for(int i=0;i<numnodes;i++) pe->values[i]+=scalar*basis[i];
     
    69536954                case 1:
    69546955
    6955                         GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
     6956                        int analysis_type;
     6957                        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
     6958
     6959                        GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
    69566960                        GetInputListOnVertices(&sed_head[0],SedimentHeadEnum);
    69576961                        GetInputListOnVertices(&epl_head[0],EplHeadEnum);
     
    69636967                        sed_thick = matpar->GetSedimentThickness();
    69646968
    6965                         for(int i=0;i<numdof;i++){
     6969                        printf("Which analyse %i \n",analysis_type);
     6970
     6971                        if(!this->AnyActive()){
     6972
     6973                                //printf("NoneActive\n");
     6974
    69666975                                /*No transfer if the EPL is not active*/
    6967                                 if(activeEpl[i]==0.0){
     6976                                for(int i=0;i<numdof;i++){
    69686977                                        wh_trans=0.0;
     6978                                        /*Assign output pointer*/
     6979                                        transfer->SetValue(doflist[i],wh_trans,INS_VAL);
    69696980                                }
    6970                                 else{
     6981                        }
     6982                        else{
     6983
     6984                                for(int i=0;i<numdof;i++){
    69716985                                        epl_specificstoring[i]=matpar->GetEplSpecificStoring();         
    69726986                                        sedstoring[i]=matpar->GetSedimentStoring();
    6973 
     6987                                       
    69746988                                        /*EPL head higher than sediment head, transfer from the epl to the sediment*/
    69756989                                        if(epl_head[i]>sed_head[i]){
    69766990                                                wh_trans=epl_specificstoring[i]*epl_thickness[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick);                               
    6977 
     6991                                               
    69786992                                                /*No transfer if the sediment head is allready at the maximum*/
    69796993                                                this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]);
     
    69846998                                                wh_trans=sedstoring[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick);                         
    69856999                                        }
     7000                                        /*Assign output pointer*/
     7001                                        transfer->SetValue(doflist[i],wh_trans,INS_VAL);
     7002                                        printf("Computing, %e \n",wh_trans);
    69867003                                }
    6987                                 /*Assign output pointer*/
    6988                                 transfer->SetValue(doflist[i],wh_trans,INS_VAL);
    69897004                        }
    69907005                        break;
     
    70057020        IssmDouble active[numnodes];
    70067021
    7007         GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveEnum);
     7022        GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveNodeEnum);
    70087023
    70097024        for(int i=0;i<numnodes;i++) flag+=active[i];
     
    70347049        IssmDouble  residual[numdof];
    70357050
    7036         GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveEnum);   
     7051        GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum);       
    70377052        GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessEnum); 
    70387053        GetInputListOnVertices(&sedhead[0],SedimentHeadEnum);
     
    71067121                A                = material->GetAbar();
    71077122               
    7108                 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum);
     7123                GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum);
    71097124                GetInputListOnVertices(&eplhead[0],EplHeadEnum);
    71107125                GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum);
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r16817 r16854  
    13521352
    13531353        /*Update Mask*/
    1354         InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveEnum,NodeSIdEnum);
     1354        InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveNodeEnum,NodeSIdEnum);
    13551355        xDelete<IssmDouble>(serial_mask);
    13561356
  • issm/trunk-jpl/src/c/cores/hydrology_core.cpp

    r16755 r16854  
    9494                                if(VerboseSolution()) _printf0_("   saving results \n");
    9595                                if(isefficientlayer){
    96                                         int outputs[7] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum};
    97                                         femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],7);
     96                                        int outputs[8] = {SedimentHeadEnum,SedimentHeadResidualEnum,EplHeadEnum,HydrologydcMaskEplactiveNodeEnum,EplHeadSlopeXEnum,EplHeadSlopeYEnum,HydrologydcEplThicknessEnum,WaterTransferEnum};
     97                                        femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],8);
    9898                                }
    9999                                else{
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp

    r16817 r16854  
    5252
    5353        /*Retrieve inputs as the initial state for the non linear iteration*/
    54         //femmodel->SetCurrentConfiguration(HydrologyDCInefficientAnalysisEnum);
    5554        GetSolutionFromInputsx(&ug_sed,femmodel);
    5655
     
    7877                femmodel->parameters->SetParam(HydrologySedimentEnum,HydrologyLayerEnum);
    7978
     79                /*Reset constraint on the ZigZag Lock*/
     80                ResetConstraintsx(femmodel);
     81               
    8082                /*Iteration on the sediment layer*/
    8183                sedconverged=false;
     
    99101                                if(num_unstable_constraints==0) sedconverged = true;
    100102                                if (sedcount>=hydro_maxiter){
    101                                         /*Hacking to get the results of non converged runs*/
    102                                         //                                      sedconverged = true;
    103103                                        _error_("   maximum number of Sediment iterations (" << hydro_maxiter << ") exceeded");
    104104                                }
     
    124124                        femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum);
    125125
    126                         /*Reset constraint on the ZigZag Lock*/
    127                         ResetConstraintsx(femmodel);
    128126                        /*Iteration on the EPL layer*/
    129127                        eplconverged = false;
Note: See TracChangeset for help on using the changeset viewer.