Changeset 16864
- Timestamp:
- 11/21/13 15:31:52 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
r16854 r16864 283 283 return rho_freshwater*g*sediment_porosity*sediment_thickness*(water_compressibility+(sediment_compressibility/sediment_porosity)); 284 284 }/*}}}*/ 285 void HydrologyDCInefficientAnalysis::ElementizeEplMask(FemModel* femmodel){/*{{{*/ 286 287 bool element_active; 288 Element* element=NULL; 289 290 for(int i=0;i<femmodel->elements->Size();i++){ 291 element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i)); 292 293 int numvertices = element->GetNumberOfVertices(); 294 Input* node_mask_input = element->GetInput(HydrologydcMaskEplactiveNodeEnum); 295 if(node_mask_input->Max()>0.) element_active = true; 296 else element_active = false; 297 298 element->AddInput(new BoolInput(HydrologydcMaskEplactiveEltEnum,element_active)); 299 } 300 }/*}}}*/ -
issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.h
r16853 r16864 28 28 /*Intermediaries*/ 29 29 IssmDouble SedimentStoring(Element* element); 30 void ElementizeEplMask(FemModel* femmodel); 30 31 }; 31 32 #endif -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r16860 r16864 45 45 virtual void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 46 46 virtual void AddInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 47 virtual void AddInput(Input* input_in)=0; 47 48 virtual void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum)=0; 48 49 virtual ElementMatrix* CreateKMatrix(void)=0; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r16860 r16864 126 126 _assert_(this->inputs); 127 127 this->inputs->AddInput(new PentaInput(input_enum,values,interpolation_enum)); 128 } 129 /*}}}*/ 130 /*FUNCTION Tria::AddInput{{{*/ 131 void Penta::AddInput(Input* input_in){ 132 133 /*Call inputs method*/ 134 _assert_(this->inputs); 135 this->inputs->AddInput(input_in); 128 136 } 129 137 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r16860 r16864 205 205 void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum); 206 206 void AddInput(int input_enum, IssmDouble* values, int interpolation_enum); 207 void AddInput(Input* input_in); 207 208 void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum); 208 209 void NormalBase(IssmDouble* bed_normal, IssmDouble* xyz_list); -
issm/trunk-jpl/src/c/classes/Elements/Seg.h
r16862 r16864 71 71 void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");}; 72 72 void AddInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");}; 73 void AddInput(Input* input_in){_error_("not implemented yet");}; 73 74 void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum){_error_("not implemented yet");}; 74 75 IssmDouble CharacteristicLength(void){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16862 r16864 189 189 _assert_(this->inputs); 190 190 this->inputs->AddInput(new TriaInput(input_enum,values,interpolation_enum)); 191 } 192 /*}}}*/ 193 /*FUNCTION Tria::AddInput{{{*/ 194 void Tria::AddInput(Input* input_in){ 195 196 /*Call inputs method*/ 197 _assert_(this->inputs); 198 this->inputs->AddInput(input_in); 191 199 } 192 200 /*}}}*/ … … 6961 6969 IssmDouble epl_head[numdof],sed_head[numdof]; 6962 6970 6971 Input* active_element=NULL; 6972 6963 6973 GetDofList(&doflist,NoneApproximationEnum,GsetEnum); 6964 6974 … … 6979 6989 int analysis_type; 6980 6990 parameters->FindParam(&analysis_type,AnalysisTypeEnum); 6991 active_element=inputs->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element); 6981 6992 6982 6993 GetInputListOnVertices(&activeEpl[0],HydrologydcMaskEplactiveNodeEnum); … … 6992 7003 // printf("Which analyse %i \n",analysis_type); 6993 7004 6994 if(! this->AnyActive()){7005 if(!active_element){ 6995 7006 6996 7007 //printf("NoneActive\n"); -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r16862 r16864 217 217 void AddBasalInput(int input_enum, IssmDouble* values, int interpolation_enum); 218 218 void AddInput(int input_enum, IssmDouble* values, int interpolation_enum); 219 void AddInput(Input* input_in); 219 220 void AddMaterialInput(int input_enum, IssmDouble* values, int interpolation_enum); 220 221 ElementMatrix* CreateKMatrix(void); -
issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp
r16854 r16864 83 83 sedconverged=false; 84 84 for(;;){ 85 /*Updating Nodal Mask*/ 86 HydrologyDCInefficientAnalysis* analysis = new HydrologyDCInefficientAnalysis(); 87 analysis->ElementizeEplMask(femmodel); 88 delete analysis; 89 85 90 femmodel->HydrologyTransferx(); 86 91 SystemMatricesx(&Kff,&Kfs,&pf,&df,&sediment_kmax,femmodel); … … 143 148 //updating mask after the computation of the epl thickness (Allow to close too thin EPL) 144 149 femmodel->HydrologyEPLupdateDomainx(); 150 /*Updating Nodal Mask*/ 151 HydrologyDCInefficientAnalysis* analysis = new HydrologyDCInefficientAnalysis(); 152 analysis->ElementizeEplMask(femmodel); 153 delete analysis; 145 154 146 155 femmodel->HydrologyTransferx();
Note:
See TracChangeset
for help on using the changeset viewer.