Changeset 23697
- Timestamp:
- 02/06/19 03:09:00 (6 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
r23645 r23697 1172 1172 /*Get pressures and enthalpies on vertices*/ 1173 1173 int numvertices = element->GetNumberOfVertices(); 1174 int effectiveconductivity_averaging; 1174 1175 IssmDouble* pressures = xNew<IssmDouble>(numvertices); 1175 1176 IssmDouble* enthalpies = xNew<IssmDouble>(numvertices); … … 1178 1179 element->GetInputListOnVertices(pressures,PressureEnum); 1179 1180 element->GetInputListOnVertices(enthalpies,enthalpy_enum); 1181 element->FindParam(&effectiveconductivity_averaging,MaterialsEffectiveconductivityAveragingEnum); 1182 1180 1183 for(iv=0;iv<numvertices;iv++){ 1181 1184 PIE[iv] = PureIceEnthalpy(element,pressures[iv]); … … 1195 1198 } 1196 1199 else{ 1197 /* return harmonic mean of thermal conductivities, weighted by fraction of cold/temperate ice,1198 cf Patankar 1980, pp44 */1199 1200 kappa_c = EnthalpyDiffusionParameter(element,PureIceEnthalpy(element,0.)-1.,0.); 1200 1201 kappa_t = EnthalpyDiffusionParameter(element,PureIceEnthalpy(element,0.)+1.,0.); 1202 1201 1203 Hc=0.; Ht=0.; 1202 1204 for(iv=0; iv<numvertices;iv++){ … … 1210 1212 _assert_(lambda>=0.); 1211 1213 _assert_(lambda<=1.); 1212 kappa = kappa_c*kappa_t/(lambda*kappa_t+(1.-lambda)*kappa_c); // ==(lambda/kappa_c + (1.-lambda)/kappa_t)^-1 1214 1215 if(effectiveconductivity_averaging==0){ 1216 /* return arithmetic mean (volume average) of thermal conductivities, weighted by fraction of cold/temperate ice */ 1217 kappa=kappa_c*lambda+(1.-lambda)*kappa_t; 1218 } 1219 else if(effectiveconductivity_averaging==1){ 1220 /* return harmonic mean (reciprocal avarage) of thermal conductivities, weighted by fraction of cold/temperate ice, cf Patankar 1980, pp44 */ 1221 kappa=kappa_c*kappa_t/(lambda*kappa_t+(1.-lambda)*kappa_c); 1222 } 1223 else if(effectiveconductivity_averaging==2){ 1224 /* return geometric mean (power law) of thermal conductivities, weighted by fraction of cold/temperate ice */ 1225 kappa=pow(kappa_c,lambda)*pow(kappa_t,1.-lambda); 1226 } 1227 else{ 1228 _error_("effectiveconductivity_averaging not supported yet"); 1229 } 1213 1230 } 1214 1231 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r23657 r23697 288 288 parameters->AddObject(iomodel->CopyConstantObject("md.materials.thermalconductivity",MaterialsThermalconductivityEnum)); 289 289 parameters->AddObject(iomodel->CopyConstantObject("md.materials.temperateiceconductivity",MaterialsTemperateiceconductivityEnum)); 290 parameters->AddObject(iomodel->CopyConstantObject("md.materials.effectiveconductivity_averaging",MaterialsEffectiveconductivityAveragingEnum)); 290 291 parameters->AddObject(iomodel->CopyConstantObject("md.materials.latentheat",MaterialsLatentheatEnum)); 291 292 parameters->AddObject(iomodel->CopyConstantObject("md.materials.beta",MaterialsBetaEnum)); … … 325 326 parameters->AddObject(iomodel->CopyConstantObject("md.materials.thermalconductivity",MaterialsThermalconductivityEnum)); 326 327 parameters->AddObject(iomodel->CopyConstantObject("md.materials.temperateiceconductivity",MaterialsTemperateiceconductivityEnum)); 328 parameters->AddObject(iomodel->CopyConstantObject("md.materials.effectiveconductivity_averaging",MaterialsEffectiveconductivityAveragingEnum)); 327 329 parameters->AddObject(iomodel->CopyConstantObject("md.materials.latentheat",MaterialsLatentheatEnum)); 328 330 parameters->AddObject(iomodel->CopyConstantObject("md.materials.beta",MaterialsBetaEnum)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r23657 r23697 240 240 MaterialsRhoSeawaterEnum, 241 241 MaterialsTemperateiceconductivityEnum, 242 MaterialsEffectiveconductivityAveragingEnum, 242 243 MaterialsThermalconductivityEnum, 243 244 MaterialsThermalExchangeVelocityEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r23657 r23697 248 248 case MaterialsRhoSeawaterEnum : return "MaterialsRhoSeawater"; 249 249 case MaterialsTemperateiceconductivityEnum : return "MaterialsTemperateiceconductivity"; 250 case MaterialsEffectiveconductivityAveragingEnum : return "MaterialsEffectiveconductivityAveraging"; 250 251 case MaterialsThermalconductivityEnum : return "MaterialsThermalconductivity"; 251 252 case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r23657 r23697 251 251 else if (strcmp(name,"MaterialsRhoSeawater")==0) return MaterialsRhoSeawaterEnum; 252 252 else if (strcmp(name,"MaterialsTemperateiceconductivity")==0) return MaterialsTemperateiceconductivityEnum; 253 else if (strcmp(name,"MaterialsEffectiveconductivityAveraging")==0) return MaterialsEffectiveconductivityAveragingEnum; 253 254 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; 254 255 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; … … 259 260 else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum; 260 261 else if (strcmp(name,"ModelId")==0) return ModelIdEnum; 261 else if (strcmp(name,"Nodes")==0) return NodesEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"NumModels")==0) return NumModelsEnum; 265 if (strcmp(name,"Nodes")==0) return NodesEnum; 266 else if (strcmp(name,"NumModels")==0) return NumModelsEnum; 266 267 else if (strcmp(name,"OceanGridNx")==0) return OceanGridNxEnum; 267 268 else if (strcmp(name,"OceanGridNy")==0) return OceanGridNyEnum; … … 382 383 else if (strcmp(name,"StressbalanceMaxiter")==0) return StressbalanceMaxiterEnum; 383 384 else if (strcmp(name,"StressbalanceNumRequestedOutputs")==0) return StressbalanceNumRequestedOutputsEnum; 384 else if (strcmp(name,"StressbalancePenaltyFactor")==0) return StressbalancePenaltyFactorEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"StressbalanceReltol")==0) return StressbalanceReltolEnum; 388 if (strcmp(name,"StressbalancePenaltyFactor")==0) return StressbalancePenaltyFactorEnum; 389 else if (strcmp(name,"StressbalanceReltol")==0) return StressbalanceReltolEnum; 389 390 else if (strcmp(name,"StressbalanceRequestedOutputs")==0) return StressbalanceRequestedOutputsEnum; 390 391 else if (strcmp(name,"StressbalanceRestol")==0) return StressbalanceRestolEnum; … … 505 506 else if (strcmp(name,"FrictionAs")==0) return FrictionAsEnum; 506 507 else if (strcmp(name,"FrictionC")==0) return FrictionCEnum; 507 else if (strcmp(name,"FrictionCoefficientcoulomb")==0) return FrictionCoefficientcoulombEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum; 511 if (strcmp(name,"FrictionCoefficientcoulomb")==0) return FrictionCoefficientcoulombEnum; 512 else if (strcmp(name,"FrictionCoefficient")==0) return FrictionCoefficientEnum; 512 513 else if (strcmp(name,"FrictionEffectivePressure")==0) return FrictionEffectivePressureEnum; 513 514 else if (strcmp(name,"FrictionM")==0) return FrictionMEnum; … … 628 629 else if (strcmp(name,"SmbD")==0) return SmbDEnum; 629 630 else if (strcmp(name,"SmbDini")==0) return SmbDiniEnum; 630 else if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum; 634 if (strcmp(name,"SmbDlwrf")==0) return SmbDlwrfEnum; 635 else if (strcmp(name,"SmbDswrf")==0) return SmbDswrfEnum; 635 636 else if (strcmp(name,"SmbDz")==0) return SmbDzEnum; 636 637 else if (strcmp(name,"SmbDzini")==0) return SmbDziniEnum; … … 751 752 else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum; 752 753 else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum; 753 else if (strcmp(name,"Adjointp")==0) return AdjointpEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"AggressiveMigration")==0) return AggressiveMigrationEnum; 757 if (strcmp(name,"Adjointp")==0) return AdjointpEnum; 758 else if (strcmp(name,"AggressiveMigration")==0) return AggressiveMigrationEnum; 758 759 else if (strcmp(name,"AmrBamg")==0) return AmrBamgEnum; 759 760 else if (strcmp(name,"AmrNeopz")==0) return AmrNeopzEnum; … … 874 875 else if (strcmp(name,"GroundedArea")==0) return GroundedAreaEnum; 875 876 else if (strcmp(name,"GroundedAreaScaled")==0) return GroundedAreaScaledEnum; 876 else if (strcmp(name,"GroundingOnly")==0) return GroundingOnlyEnum;877 877 else stage=8; 878 878 } 879 879 if(stage==8){ 880 if (strcmp(name,"Gset")==0) return GsetEnum; 880 if (strcmp(name,"GroundingOnly")==0) return GroundingOnlyEnum; 881 else if (strcmp(name,"Gset")==0) return GsetEnum; 881 882 else if (strcmp(name,"Gsl")==0) return GslEnum; 882 883 else if (strcmp(name,"HOApproximation")==0) return HOApproximationEnum; … … 997 998 else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum; 998 999 else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum; 999 else if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;1000 1000 else stage=9; 1001 1001 } 1002 1002 if(stage==9){ 1003 if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum; 1003 if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum; 1004 else if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum; 1004 1005 else if (strcmp(name,"Outputdefinition17")==0) return Outputdefinition17Enum; 1005 1006 else if (strcmp(name,"Outputdefinition18")==0) return Outputdefinition18Enum; … … 1120 1121 else if (strcmp(name,"Regular")==0) return RegularEnum; 1121 1122 else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum; 1122 else if (strcmp(name,"Scaled")==0) return ScaledEnum;1123 1123 else stage=10; 1124 1124 } 1125 1125 if(stage==10){ 1126 if (strcmp(name,"SealevelAbsolute")==0) return SealevelAbsoluteEnum; 1126 if (strcmp(name,"Scaled")==0) return ScaledEnum; 1127 else if (strcmp(name,"SealevelAbsolute")==0) return SealevelAbsoluteEnum; 1127 1128 else if (strcmp(name,"SealevelEmotion")==0) return SealevelEmotionEnum; 1128 1129 else if (strcmp(name,"SealevelInertiaTensorXZ")==0) return SealevelInertiaTensorXZEnum; -
issm/trunk-jpl/src/m/classes/matdamageice.m
r23005 r23697 14 14 thermalconductivity = 0.; 15 15 temperateiceconductivity = 0.; 16 effectiveconductivity_averaging = 0.; 16 17 meltingpoint = 0.; 17 18 beta = 0.; … … 81 82 self.temperateiceconductivity=.24; 82 83 84 %computation of effective conductivity 85 self.effectiveconductivity_averaging=2; 86 83 87 %the melting point of ice at 1 atmosphere of pressure in K 84 88 self.meltingpoint=273.15; … … 115 119 md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]); 116 120 md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'}); 117 121 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]); 122 118 123 if ismember('GiaAnalysis',analyses), 119 124 md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1); … … 138 143 fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']); 139 144 fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]'); 145 fielddisplay(self,'effectiveconductivity_averaging','computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)'); 140 146 fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K'); 141 147 fielddisplay(self,'latentheat','latent heat of fusion [J/kg]'); … … 162 168 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double'); 163 169 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double'); 170 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 164 171 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double'); 165 172 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double'); -
issm/trunk-jpl/src/m/classes/matdamageice.py
r23005 r23697 21 21 self.thermalconductivity = 0. 22 22 self.temperateiceconductivity = 0. 23 self.effectiveconductivity_averaging = 0. 23 24 self.meltingpoint = 0. 24 25 self.beta = 0. … … 51 52 string="%s\n%s"%(string,fielddisplay(self,"thermalconductivity","ice thermal conductivity [W/m/K]")) 52 53 string="%s\n%s"%(string,fielddisplay(self,"temperateiceconductivity","temperate ice thermal conductivity [W/m/K]")) 54 string="%s\n%s"%(string,fielddisplay(self,"effectiveconductivity_averaging","computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)") 53 55 string="%s\n%s"%(string,fielddisplay(self,"meltingpoint","melting point of ice at 1atm in K")) 54 56 string="%s\n%s"%(string,fielddisplay(self,"latentheat","latent heat of fusion [J/m^3]")) … … 98 100 self.temperateiceconductivity=0.24 99 101 102 #computation of effective conductivity 103 self.effectiveconductivity_averaging=2 104 100 105 #the melting point of ice at 1 atmosphere of pressure in K 101 106 self.meltingpoint=273.15 … … 139 144 md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',[1]); 140 145 md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',[1]); 146 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]) 141 147 142 148 return md … … 152 158 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double') 153 159 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double') 160 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 154 161 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double') 155 162 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double') -
issm/trunk-jpl/src/m/classes/matenhancedice.m
r23005 r23697 14 14 thermalconductivity = 0.; 15 15 temperateiceconductivity = 0.; 16 effectiveconductivity_averaging = 0.; 16 17 meltingpoint = 0.; 17 18 beta = 0.; … … 83 84 self.temperateiceconductivity=.24; 84 85 86 %computation of effective conductivity 87 self.effectiveconductivity_averaging=2; 88 85 89 %the melting point of ice at 1 atmosphere of pressure in K 86 90 self.meltingpoint=273.15; … … 118 122 md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]); 119 123 md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'}); 120 124 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]); 125 121 126 if ismember('GiaAnalysis',analyses), 122 127 md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1); … … 140 145 fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']); 141 146 fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]'); 147 fielddisplay(self,'effectiveconductivity_averaging','computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)'); 142 148 fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K'); 143 149 fielddisplay(self,'latentheat','latent heat of fusion [J/kg]'); … … 165 171 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double'); 166 172 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double'); 173 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 167 174 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double'); 168 175 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double'); … … 190 197 writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity); 191 198 writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity); 199 writejsdouble(fid,[modelname '.materials.effectiveconductivity_averaging'],self.effectiveconductivity_averaging); 192 200 writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint); 193 201 writejsdouble(fid,[modelname '.materials.beta'],self.beta); -
issm/trunk-jpl/src/m/classes/matenhancedice.py
r23005 r23697 21 21 self.thermalconductivity = 0. 22 22 self.temperateiceconductivity = 0. 23 self.effectiveconductivity_averaging = 0. 23 24 self.meltingpoint = 0. 24 25 self.beta = 0. … … 51 52 string="%s\n%s"%(string,fielddisplay(self,"thermalconductivity","ice thermal conductivity [W/m/K]")) 52 53 string="%s\n%s"%(string,fielddisplay(self,"temperateiceconductivity","temperate ice thermal conductivity [W/m/K]")) 54 string="%s\n%s"%(string,fielddisplay(self,"effectiveconductivity_averaging","computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)") 53 55 string="%s\n%s"%(string,fielddisplay(self,"meltingpoint","melting point of ice at 1atm in K")) 54 56 string="%s\n%s"%(string,fielddisplay(self,"latentheat","latent heat of fusion [J/m^3]")) … … 98 100 #temperate ice thermal conductivity (W/m/K) 99 101 self.temperateiceconductivity=0.24 102 103 #computation of effective conductivity 104 self.effectiveconductivity_averaging=2 100 105 101 106 #the melting point of ice at 1 atmosphere of pressure in K … … 135 140 md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements]) 136 141 md = checkfield(md,'fieldname','materials.rheology_law','values',['None','BuddJacka','Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval']) 137 142 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]) 143 138 144 if 'GiaAnalysis' in analyses: 139 145 md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1) … … 155 161 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double') 156 162 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double') 163 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 157 164 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double') 158 165 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double') -
issm/trunk-jpl/src/m/classes/matestar.m
r23005 r23697 14 14 thermalconductivity = 0.; 15 15 temperateiceconductivity = 0.; 16 effectiveconductivity_averaging = 0.; 16 17 meltingpoint = 0.; 17 18 beta = 0.; … … 90 91 self.temperateiceconductivity=.24; 91 92 93 %computation of effective conductivity 94 self.effectiveconductivity_averaging=2; 95 92 96 %the melting point of ice at 1 atmosphere of pressure in K 93 97 self.meltingpoint=273.15; … … 125 129 md = checkfield(md,'fieldname','materials.rheology_Es','>',0,'size',[md.mesh.numberofvertices 1],'NaN',1,'Inf',1); 126 130 md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'}); 127 131 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]); 132 128 133 if ismember('GiaAnalysis',analyses), 129 134 md = checkfield(md,'fieldname','materials.lithosphere_shear_modulus','>',0,'numel',1); … … 147 152 fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']); 148 153 fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]'); 154 fielddisplay(self,'effectiveconductivity_averaging','computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)'); 149 155 fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K'); 150 156 fielddisplay(self,'latentheat','latent heat of fusion [J/kg]'); … … 172 178 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double'); 173 179 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double'); 180 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 174 181 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double'); 175 182 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double'); … … 197 204 writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity); 198 205 writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity); 206 writejsdouble(fid,[modelname '.materials.effectiveconductivity_averaging'],self.effectiveconductivity_averaging); 199 207 writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint); 200 208 writejsdouble(fid,[modelname '.materials.beta'],self.beta); -
issm/trunk-jpl/src/m/classes/matestar.py
r23005 r23697 23 23 thermalconductivity = 0. 24 24 temperateiceconductivity = 0. 25 self.effectiveconductivity_averaging = 0. 25 26 meltingpoint = 0. 26 27 beta = 0. … … 54 55 string="%s\n%s"%(string,fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]'])) 55 56 string="%s\n%s"%(string,fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]')) 57 string="%s\n%s"%(string,fielddisplay(self,"effectiveconductivity_averaging","computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)") 56 58 string="%s\n%s"%(string,fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K')) 57 59 string="%s\n%s"%(string,fielddisplay(self,'latentheat','latent heat of fusion [J/kg]')) … … 102 104 self.temperateiceconductivity=.24 103 105 106 #computation of effective conductivity 107 self.effectiveconductivity_averaging=2 108 104 109 #the melting point of ice at 1 atmosphere of pressure in K 105 110 self.meltingpoint=273.15 … … 138 143 md = checkfield(md,'fieldname','materials.rheology_Es','>',0,'size',[md.mesh.numberofvertices],'NaN',1,'Inf',1) 139 144 md = checkfield(md,'fieldname','materials.rheology_law','values',['None','BuddJacka', 'Cuffey','CuffeyTemperate','Paterson','Arrhenius','LliboutryDuval']) 145 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]) 140 146 141 147 if 'GiaAnalysis' in analyses: … … 159 165 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double') 160 166 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double') 167 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 161 168 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double') 162 169 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double') -
issm/trunk-jpl/src/m/classes/matice.m
r23005 r23697 14 14 thermalconductivity = 0.; 15 15 temperateiceconductivity = 0.; 16 effectiveconductivity_averaging = 0.; 16 17 meltingpoint = 0.; 17 18 beta = 0.; … … 80 81 %wet ice thermal conductivity (W/m/K) 81 82 self.temperateiceconductivity=.24; 83 84 %computation of effective conductivity 85 self.effectiveconductivity_averaging=2; 82 86 83 87 %the melting point of ice at 1 atmosphere of pressure in K … … 115 119 md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]); 116 120 md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'BuddJacka' 'Cuffey' 'CuffeyTemperate' 'Paterson' 'Arrhenius' 'LliboutryDuval'}); 121 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]); 117 122 118 123 if ismember('GiaAnalysis',analyses), … … 137 142 fielddisplay(self,'thermalconductivity',['ice thermal conductivity [W/m/K]']); 138 143 fielddisplay(self,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]'); 144 fielddisplay(self,'effectiveconductivity_averaging','computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)'); 139 145 fielddisplay(self,'meltingpoint','melting point of ice at 1atm in K'); 140 146 fielddisplay(self,'latentheat','latent heat of fusion [J/kg]'); … … 161 167 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double'); 162 168 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double'); 169 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 163 170 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double'); 164 171 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double'); … … 185 192 writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity); 186 193 writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity); 194 writejsdouble(fid,[modelname '.materials.effectiveconductivity_averaging'],self.effectiveconductivity_averaging); 187 195 writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint); 188 196 writejsdouble(fid,[modelname '.materials.beta'],self.beta); -
issm/trunk-jpl/src/m/classes/matice.py
r23005 r23697 21 21 self.thermalconductivity = 0. 22 22 self.temperateiceconductivity = 0. 23 self.effectiveconductivity_averaging = 0. 23 24 self.meltingpoint = 0. 24 25 self.beta = 0. … … 52 53 string="%s\n%s"%(string,fielddisplay(self,"thermalconductivity","ice thermal conductivity [W/m/K]")) 53 54 string="%s\n%s"%(string,fielddisplay(self,"temperateiceconductivity","temperate ice thermal conductivity [W/m/K]")) 55 string="%s\n%s"%(string,fielddisplay(self,"effectiveconductivity_averaging","computation of effective conductivity: (0) arithmetic mean, (1) harmonic mean, (2) geometric mean (default)") 54 56 string="%s\n%s"%(string,fielddisplay(self,"meltingpoint","melting point of ice at 1atm in K")) 55 57 string="%s\n%s"%(string,fielddisplay(self,"latentheat","latent heat of fusion [J/m^3]")) … … 99 101 self.temperateiceconductivity=0.24 100 102 103 #computation of effective conductivity 104 self.effectiveconductivity_averaging=2 105 101 106 #the melting point of ice at 1 atmosphere of pressure in K 102 107 self.meltingpoint=273.15 … … 140 145 md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',[1]); 141 146 md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',[1]); 147 md = checkfield(md,'fieldname','materials.effectiveconductivity_averaging','numel',[1],'values',[0 1 2]) 142 148 143 149 return md … … 153 159 WriteData(fid,prefix,'object',self,'class','materials','fieldname','thermalconductivity','format','Double') 154 160 WriteData(fid,prefix,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double') 161 WriteData(fid,prefix,'object',self,'class','materials','fieldname','effectiveconductivity_averaging','format','Integer'); 155 162 WriteData(fid,prefix,'object',self,'class','materials','fieldname','meltingpoint','format','Double') 156 163 WriteData(fid,prefix,'object',self,'class','materials','fieldname','beta','format','Double')
Note:
See TracChangeset
for help on using the changeset viewer.