Changeset 16854
- Timestamp:
- 11/21/13 11:34:37 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r16853 r16854 85 85 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 86 86 iomodel->FetchDataToInput(elements,SedimentHeadEnum); 87 if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactive Enum);87 if(isefficientlayer)iomodel->FetchDataToInput(elements,HydrologydcMaskEplactiveNodeEnum); 88 88 }/*}}}*/ 89 89 void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r16850 r16854 2407 2407 name==HydrologydcEplInitialThicknessEnum || 2408 2408 name==HydrologydcEplThicknessEnum || 2409 name==HydrologydcMaskEplactive Enum ||2409 name==HydrologydcMaskEplactiveNodeEnum || 2410 2410 name==WaterTransferEnum 2411 2411 … … 9845 9845 A = material->GetA(); 9846 9846 9847 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactive Enum);9847 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum); 9848 9848 GetInputListOnVertices(&eplhead[0],EplHeadEnum); 9849 9849 GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16849 r16854 1979 1979 name==HydrologydcEplInitialThicknessEnum || 1980 1980 name==HydrologydcEplThicknessEnum || 1981 name==HydrologydcMaskEplactive Enum ||1981 name==HydrologydcMaskEplactiveNodeEnum || 1982 1982 name==MeshVertexonbedEnum || 1983 1983 name==WaterTransferEnum || … … 6673 6673 transfer_input->GetInputValue(&transfer,gauss); 6674 6674 scalar = Jdet*gauss->weight*(water_load+transfer); 6675 printf("are we loading: load,%e ,transfer,%e\n",water_load, transfer); 6675 6676 if(reCast<bool,IssmDouble>(dt)) scalar = scalar*dt; 6676 6677 for(int i=0;i<numnodes;i++) pe->values[i]+=scalar*basis[i]; … … 6953 6954 case 1: 6954 6955 6955 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveEnum); 6956 int analysis_type; 6957 parameters->FindParam(&analysis_type,AnalysisTypeEnum); 6958 6959 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum); 6956 6960 GetInputListOnVertices(&sed_head[0],SedimentHeadEnum); 6957 6961 GetInputListOnVertices(&epl_head[0],EplHeadEnum); … … 6963 6967 sed_thick = matpar->GetSedimentThickness(); 6964 6968 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 6966 6975 /*No transfer if the EPL is not active*/ 6967 if(activeEpl[i]==0.0){6976 for(int i=0;i<numdof;i++){ 6968 6977 wh_trans=0.0; 6978 /*Assign output pointer*/ 6979 transfer->SetValue(doflist[i],wh_trans,INS_VAL); 6969 6980 } 6970 else{ 6981 } 6982 else{ 6983 6984 for(int i=0;i<numdof;i++){ 6971 6985 epl_specificstoring[i]=matpar->GetEplSpecificStoring(); 6972 6986 sedstoring[i]=matpar->GetSedimentStoring(); 6973 6987 6974 6988 /*EPL head higher than sediment head, transfer from the epl to the sediment*/ 6975 6989 if(epl_head[i]>sed_head[i]){ 6976 6990 wh_trans=epl_specificstoring[i]*epl_thickness[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick); 6977 6991 6978 6992 /*No transfer if the sediment head is allready at the maximum*/ 6979 6993 this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]); … … 6984 6998 wh_trans=sedstoring[i]*sed_trans*(epl_head[i]-sed_head[i])/(leakage*sed_thick); 6985 6999 } 7000 /*Assign output pointer*/ 7001 transfer->SetValue(doflist[i],wh_trans,INS_VAL); 7002 printf("Computing, %e \n",wh_trans); 6986 7003 } 6987 /*Assign output pointer*/6988 transfer->SetValue(doflist[i],wh_trans,INS_VAL);6989 7004 } 6990 7005 break; … … 7005 7020 IssmDouble active[numnodes]; 7006 7021 7007 GetInputListOnVertices(&active[0],HydrologydcMaskEplactive Enum);7022 GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveNodeEnum); 7008 7023 7009 7024 for(int i=0;i<numnodes;i++) flag+=active[i]; … … 7034 7049 IssmDouble residual[numdof]; 7035 7050 7036 GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactive Enum);7051 GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum); 7037 7052 GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessEnum); 7038 7053 GetInputListOnVertices(&sedhead[0],SedimentHeadEnum); … … 7106 7121 A = material->GetAbar(); 7107 7122 7108 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactive Enum);7123 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum); 7109 7124 GetInputListOnVertices(&eplhead[0],EplHeadEnum); 7110 7125 GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r16817 r16854 1352 1352 1353 1353 /*Update Mask*/ 1354 InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactive Enum,NodeSIdEnum);1354 InputUpdateFromVectorx(this,serial_mask,HydrologydcMaskEplactiveNodeEnum,NodeSIdEnum); 1355 1355 xDelete<IssmDouble>(serial_mask); 1356 1356 -
issm/trunk-jpl/src/c/cores/hydrology_core.cpp
r16755 r16854 94 94 if(VerboseSolution()) _printf0_(" saving results \n"); 95 95 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); 98 98 } 99 99 else{ -
issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
r16817 r16854 52 52 53 53 /*Retrieve inputs as the initial state for the non linear iteration*/ 54 //femmodel->SetCurrentConfiguration(HydrologyDCInefficientAnalysisEnum);55 54 GetSolutionFromInputsx(&ug_sed,femmodel); 56 55 … … 78 77 femmodel->parameters->SetParam(HydrologySedimentEnum,HydrologyLayerEnum); 79 78 79 /*Reset constraint on the ZigZag Lock*/ 80 ResetConstraintsx(femmodel); 81 80 82 /*Iteration on the sediment layer*/ 81 83 sedconverged=false; … … 99 101 if(num_unstable_constraints==0) sedconverged = true; 100 102 if (sedcount>=hydro_maxiter){ 101 /*Hacking to get the results of non converged runs*/102 // sedconverged = true;103 103 _error_(" maximum number of Sediment iterations (" << hydro_maxiter << ") exceeded"); 104 104 } … … 124 124 femmodel->parameters->SetParam(HydrologyEfficientEnum,HydrologyLayerEnum); 125 125 126 /*Reset constraint on the ZigZag Lock*/127 ResetConstraintsx(femmodel);128 126 /*Iteration on the EPL layer*/ 129 127 eplconverged = false;
Note:
See TracChangeset
for help on using the changeset viewer.