Changeset 14838
- Timestamp:
- 05/01/13 16:38:39 (12 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 2 added
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h
r14807 r14838 79 79 FrictionQEnum, 80 80 GeometryHydrostaticRatioEnum, 81 Hydrology Enum,81 HydrologyModelEnum, 82 82 HydrologyshreveEnum, 83 83 HydrologyshreveCREnum, … … 105 105 HydrologydcSedimentlimitFlagEnum, 106 106 HydrologydcSedimentlimitEnum, 107 HydrologydcPenaltyFactorEnum, 107 108 HydrologyLayerEnum, 108 109 HydrologySedimentEnum, -
issm/trunk-jpl/src/c/classes/objects/Loads/Pengrid.cpp
r14804 r14838 500 500 // The penalty is stable if it doesn't change during to successive iterations. 501 501 502 int found=0;503 const int numnodes=1;502 int found=0; 503 const int numnodes=1; 504 504 IssmDouble pressure; 505 505 IssmDouble temperature; 506 506 IssmDouble t_pmp; 507 int new_active;508 int unstable=0;509 int reset_penalties=0;510 int penalty_lock;507 int new_active; 508 int unstable=0; 509 int reset_penalties=0; 510 int penalty_lock; 511 511 512 512 /*recover pointers: */ … … 688 688 689 689 // The penalty is stable if it doesn't change during two consecutive iterations. 690 int found = 0;691 690 const int numnodes = 1; 691 int unstable = 0; 692 int reset_penalties = 0; 693 int found = 0; 694 int penalty_lock; 695 int new_active; 692 696 IssmDouble pressure; 693 697 IssmDouble h; 694 IssmDouble h_max; 695 int new_active; 696 int unstable = 0; 697 int reset_penalties = 0; 698 int penalty_lock; 698 IssmDouble h_max; 699 699 700 700 /*check that pengrid is not a clone (penalty to be added only once)*/ … … 730 730 731 731 const int numdof=NUMVERTICES*NDOF1; 732 IssmDouble penalty_factor = 3.; 733 732 IssmDouble penalty_factor; 733 734 /*Retrieve parameters*/ 735 parameters->FindParam(&penalty_factor,HydrologydcPenaltyFactorEnum); 736 734 737 /*Initialize Element matrix and return if necessary*/ 735 738 if(!this->active) return NULL; … … 747 750 const int numdof=NUMVERTICES*NDOF1; 748 751 IssmDouble h_max; 749 IssmDouble penalty_factor =3.;752 IssmDouble penalty_factor; 750 753 751 754 /*Initialize Element matrix and return if necessary*/ 752 755 if(!this->active) return NULL; 753 756 ElementVector* pe=new ElementVector(&node,1,this->parameters); 757 758 /*Retrieve parameters*/ 759 parameters->FindParam(&penalty_factor,HydrologydcPenaltyFactorEnum); 754 760 755 761 /*Get h_max and compute penalty*/ -
issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp
r14822 r14838 28 28 bool isefficientlayer; 29 29 int hydrology_model; 30 iomodel->Constant(&hydrology_model,Hydrology Enum);30 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 31 31 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 32 32 -
issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp
r14807 r14838 84 84 case FrictionQEnum : return "FrictionQ"; 85 85 case GeometryHydrostaticRatioEnum : return "GeometryHydrostaticRatio"; 86 case Hydrology Enum : return "Hydrology";86 case HydrologyModelEnum : return "HydrologyModel"; 87 87 case HydrologyshreveEnum : return "Hydrologyshreve"; 88 88 case HydrologyshreveCREnum : return "HydrologyshreveCR"; … … 110 110 case HydrologydcSedimentlimitFlagEnum : return "HydrologydcSedimentlimitFlag"; 111 111 case HydrologydcSedimentlimitEnum : return "HydrologydcSedimentlimit"; 112 case HydrologydcPenaltyFactorEnum : return "HydrologydcPenaltyFactor"; 112 113 case HydrologyLayerEnum : return "HydrologyLayer"; 113 114 case HydrologySedimentEnum : return "HydrologySediment"; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateConstraintsHydrologyDCEfficient.cpp
r14769 r14838 23 23 24 24 /*Do we really want DC?*/ 25 iomodel->Constant(&hydrology_model,Hydrology Enum);25 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 26 26 if(hydrology_model!=HydrologydcEnum){ 27 27 *pconstraints=constraints; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateLoadsHydrologyDCEfficient.cpp
r14769 r14838 29 29 30 30 /*Do we really want DC?*/ 31 iomodel->Constant(&hydrology_model,Hydrology Enum);31 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 32 32 if(hydrology_model!=HydrologydcEnum){ 33 33 *ploads=loads; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp
r14769 r14838 32 32 33 33 /*Now, do we really want DC?*/ 34 iomodel->Constant(&hydrology_model,Hydrology Enum);34 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 35 35 if(hydrology_model!=HydrologydcEnum){ 36 36 *pnodes=nodes; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/CreateParametersHydrologyDCEfficient.cpp
r14822 r14838 22 22 23 23 /*retrieve some parameters: */ 24 iomodel->Constant(&hydrology_model,Hydrology Enum);24 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 25 25 26 26 /*Now, do we really want DC?*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp
r14778 r14838 24 24 25 25 /*Now, do we really want DC?*/ 26 iomodel->Constant(&hydrology_model,Hydrology Enum);26 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 27 27 if(hydrology_model!=HydrologydcEnum) return; 28 28 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateConstraintsHydrologyDCInefficient.cpp
r14769 r14838 19 19 20 20 /*retrieve some parameters: */ 21 iomodel->Constant(&hydrology_model,Hydrology Enum);21 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 22 22 23 23 /*Create constraints if they do not exist yet*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateLoadsHydrologyDCInefficient.cpp
r14769 r14838 22 22 23 23 /*Fetch parameters: */ 24 iomodel->Constant(&hydrology_model,Hydrology Enum);24 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 25 25 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 26 26 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp
r14769 r14838 23 23 /*Fetch parameters: */ 24 24 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 25 iomodel->Constant(&hydrology_model,Hydrology Enum);25 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 26 26 27 27 /*Recover pointer: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp
r14822 r14838 19 19 bool isefficientlayer; 20 20 IssmDouble sedimentlimit; 21 IssmDouble penalty_factor; 21 22 22 23 /*Get parameters: */ … … 24 25 25 26 /*retrieve some parameters: */ 26 iomodel->Constant(&hydrology_model,Hydrology Enum);27 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 27 28 28 29 /*Now, do we really want DC?*/ … … 34 35 iomodel->FetchData(&isefficientlayer,HydrologydcIsefficientlayerEnum); 35 36 iomodel->FetchData(&sedimentlimit_flag,HydrologydcSedimentlimitFlagEnum); 37 iomodel->FetchData(&penalty_factor,HydrologydcPenaltyFactorEnum); 36 38 37 39 if(sedimentlimit_flag==1){ … … 40 42 } 41 43 42 parameters->AddObject(new IntParam(HydrologyEnum,hydrology_model)); 44 parameters->AddObject(new DoubleParam(HydrologydcPenaltyFactorEnum,penalty_factor)); 45 parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model)); 43 46 parameters->AddObject(new BoolParam(HydrologydcIsefficientlayerEnum,isefficientlayer)); 44 47 parameters->AddObject(new IntParam(HydrologydcSedimentlimitFlagEnum,sedimentlimit_flag)); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp
r14778 r14838 20 20 21 21 /*Fetch data needed: */ 22 iomodel->Constant(&hydrology_model,Hydrology Enum);22 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 23 23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateConstraintsHydrologyShreve.cpp
r14769 r14838 20 20 21 21 /*retrieve some parameters: */ 22 iomodel->Constant(&hydrology_model,Hydrology Enum);22 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 23 23 24 24 /*Create constraints if they do not exist yet*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp
r14769 r14838 23 23 /*Fetch parameters: */ 24 24 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 25 iomodel->Constant(&hydrology_model,Hydrology Enum);25 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 26 26 27 27 /*Recover pointer: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/CreateParametersHydrologyShreve.cpp
r14769 r14838 22 22 23 23 /*retrieve some parameters: */ 24 iomodel->Constant(&hydrology_model,Hydrology Enum);24 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 25 25 26 26 /*Now, do we really want Shreve?*/ … … 30 30 } 31 31 32 parameters->AddObject(new IntParam(Hydrology Enum,hydrology_model));32 parameters->AddObject(new IntParam(HydrologyModelEnum,hydrology_model)); 33 33 parameters->AddObject(iomodel->CopyConstantObject(HydrologyshreveStabilizationEnum)); 34 34 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp
r14778 r14838 20 20 21 21 /*Fetch data needed: */ 22 iomodel->Constant(&hydrology_model,Hydrology Enum);22 iomodel->Constant(&hydrology_model,HydrologyModelEnum); 23 23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 -
issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp
r14807 r14838 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;87 else if (strcmp(name,"HydrologyModel")==0) return HydrologyModelEnum; 88 88 else if (strcmp(name,"Hydrologyshreve")==0) return HydrologyshreveEnum; 89 89 else if (strcmp(name,"HydrologyshreveCR")==0) return HydrologyshreveCREnum; … … 111 111 else if (strcmp(name,"HydrologydcSedimentlimitFlag")==0) return HydrologydcSedimentlimitFlagEnum; 112 112 else if (strcmp(name,"HydrologydcSedimentlimit")==0) return HydrologydcSedimentlimitEnum; 113 else if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum; 113 114 else if (strcmp(name,"HydrologyLayer")==0) return HydrologyLayerEnum; 114 115 else if (strcmp(name,"HydrologySediment")==0) return HydrologySedimentEnum; … … 137 138 else if (strcmp(name,"InversionVyObs")==0) return InversionVyObsEnum; 138 139 else if (strcmp(name,"InversionVzObs")==0) return InversionVzObsEnum; 139 else if (strcmp(name,"MaskElementonfloatingice")==0) return MaskElementonfloatingiceEnum;140 140 else stage=2; 141 141 } 142 142 if(stage==2){ 143 if (strcmp(name,"MaskElementongroundedice")==0) return MaskElementongroundediceEnum; 143 if (strcmp(name,"MaskElementonfloatingice")==0) return MaskElementonfloatingiceEnum; 144 else if (strcmp(name,"MaskElementongroundedice")==0) return MaskElementongroundediceEnum; 144 145 else if (strcmp(name,"MaskElementonwater")==0) return MaskElementonwaterEnum; 145 146 else if (strcmp(name,"MaskVertexonfloatingice")==0) return MaskVertexonfloatingiceEnum; … … 260 261 else if (strcmp(name,"TransientIsthermal")==0) return TransientIsthermalEnum; 261 262 else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum; 262 else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum;263 263 else stage=3; 264 264 } 265 265 if(stage==3){ 266 if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 266 if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum; 267 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 267 268 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum; 268 269 else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; … … 383 384 else if (strcmp(name,"Air")==0) return AirEnum; 384 385 else if (strcmp(name,"Ice")==0) return IceEnum; 385 else if (strcmp(name,"Melange")==0) return MelangeEnum;386 386 else stage=4; 387 387 } 388 388 if(stage==4){ 389 if (strcmp(name,"Water")==0) return WaterEnum; 389 if (strcmp(name,"Melange")==0) return MelangeEnum; 390 else if (strcmp(name,"Water")==0) return WaterEnum; 390 391 else if (strcmp(name,"Closed")==0) return ClosedEnum; 391 392 else if (strcmp(name,"Free")==0) return FreeEnum; … … 506 507 else if (strcmp(name,"MinVx")==0) return MinVxEnum; 507 508 else if (strcmp(name,"MaxVx")==0) return MaxVxEnum; 508 else if (strcmp(name,"MaxAbsVx")==0) return MaxAbsVxEnum;509 509 else stage=5; 510 510 } 511 511 if(stage==5){ 512 if (strcmp(name,"MinVy")==0) return MinVyEnum; 512 if (strcmp(name,"MaxAbsVx")==0) return MaxAbsVxEnum; 513 else if (strcmp(name,"MinVy")==0) return MinVyEnum; 513 514 else if (strcmp(name,"MaxVy")==0) return MaxVyEnum; 514 515 else if (strcmp(name,"MaxAbsVy")==0) return MaxAbsVyEnum; -
issm/trunk-jpl/src/c/solutions/hydrology_core.cpp
r14822 r14838 31 31 femmodel->parameters->FindParam(&save_results,SaveResultsEnum); 32 32 femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum); 33 femmodel->parameters->FindParam(&hydrology_model,Hydrology Enum);33 femmodel->parameters->FindParam(&hydrology_model,HydrologyModelEnum); 34 34 35 35 /*first compute slopes: */ -
issm/trunk-jpl/src/m/classes/hydrologydc.m
r14784 r14838 13 13 water_compressibility = 0; 14 14 isefficientlayer = 0; 15 penalty_factor = 0; 15 16 sedimentlimit_flag = 0; 16 17 sedimentlimit = 0; … … 37 38 obj.sediment_compressibility = 1.0e-08; 38 39 obj.sediment_porosity = .4; 39 obj.sediment_thickness = 20.0; 40 obj.sediment_transmitivity = 8.0e-04; 41 obj.water_compressibility = 5.04e-10; 42 obj.isefficientlayer = 1; 43 obj.sedimentlimit_flag = 0; 44 obj.sedimentlimit = 0; 40 obj.sediment_thickness = 20.0; 41 obj.sediment_transmitivity = 8.0e-04; 42 obj.water_compressibility = 5.04e-10; 43 obj.isefficientlayer = 1; 44 obj.penalty_factor = 3; 45 obj.sedimentlimit_flag = 0; 46 obj.sedimentlimit = 0; 45 47 46 48 obj.epl_compressibility = 1.0e-08; … … 64 66 md = checkfield(md,'hydrology.water_compressibility','>',0,'numel',1); 65 67 md = checkfield(md,'hydrology.isefficientlayer','numel',[1],'values',[0 1]); 68 md = checkfield(md,'hydrology.penalty_factor','>',0,'numel',1); 66 69 md = checkfield(md,'hydrology.sedimentlimit_flag','numel',[1],'values',[0 1 2 3]); 67 70 … … 88 91 fielddisplay(obj,'sediment_thickness','sediment thickness [m]'); 89 92 fielddisplay(obj,'sediment_transmitivity','sediment transmitivity [m^2/s]'); 93 fielddisplay(obj,'water_compressibility','compressibility of water [Pa^-1]'); 90 94 fielddisplay(obj,'isefficientlayer','do we use an efficient drainage system [1: true; 0: false]'); 91 fielddisplay(obj,'sedimentlimit_flag',['what kind of upper limit is applied for the inefficient layer']); 95 fielddisplay(obj,'penalty_factor','exponent of the value used in the penalisation method'); 96 fielddisplay(obj,'sedimentlimit_flag','what kind of upper limit is applied for the inefficient layer'); 92 97 disp(sprintf('%55s 0: no limit',' ')); 93 98 disp(sprintf('%55s 1: user defined: %s',' ','sedimentlimit')); … … 110 115 end % }}} 111 116 function marshall(obj,fid) % {{{ 112 WriteData(fid,'enum',Hydrology Enum(),'data',HydrologydcEnum(),'format','Integer');117 WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologydcEnum(),'format','Integer'); 113 118 WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1); 114 119 WriteData(fid,'object',obj,'fieldname','sediment_compressibility','format','Double'); … … 118 123 WriteData(fid,'object',obj,'fieldname','water_compressibility','format','Double'); 119 124 WriteData(fid,'object',obj,'fieldname','isefficientlayer','format','Boolean'); 125 WriteData(fid,'object',obj,'fieldname','penalty_factor','format','Double'); 120 126 WriteData(fid,'object',obj,'fieldname','sedimentlimit_flag','format','Integer'); 121 127 -
issm/trunk-jpl/src/m/classes/hydrologyshreve.m
r14771 r14838 60 60 end % }}} 61 61 function marshall(obj,fid) % {{{ 62 WriteData(fid,'enum',Hydrology Enum(),'data',HydrologyshreveEnum(),'format','Integer');62 WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 63 63 WriteData(fid,'object',obj,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1); 64 64 WriteData(fid,'object',obj,'fieldname','n','format','Double'); -
issm/trunk-jpl/src/m/classes/hydrologyshreve.py
r14771 r14838 63 63 # }}} 64 64 def marshall(self,fid): # {{{ 65 WriteData(fid,'enum',Hydrology Enum(),'data',HydrologyshreveEnum(),'format','Integer');65 WriteData(fid,'enum',HydrologyModelEnum(),'data',HydrologyshreveEnum(),'format','Integer'); 66 66 WriteData(fid,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1) 67 67 WriteData(fid,'object',self,'fieldname','n','format','Double') -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r14807 r14838 679 679 return StringToEnum('GeometryHydrostaticRatio')[0] 680 680 681 def Hydrology Enum():682 """ 683 HYDROLOGY ENUM - Enum of Hydrology684 685 Usage: 686 macro=Hydrology Enum()687 """ 688 689 return StringToEnum('Hydrology ')[0]681 def HydrologyModelEnum(): 682 """ 683 HYDROLOGYMODELENUM - Enum of HydrologyModel 684 685 Usage: 686 macro=HydrologyModelEnum() 687 """ 688 689 return StringToEnum('HydrologyModel')[0] 690 690 691 691 def HydrologyshreveEnum(): … … 939 939 return StringToEnum('HydrologydcSedimentlimit')[0] 940 940 941 def HydrologydcPenaltyFactorEnum(): 942 """ 943 HYDROLOGYDCPENALTYFACTORENUM - Enum of HydrologydcPenaltyFactor 944 945 Usage: 946 macro=HydrologydcPenaltyFactorEnum() 947 """ 948 949 return StringToEnum('HydrologydcPenaltyFactor')[0] 950 941 951 def HydrologyLayerEnum(): 942 952 """ … … 5457 5467 """ 5458 5468 5459 return 54 45460 5469 return 545 5470 -
issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m
r14807 r14838 9 9 % macro=MaximumNumberOfEnums() 10 10 11 macro=54 4;11 macro=545;
Note:
See TracChangeset
for help on using the changeset viewer.