Changeset 14562
- Timestamp:
- 04/12/13 12:02:37 (12 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 15 added
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r14555 r14562 79 79 FrictionQEnum, 80 80 GeometryHydrostaticRatioEnum, 81 HydrologyEnum, 82 HydrologyshreveEnum, 81 83 HydrologyshreveCREnum, 82 84 HydrologyshreveKnEnum, … … 86 88 HydrologyshreveSpcwatercolumnEnum, 87 89 HydrologyshreveStabilizationEnum, 90 HydrologydcEnum, 91 SedimentheadEnum, 92 HydrologydcSedimentporosityEnum, 93 HydrologydcSpcsedimentheadEnum, 88 94 IndependentObjectEnum, 89 95 InversionControlParametersEnum, -
issm/trunk-jpl/src/c/Makefile.am
r14540 r14562 446 446 ./modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp\ 447 447 ./modules/ModelProcessorx/Hydrology/CreateLoadsHydrology.cpp \ 448 ./modules/ModelProcessorx/Hydrology/CreateParametersHydrology.cpp \ 448 449 ./solutions/hydrology_core.cpp 449 450 #}}} -
issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
r14555 r14562 24 24 /*FUNCTION Matpar::Matpar(int matpar_mid,IoModel* iomodel){{{*/ 25 25 Matpar::Matpar(int matpar_mid, IoModel* iomodel){ 26 27 int hydrology_model; 28 iomodel->Constant(&hydrology_model,HydrologyEnum); 26 29 27 30 this->mid = matpar_mid; … … 40 43 iomodel->Constant(&this->g,ConstantsGEnum); 41 44 42 iomodel->Constant(&this->hydro_CR,HydrologyshreveCREnum); 43 iomodel->Constant(&this->kn,HydrologyshreveKnEnum); 44 iomodel->Constant(&this->hydro_n,HydrologyshreveNEnum); 45 iomodel->Constant(&this->hydro_p,HydrologyshrevePEnum); 46 iomodel->Constant(&this->hydro_q,HydrologyshreveQEnum); 45 if(hydrology_model==HydrologyshreveEnum){ 46 iomodel->Constant(&this->hydro_CR,HydrologyshreveCREnum); 47 iomodel->Constant(&this->hydro_kn,HydrologyshreveKnEnum); 48 iomodel->Constant(&this->hydro_n,HydrologyshreveNEnum); 49 iomodel->Constant(&this->hydro_p,HydrologyshrevePEnum); 50 iomodel->Constant(&this->hydro_q,HydrologyshreveQEnum); 51 } 52 else if(hydrology_model==HydrologydcEnum){ 53 iomodel->Constant(&this->sediment_porosity,HydrologydcSedimentporosityEnum); 54 } 55 else{ 56 _error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet"); 57 } 58 59 47 60 this->inputs=NULL; /*not used here*/ 48 61 } … … 273 286 } 274 287 /*}}}*/ 275 /*FUNCTION Matpar::Get Kn {{{*/276 IssmDouble Matpar::Get Kn(){277 return kn;288 /*FUNCTION Matpar::GetHydrologyKn {{{*/ 289 IssmDouble Matpar::GetHydrologyKn(){ 290 return hydro_kn; 278 291 } 279 292 /*}}}*/ … … 298 311 } 299 312 /*}}}*/ 313 /*FUNCTION Matpar::GetSedimentPorosity {{{*/ 314 IssmDouble Matpar::GetSedimentPorosity(){ 315 return sediment_porosity; 316 } 317 /*}}}*/ 300 318 /*FUNCTION Matpar::TMeltingPoint {{{*/ 301 319 IssmDouble Matpar::TMeltingPoint(IssmDouble pressure){ -
issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h
r13414 r14562 30 30 IssmDouble g; 31 31 32 /*hydrology : */33 IssmDouble kn;32 /*hydrology Shreve: */ 33 IssmDouble hydro_kn; 34 34 IssmDouble hydro_p; 35 35 IssmDouble hydro_q; 36 36 IssmDouble hydro_CR; 37 37 IssmDouble hydro_n; 38 39 /*hydrology Dual Porous Continuum: */ 40 IssmDouble sediment_porosity; 38 41 39 42 public: … … 95 98 IssmDouble GetMeltingPoint(); 96 99 IssmDouble GetReferenceTemperature(); 97 IssmDouble Get Kn();100 IssmDouble GetHydrologyKn(); 98 101 IssmDouble GetHydrologyP(); 99 102 IssmDouble GetHydrologyQ(); 100 103 IssmDouble GetHydrologyCR(); 101 104 IssmDouble GetHydrologyN(); 105 IssmDouble GetSedimentPorosity(); 102 106 IssmDouble TMeltingPoint(IssmDouble pressure); 103 107 IssmDouble PureIceEnthalpy(IssmDouble pressure); -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r14555 r14562 84 84 case FrictionQEnum : return "FrictionQ"; 85 85 case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio"; 86 case HydrologyshreveCREnum : return "HydrologyCR"; 87 case HydrologyshreveKnEnum : return "HydrologyKn"; 88 case HydrologyshreveNEnum : return "HydrologyN"; 89 case HydrologyshrevePEnum : return "HydrologyP"; 90 case HydrologyshreveQEnum : return "HydrologyQ"; 91 case HydrologyshreveSpcwatercolumnEnum : return "HydrologySpcwatercolumn"; 92 case HydrologyshreveStabilizationEnum : return "HydrologyStabilization"; 86 case HydrologyEnum : return "Hydrology"; 87 case HydrologyshreveEnum : return "Hydrologyshreve"; 88 case HydrologyshreveCREnum : return "HydrologyshreveCR"; 89 case HydrologyshreveKnEnum : return "HydrologyshreveKn"; 90 case HydrologyshreveNEnum : return "HydrologyshreveN"; 91 case HydrologyshrevePEnum : return "HydrologyshreveP"; 92 case HydrologyshreveQEnum : return "HydrologyshreveQ"; 93 case HydrologyshreveSpcwatercolumnEnum : return "HydrologyshreveSpcwatercolumn"; 94 case HydrologyshreveStabilizationEnum : return "HydrologyshreveStabilization"; 95 case HydrologydcEnum : return "Hydrologydc"; 96 case SedimentheadEnum : return "Sedimenthead"; 97 case HydrologydcSedimentporosityEnum : return "HydrologydcSedimentporosity"; 98 case HydrologydcSpcsedimentheadEnum : return "HydrologydcSpcsedimenthead"; 93 99 case IndependentObjectEnum : return "IndependentObject"; 94 100 case InversionControlParametersEnum : return "InversionControlParameters"; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r14555 r14562 27 27 28 28 /*parameters for mass flux: {{{*/ 29 int mass_flux_num_profiles=0;30 bool qmu_mass_flux_present=false;31 bool autodiff_mass_flux_present=false;32 bool mass_flux_present=false;33 IssmDouble ** array=NULL;34 int * mdims_array=NULL;35 int * ndims_array=NULL;36 IssmDouble * temp_matrix=NULL;37 int temp_m,temp_n;38 IssmDouble * matrix=NULL;39 int count;29 int mass_flux_num_profiles = 0; 30 bool qmu_mass_flux_present = false; 31 bool autodiff_mass_flux_present = false; 32 bool mass_flux_present = false; 33 IssmDouble **array = NULL; 34 int *mdims_array = NULL; 35 int *ndims_array = NULL; 36 IssmDouble *temp_matrix = NULL; 37 int temp_m,temp_n; 38 IssmDouble *matrix = NULL; 39 int count; 40 40 /*}}}*/ 41 41 … … 76 76 parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum)); 77 77 parameters->AddObject(iomodel->CopyConstantObject(BalancethicknessStabilizationEnum)); 78 parameters->AddObject(iomodel->CopyConstantObject(HydrologyshreveStabilizationEnum));79 78 parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum)); 80 79 parameters->AddObject(iomodel->CopyConstantObject(ThermalMaxiterEnum)); … … 218 217 /*}}}*/ 219 218 219 /*Solution specific parameters (FIXME: extend to other params)*/ 220 #ifdef _HAVE_HYDROLOGY_ 221 CreateParametersHydrology(¶meters,iomodel,solution_type,analysis_type); 222 #endif 223 220 224 /*Before returning, create parameters in case we are running Qmu or control types runs: */ 221 225 #ifdef _HAVE_CONTROL_ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp
r14555 r14562 15 15 16 16 /*Recover pointer: */ 17 int hydrology_model; 17 18 Constraints* constraints=*pconstraints; 19 20 /*retrieve some parameters: */ 21 iomodel->Constant(&hydrology_model,HydrologyEnum); 18 22 19 23 /*Create constraints if they do not exist yet*/ 20 24 if(!constraints) constraints = new Constraints(); 21 IoModelToConstraintsx(constraints,iomodel,HydrologyshreveSpcwatercolumnEnum,HydrologyAnalysisEnum); 25 26 if(hydrology_model==HydrologyshreveEnum){ 27 IoModelToConstraintsx(constraints,iomodel,HydrologyshreveSpcwatercolumnEnum,HydrologyAnalysisEnum); 28 } 29 else if(hydrology_model==HydrologydcEnum){ 30 IoModelToConstraintsx(constraints,iomodel,HydrologydcSpcsedimentheadEnum,HydrologyAnalysisEnum); 31 } 32 else{ 33 _error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet"); 34 } 22 35 23 36 /*Assign output pointer: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r13622 r14562 16 16 void UpdateElementsHydrology(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 17 17 18 int hydrology_model; 18 19 int numberofelements; 19 20 20 21 /*Fetch data needed: */ 22 iomodel->Constant(&hydrology_model,HydrologyEnum); 21 23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 22 24 iomodel->FetchData(1,MeshElementsEnum); … … 35 37 iomodel->FetchDataToInput(elements,SurfaceEnum); 36 38 iomodel->FetchDataToInput(elements,BedEnum); 37 iomodel->FetchDataToInput(elements,FrictionCoefficientEnum);38 iomodel->FetchDataToInput(elements,FrictionPEnum);39 iomodel->FetchDataToInput(elements,FrictionQEnum);40 39 iomodel->FetchDataToInput(elements,MaskElementonfloatingiceEnum); 41 40 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 42 41 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 43 42 iomodel->FetchDataToInput(elements,MaskElementonwaterEnum); 44 iomodel->FetchDataToInput(elements,FlowequationElementEquationEnum);45 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum);46 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum);47 iomodel->FetchDataToInput(elements,PressureEnum);48 iomodel->FetchDataToInput(elements,TemperatureEnum);49 43 iomodel->FetchDataToInput(elements,BasalforcingsMeltingRateEnum); 50 iomodel->FetchDataToInput(elements,WatercolumnEnum); 51 iomodel->FetchDataToInput(elements,BasalforcingsGeothermalfluxEnum); 52 iomodel->FetchDataToInput(elements,VxEnum); 53 iomodel->FetchDataToInput(elements,VyEnum); 54 iomodel->FetchDataToInput(elements,VzEnum); 55 56 elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum); 44 if(hydrology_model==HydrologyshreveEnum){ 45 iomodel->FetchDataToInput(elements,WatercolumnEnum); 46 elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum); 47 } 48 else if(hydrology_model==HydrologydcEnum){ 49 iomodel->FetchDataToInput(elements,SedimentheadEnum); 50 } 51 else{ 52 _error_("Hydrology model "<<EnumToStringx(hydrology_model)<<" not supported yet"); 53 } 57 54 58 55 /*Free data: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r13622 r14562 49 49 analysis_type=analysis_type_list[i]; 50 50 51 /*Hack for trasient runs ( to be improved)*/51 /*Hack for trasient runs (FIXME: to be improved)*/ 52 52 if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && dim==2) continue; 53 53 if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && dim==2) continue; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.h
r13623 r14562 21 21 void CreateElementsVerticesAndMaterials(Elements** pelements,Vertices** pvertices,Materials** pmaterials, IoModel* iomodel,const int nummodels); 22 22 void CreateParameters(Parameters** pparameters,IoModel* iomodel,char* rootpath,const int solution_type,int analysis_type,int analysis_counter); 23 void CreateParametersAutodiff(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 23 24 void CreateParametersControl(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 24 25 void CreateParametersDakota(Parameters** pparameters,IoModel* iomodel,char* rootpath,int solution_type,int analysis_type); 25 void CreateParameters Autodiff(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type);26 void CreateParametersHydrology(Parameters** pparameters,IoModel* iomodel,int solution_type,int analysis_type); 26 27 void UpdateElementsAndMaterialsControl(Elements* elements,Materials* materials, IoModel* iomodel); 27 28 -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r14555 r14562 85 85 else if (strcmp(name,"FrictionQ")==0) return FrictionQEnum; 86 86 else if (strcmp(name,"GeometryHydrostaticRatio")==0) return GeometryHydrostaticRatioEnum; 87 else if (strcmp(name,"Hydrology")==0) return HydrologyEnum; 88 else if (strcmp(name,"Hydrologyshreve")==0) return HydrologyshreveEnum; 87 89 else if (strcmp(name,"HydrologyshreveCR")==0) return HydrologyshreveCREnum; 88 90 else if (strcmp(name,"HydrologyshreveKn")==0) return HydrologyshreveKnEnum; … … 92 94 else if (strcmp(name,"HydrologyshreveSpcwatercolumn")==0) return HydrologyshreveSpcwatercolumnEnum; 93 95 else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; 96 else if (strcmp(name,"Hydrologydc")==0) return HydrologydcEnum; 97 else if (strcmp(name,"Sedimenthead")==0) return SedimentheadEnum; 98 else if (strcmp(name,"HydrologydcSedimentporosity")==0) return HydrologydcSedimentporosityEnum; 99 else if (strcmp(name,"HydrologydcSpcsedimenthead")==0) return HydrologydcSpcsedimentheadEnum; 94 100 else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum; 95 101 else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum; … … 132 138 else if (strcmp(name,"MaterialsRheologyZ")==0) return MaterialsRheologyZEnum; 133 139 else if (strcmp(name,"MaterialsRheologyZbar")==0) return MaterialsRheologyZbarEnum; 134 else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum; 140 else stage=2; 141 } 142 if(stage==2){ 143 if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum; 135 144 else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum; 136 145 else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum; … … 138 147 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; 139 148 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; 140 else stage=2; 141 } 142 if(stage==2){ 143 if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum; 149 else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum; 144 150 else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum; 145 151 else if (strcmp(name,"MeshEdges")==0) return MeshEdgesEnum; … … 255 261 else if (strcmp(name,"FlaimAnalysis")==0) return FlaimAnalysisEnum; 256 262 else if (strcmp(name,"FlaimSolution")==0) return FlaimSolutionEnum; 257 else if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum; 263 else stage=3; 264 } 265 if(stage==3){ 266 if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum; 258 267 else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum; 259 268 else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum; … … 261 270 else if (strcmp(name,"PrognosticAnalysis")==0) return PrognosticAnalysisEnum; 262 271 else if (strcmp(name,"PrognosticSolution")==0) return PrognosticSolutionEnum; 263 else stage=3; 264 } 265 if(stage==3){ 266 if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; 272 else if (strcmp(name,"SteadystateSolution")==0) return SteadystateSolutionEnum; 267 273 else if (strcmp(name,"SurfaceSlopeAnalysis")==0) return SurfaceSlopeAnalysisEnum; 268 274 else if (strcmp(name,"SurfaceSlopeSolution")==0) return SurfaceSlopeSolutionEnum; … … 378 384 else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum; 379 385 else if (strcmp(name,"QmuVx")==0) return QmuVxEnum; 380 else if (strcmp(name,"QmuVy")==0) return QmuVyEnum; 386 else stage=4; 387 } 388 if(stage==4){ 389 if (strcmp(name,"QmuVy")==0) return QmuVyEnum; 381 390 else if (strcmp(name,"QmuVz")==0) return QmuVzEnum; 382 391 else if (strcmp(name,"QmuThickness")==0) return QmuThicknessEnum; … … 384 393 else if (strcmp(name,"QmuSurface")==0) return QmuSurfaceEnum; 385 394 else if (strcmp(name,"QmuMelting")==0) return QmuMeltingEnum; 386 else stage=4; 387 } 388 if(stage==4){ 389 if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum; 395 else if (strcmp(name,"AndroidFrictionCoefficient")==0) return AndroidFrictionCoefficientEnum; 390 396 else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum; 391 397 else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum; … … 501 507 else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum; 502 508 else if (strcmp(name,"Gset")==0) return GsetEnum; 503 else if (strcmp(name,"Index")==0) return IndexEnum; 509 else stage=5; 510 } 511 if(stage==5){ 512 if (strcmp(name,"Index")==0) return IndexEnum; 504 513 else if (strcmp(name,"Indexed")==0) return IndexedEnum; 505 514 else if (strcmp(name,"Intersect")==0) return IntersectEnum; … … 507 516 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum; 508 517 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 509 else stage=5; 510 } 511 if(stage==5){ 512 if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 518 else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 513 519 else if (strcmp(name,"LockFileName")==0) return LockFileNameEnum; 514 520 else if (strcmp(name,"PetscOptionsAnalyses")==0) return PetscOptionsAnalysesEnum; -
issm/trunk-jpl/src/c/solutions/hydrology_core.cpp
r14553 r14562 19 19 /*intermediary*/ 20 20 int step,nsteps; 21 int output_frequency ;21 int output_frequency,hydrology_model; 22 22 bool save_results; 23 23 bool modify_loads=true; … … 31 31 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); 32 32 femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum); 33 femmodel->parameters->FindParam(&hydrology_model,HydrologyEnum); 33 34 34 35 /*first compute slopes: */ 35 surfaceslope_core(femmodel); 36 bedslope_core(femmodel); 36 if (hydrology_model==HydrologyshreveEnum){ 37 surfaceslope_core(femmodel); 38 bedslope_core(femmodel); 39 } 37 40 38 41 /*Compute number of time steps: */ … … 56 59 femmodel->parameters->SetParam(step,StepEnum); 57 60 58 /*Compute hydrology solution: */ 59 if(VerboseSolution()) _pprintLine_(" computing water column"); 60 femmodel->SetCurrentConfiguration(HydrologyAnalysisEnum); 61 solver_nonlinear(femmodel,modify_loads); 61 if (hydrology_model==HydrologyshreveEnum){ 62 /*Compute hydrology solution: */ 63 if(VerboseSolution()) _pprintLine_(" computing water column"); 64 femmodel->SetCurrentConfiguration(HydrologyAnalysisEnum); 65 solver_nonlinear(femmodel,modify_loads); 62 66 63 /*transfer water column thickness to old water column thickness: */64 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,WaterColumnOldEnum);67 /*transfer water column thickness to old water column thickness: */ 68 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,WaterColumnOldEnum); 65 69 66 if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){67 if(VerboseSolution()) _pprintLine_(" saving results ");68 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum);69 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum);70 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum);70 if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){ 71 if(VerboseSolution()) _pprintLine_(" saving results "); 72 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum); 73 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum); 74 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum); 71 75 72 /*unload results*/ 73 if(VerboseSolution()) _pprintLine_(" saving temporary results"); 74 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); 76 /*unload results*/ 77 if(VerboseSolution()) _pprintLine_(" saving temporary results"); 78 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); 79 } 75 80 } 81 else if (hydrology_model==HydrologydcEnum){ 82 //solver_linear(femmodel,modify_loads); 83 _error_("not implemented yet"); 84 if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){ 85 if(VerboseSolution()) _pprintLine_(" saving results "); 86 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentheadEnum); 87 88 /*unload results*/ 89 if(VerboseSolution()) _pprintLine_(" saving temporary results"); 90 OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); 91 } 92 } 93 94 76 95 } 77 96 } -
issm/trunk-jpl/src/m/classes/hydrologyshreve.m
r14555 r14562 56 56 end % }}} 57 57 function marshall(obj,fid) % {{{ 58 WriteData(fid,'enum',HydrologyEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 58 59 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1); 59 60 WriteData(fid,'object',obj,'fieldname','n','format','Double'); -
issm/trunk-jpl/src/m/classes/hydrologyshreve.py
r14555 r14562 71 71 72 72 def marshall(self,fid): # {{{ 73 WriteData(fid,'enum',HydrologyEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 73 74 WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1) 74 75 WriteData(fid,'object',self,'fieldname','n','format','Double') -
issm/trunk-jpl/src/m/classes/initialization.m
r13131 r14562 15 15 basaltemp = NaN; 16 16 watercolumn = NaN; 17 sedimenthead = NaN; 17 18 waterfraction = NaN; 18 19 end … … 41 42 end 42 43 if ismember(HydrologyAnalysisEnum(),analyses), 43 md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]); 44 if isa(md.hydrology,'hydrologydc'), 45 md = checkfield(md,'initialization.sedimenthead','NaN',1,'size',[md.mesh.numberofvertices 1]); 46 else 47 md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]); 48 end 44 49 end 45 50 if ismember(BalancethicknessAnalysisEnum(),analyses), … … 73 78 fielddisplay(obj,'basaltemp','basal temperature in Kelvins'); 74 79 fielddisplay(obj,'watercolumn','thickness of subglacial water'); 80 fielddisplay(obj,'sedimenthead','sediment water head of subglacial system (meters)'); 75 81 fielddisplay(obj,'waterfraction','fraction of water in the ice'); 76 82 … … 83 89 WriteData(fid,'data',obj.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum); 84 90 WriteData(fid,'data',obj.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum); 91 WriteData(fid,'data',obj.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum); 85 92 WriteData(fid,'data',obj.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum); 86 93 end % }}} -
issm/trunk-jpl/src/m/classes/initialization.py
r14140 r14562 27 27 self.basaltemp = float('NaN') 28 28 self.watercolumn = float('NaN') 29 self.sedimenthead = float('NaN') 29 30 self.waterfraction = float('NaN') 30 31 … … 46 47 string="%s\n%s"%(string,fielddisplay(self,'basaltemp','basal temperature in Kelvins')) 47 48 string="%s\n%s"%(string,fielddisplay(self,'watercolumn','thickness of subglacial water')) 49 string="%s\n%s"%(string,fielddisplay(self,'sedimenthead','sediment water head of subglacial system (meters)')) 48 50 string="%s\n%s"%(string,fielddisplay(self,'waterfraction','fraction of water in the ice')) 49 51 … … 91 93 WriteData(fid,'data',self.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum()) 92 94 WriteData(fid,'data',self.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum()) 95 WriteData(fid,'data',self.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum()) 93 96 WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum()) 94 97 # }}} -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r14538 r14562 679 679 return StringToEnum('GeometryHydrostaticRatio')[0] 680 680 681 def HydrologyCREnum(): 682 """ 683 HYDROLOGYCRENUM - Enum of HydrologyCR 684 685 Usage: 686 macro=HydrologyCREnum() 687 """ 688 689 return StringToEnum('HydrologyCR')[0] 690 691 def HydrologyKnEnum(): 692 """ 693 HYDROLOGYKNENUM - Enum of HydrologyKn 694 695 Usage: 696 macro=HydrologyKnEnum() 697 """ 698 699 return StringToEnum('HydrologyKn')[0] 700 701 def HydrologyNEnum(): 702 """ 703 HYDROLOGYNENUM - Enum of HydrologyN 704 705 Usage: 706 macro=HydrologyNEnum() 707 """ 708 709 return StringToEnum('HydrologyN')[0] 710 711 def HydrologyPEnum(): 712 """ 713 HYDROLOGYPENUM - Enum of HydrologyP 714 715 Usage: 716 macro=HydrologyPEnum() 717 """ 718 719 return StringToEnum('HydrologyP')[0] 720 721 def HydrologyQEnum(): 722 """ 723 HYDROLOGYQENUM - Enum of HydrologyQ 724 725 Usage: 726 macro=HydrologyQEnum() 727 """ 728 729 return StringToEnum('HydrologyQ')[0] 730 731 def HydrologySpcwatercolumnEnum(): 732 """ 733 HYDROLOGYSPCWATERCOLUMNENUM - Enum of HydrologySpcwatercolumn 734 735 Usage: 736 macro=HydrologySpcwatercolumnEnum() 737 """ 738 739 return StringToEnum('HydrologySpcwatercolumn')[0] 740 741 def HydrologyStabilizationEnum(): 742 """ 743 HYDROLOGYSTABILIZATIONENUM - Enum of HydrologyStabilization 744 745 Usage: 746 macro=HydrologyStabilizationEnum() 747 """ 748 749 return StringToEnum('HydrologyStabilization')[0] 681 def HydrologyEnum(): 682 """ 683 HYDROLOGYENUM - Enum of Hydrology 684 685 Usage: 686 macro=HydrologyEnum() 687 """ 688 689 return StringToEnum('Hydrology')[0] 690 691 def HydrologyshreveEnum(): 692 """ 693 HYDROLOGYSHREVEENUM - Enum of Hydrologyshreve 694 695 Usage: 696 macro=HydrologyshreveEnum() 697 """ 698 699 return StringToEnum('Hydrologyshreve')[0] 700 701 def HydrologyshreveCREnum(): 702 """ 703 HYDROLOGYSHREVECRENUM - Enum of HydrologyshreveCR 704 705 Usage: 706 macro=HydrologyshreveCREnum() 707 """ 708 709 return StringToEnum('HydrologyshreveCR')[0] 710 711 def HydrologyshreveKnEnum(): 712 """ 713 HYDROLOGYSHREVEKNENUM - Enum of HydrologyshreveKn 714 715 Usage: 716 macro=HydrologyshreveKnEnum() 717 """ 718 719 return StringToEnum('HydrologyshreveKn')[0] 720 721 def HydrologyshreveNEnum(): 722 """ 723 HYDROLOGYSHREVENENUM - Enum of HydrologyshreveN 724 725 Usage: 726 macro=HydrologyshreveNEnum() 727 """ 728 729 return StringToEnum('HydrologyshreveN')[0] 730 731 def HydrologyshrevePEnum(): 732 """ 733 HYDROLOGYSHREVEPENUM - Enum of HydrologyshreveP 734 735 Usage: 736 macro=HydrologyshrevePEnum() 737 """ 738 739 return StringToEnum('HydrologyshreveP')[0] 740 741 def HydrologyshreveQEnum(): 742 """ 743 HYDROLOGYSHREVEQENUM - Enum of HydrologyshreveQ 744 745 Usage: 746 macro=HydrologyshreveQEnum() 747 """ 748 749 return StringToEnum('HydrologyshreveQ')[0] 750 751 def HydrologyshreveSpcwatercolumnEnum(): 752 """ 753 HYDROLOGYSHREVESPCWATERCOLUMNENUM - Enum of HydrologyshreveSpcwatercolumn 754 755 Usage: 756 macro=HydrologyshreveSpcwatercolumnEnum() 757 """ 758 759 return StringToEnum('HydrologyshreveSpcwatercolumn')[0] 760 761 def HydrologyshreveStabilizationEnum(): 762 """ 763 HYDROLOGYSHREVESTABILIZATIONENUM - Enum of HydrologyshreveStabilization 764 765 Usage: 766 macro=HydrologyshreveStabilizationEnum() 767 """ 768 769 return StringToEnum('HydrologyshreveStabilization')[0] 770 771 def HydrologydcEnum(): 772 """ 773 HYDROLOGYDCENUM - Enum of Hydrologydc 774 775 Usage: 776 macro=HydrologydcEnum() 777 """ 778 779 return StringToEnum('Hydrologydc')[0] 780 781 def SedimentheadEnum(): 782 """ 783 SEDIMENTHEADENUM - Enum of Sedimenthead 784 785 Usage: 786 macro=SedimentheadEnum() 787 """ 788 789 return StringToEnum('Sedimenthead')[0] 790 791 def HydrologydcSedimentporosityEnum(): 792 """ 793 HYDROLOGYDCSEDIMENTPOROSITYENUM - Enum of HydrologydcSedimentporosity 794 795 Usage: 796 macro=HydrologydcSedimentporosityEnum() 797 """ 798 799 return StringToEnum('HydrologydcSedimentporosity')[0] 800 801 def HydrologydcSpcsedimentheadEnum(): 802 """ 803 HYDROLOGYDCSPCSEDIMENTHEADENUM - Enum of HydrologydcSpcsedimenthead 804 805 Usage: 806 macro=HydrologydcSpcsedimentheadEnum() 807 """ 808 809 return StringToEnum('HydrologydcSpcsedimenthead')[0] 750 810 751 811 def IndependentObjectEnum(): … … 5077 5137 """ 5078 5138 5079 return 5 065080 5139 return 512 5140 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r14538 r14562 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=5 06;11 macro=512;
Note:
See TracChangeset
for help on using the changeset viewer.