Changeset 23373
- Timestamp:
- 10/02/18 14:14:02 (6 years ago)
- Location:
- issm/trunk-jpl/src/c/analyses
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r23370 r23373 607 607 //thickness[i] = old_thickness[i]*(1.0+opening-closing)/(1.0-opening+closing); 608 608 609 if(element->nodes[i]->Sid()==2299){610 printf("for node %i \n",element->nodes[i]->Sid());611 printf(" old thickness is %g \n",old_thickness[i]);612 printf(" new thickness is %g \n",thickness[i]);613 }609 //if(element->nodes[i]->Sid()==2299){ 610 // printf("for node %i \n",element->nodes[i]->Sid()); 611 // printf(" old thickness is %g \n",old_thickness[i]); 612 // printf(" new thickness is %g \n",thickness[i]); 613 //} 614 614 /*Take care of otherthikening*/ 615 615 if(thickness[i]>max_thick){ … … 710 710 /* If epl thickness gets under colapse thickness, close the layer */ 711 711 if(epl_thickness[i]<colapse_thick){ 712 if(element->nodes[i]->Sid()==2299){713 printf("masking node %i with thickness %f\n",element->nodes[i]->Sid(),epl_thickness[i]);}712 //if(element->nodes[i]->Sid()==2299){ 713 //printf("masking node %i with thickness %f\n",element->nodes[i]->Sid(),epl_thickness[i]);} 714 714 vec_mask->SetValue(basalelement->nodes[i]->Sid(),0.,INS_VAL); 715 715 recurence->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r23370 r23373 10 10 return 1; 11 11 }/*}}}*/ 12 13 12 void HydrologyDCInefficientAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 14 13 … … 29 28 30 29 /*retrieve some parameters: */ 31 /* bool issmb; */32 /* iomodel->FindConstant(&issmb,"md.transient.issmb"); */30 bool issmb; 31 iomodel->FindConstant(&issmb,"md.transient.issmb"); 33 32 iomodel->FindConstant(&hydrology_model,"md.hydrology.model"); 34 33 … … 65 64 parameters->AddObject(new DoubleParam(HydrologydcSedimentlimitEnum,sedimentlimit)); 66 65 } 67 /* if(!issmb){ */68 /* parameters->AddObject(iomodel->CopyConstantObject("md.smb.model",SmbEnum)); */69 /* } */66 if(!issmb){ 67 parameters->AddObject(iomodel->CopyConstantObject("md.smb.model",SmbEnum)); 68 } 70 69 71 70 /*Requested outputs*/ … … 75 74 iomodel->DeleteData(&requestedoutputs,numoutputs,"md.hydrology.requested_outputs"); 76 75 }/*}}}*/ 77 78 76 void HydrologyDCInefficientAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ 79 77 … … 83 81 /*Fetch data needed: */ 84 82 iomodel->FindConstant(&hydrology_model,"md.hydrology.model"); 85 bool issmb;86 iomodel->FindConstant(&issmb,"md.transient.issmb");87 83 88 84 /*Now, do we really want DC?*/ … … 117 113 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHeadHydrostepEnum); 118 114 } 119 if(!issmb){ 120 iomodel->FetchDataToInput(elements,"md.smb.model",SmbEnum); 121 } 122 123 }/*}}}*/ 124 115 116 }/*}}}*/ 125 117 void HydrologyDCInefficientAnalysis::CreateNodes(Nodes* nodes,IoModel* iomodel){/*{{{*/ 126 118 … … 138 130 iomodel->DeleteData(2,"md.mesh.vertexonbase","md.mesh.vertexonsurface"); 139 131 }/*}}}*/ 140 141 132 void HydrologyDCInefficientAnalysis::CreateConstraints(Constraints* constraints,IoModel* iomodel){/*{{{*/ 142 133 … … 148 139 IoModelToConstraintsx(constraints,iomodel,"md.hydrology.spcsediment_head",HydrologyDCInefficientAnalysisEnum,P1Enum); 149 140 }/*}}}*/ 150 151 141 void HydrologyDCInefficientAnalysis::CreateLoads(Loads* loads, IoModel* iomodel){/*{{{*/ 152 142 … … 183 173 _error_("not implemented"); 184 174 }/*}}}*/ 185 186 175 ElementVector* HydrologyDCInefficientAnalysis::CreateDVector(Element* element){/*{{{*/ 187 176 /*Default, return NULL*/ 188 177 return NULL; 189 178 }/*}}}*/ 190 191 179 ElementMatrix* HydrologyDCInefficientAnalysis::CreateJacobianMatrix(Element* element){/*{{{*/ 192 180 _error_("Not implemented"); 193 181 }/*}}}*/ 194 195 182 ElementMatrix* HydrologyDCInefficientAnalysis::CreateKMatrix(Element* element){/*{{{*/ 196 183 … … 318 305 return Ke; 319 306 }/*}}}*/ 320 321 307 ElementVector* HydrologyDCInefficientAnalysis::CreatePVector(Element* element){/*{{{*/ 322 308 … … 464 450 return pe; 465 451 }/*}}}*/ 466 467 452 void HydrologyDCInefficientAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/ 468 453 /*Compute B matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. … … 492 477 xDelete<IssmDouble>(dbasis); 493 478 }/*}}}*/ 494 495 479 void HydrologyDCInefficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/ 496 480 element->GetSolutionFromInputsOneDof(solution,SedimentHeadHydrostepEnum); 497 481 }/*}}}*/ 498 499 482 void HydrologyDCInefficientAnalysis::GradientJ(Vector<IssmDouble>* gradient,Element* element,int control_type,int control_index){/*{{{*/ 500 483 _error_("Not implemented yet"); 501 484 }/*}}}*/ 502 503 485 void HydrologyDCInefficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/ 504 486 … … 595 577 } 596 578 }/*}}}*/ 597 598 579 void HydrologyDCInefficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ 599 580 /*Default, do nothing*/ 600 581 return; 601 582 }/*}}}*/ 602 603 583 IssmDouble HydrologyDCInefficientAnalysis::SedimentStoring(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input){/*{{{*/ 604 584 int unconf_scheme; … … 640 620 return sediment_storing; 641 621 }/*}}}*/ 642 643 622 IssmDouble HydrologyDCInefficientAnalysis::SedimentTransmitivity(Element* element,Gauss* gauss,Input* sed_head_input, Input* base_input,Input* SedTrans_input){/*{{{*/ 644 623 int unconf_scheme; … … 675 654 return sediment_transmitivity; 676 655 }/*}}}*/ 677 678 656 void HydrologyDCInefficientAnalysis::GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode){/*{{{*/ 679 657 … … 711 689 } 712 690 /*}}}*/ 713 714 691 IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyKMatrixTransfer(Element* element){/*{{{*/ 715 692 … … 733 710 return transfer; 734 711 }/*}}}*/ 735 736 712 IssmDouble HydrologyDCInefficientAnalysis::GetHydrologyPVectorTransfer(Element* element, Gauss* gauss, Input* epl_head_input){/*{{{*/ 737 713 … … 758 734 return transfer; 759 735 }/*}}}*/ 760 761 736 void HydrologyDCInefficientAnalysis::ElementizeEplMask(FemModel* femmodel){/*{{{*/ 762 737 … … 777 752 } 778 753 }/*}}}*/ 779 780 void HydrologyDCInefficientAnalysis::HydrologyIDSGetMask(Vector<IssmDouble>* vec_mask, Element* element){ 754 void HydrologyDCInefficientAnalysis::HydrologyIDSGetMask(Vector<IssmDouble>* vec_mask, Element* element){/*{{{*/ 781 755 bool active_element; 782 756 int domaintype; … … 819 793 xDelete<IssmDouble>(meltingrate); 820 794 xDelete<IssmDouble>(groundedice); 821 } 795 }/*}}}*/ 822 796 void HydrologyDCInefficientAnalysis::ElementizeIdsMask(FemModel* femmodel){/*{{{*/ 823 797 … … 838 812 } 839 813 }/*}}}*/ 840 841 814 void HydrologyDCInefficientAnalysis::HydrologyIdsGetActive(Vector<IssmDouble>* active_vec, Element* element){/*{{{*/ 842 815 /*Constants*/
Note:
See TracChangeset
for help on using the changeset viewer.