Changeset 16590
- Timestamp:
- 10/31/13 02:40:38 (11 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 1 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r16589 r16590 3815 3815 3816 3816 /* Start looping on the number of gaussian points: */ 3817 gauss=new GaussPenta( 2,2);3817 gauss=new GaussPenta(3,3); 3818 3818 for(int ig=gauss->begin();ig<gauss->end();ig++){ 3819 3819 … … 3828 3828 pressure_input->GetInputValue(&pressure, gauss); 3829 3829 kappa=matpar->GetEnthalpyDiffusionParameter(enthalpy,pressure); _assert_(kappa>0.); 3830 3830 3831 D_scalar_conduct=gauss->weight*Jdet*kappa/rho_ice; 3831 3832 if(reCast<bool,IssmDouble>(dt)) D_scalar_conduct=D_scalar_conduct*dt; … … 3895 3896 else if(stabilization==2){ 3896 3897 GetNodalFunctionsP1Derivatives(&dbasis[0][0],&xyz_list[0][0], gauss); 3897 tau_parameter=GetStabilizationParameter(u-um,v-vm,w-wm,diameter,kappa );3898 tau_parameter=GetStabilizationParameter(u-um,v-vm,w-wm,diameter,kappa/rho_ice); 3898 3899 3899 3900 for(i=0;i<numdof;i++){ -
issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
r16545 r16590 34 34 iomodel->Constant(&this->heatcapacity,MaterialsHeatcapacityEnum); 35 35 iomodel->Constant(&this->thermalconductivity,MaterialsThermalconductivityEnum); 36 iomodel->Constant(&this->temperateiceconductivity,MaterialsTemperateiceconductivityEnum); 36 37 iomodel->Constant(&this->latentheat,MaterialsLatentheatEnum); 37 38 iomodel->Constant(&this->beta,MaterialsBetaEnum); … … 100 101 _printf_(" heatcapacity: " << heatcapacity << "\n"); 101 102 _printf_(" thermalconductivity: " << thermalconductivity << "\n"); 103 _printf_(" temperateiceconductivity: " << temperateiceconductivity << "\n"); 102 104 _printf_(" latentheat: " << latentheat << "\n"); 103 105 _printf_(" beta: " << beta << "\n"); … … 169 171 this->heatcapacity=constant; 170 172 break; 171 case MaterialsThermalconductivityEnum:173 case MaterialsThermalconductivityEnum: 172 174 this->thermalconductivity=constant; 175 break; 176 case MaterialsTemperateiceconductivityEnum: 177 this->temperateiceconductivity=constant; 173 178 break; 174 179 case MaterialsLatentheatEnum: … … 306 311 IssmDouble Matpar::GetThermalConductivity(){ 307 312 return thermalconductivity; 313 } 314 /*}}}*/ 315 /*FUNCTION Matpar::GetTemperateIceConductivity {{{*/ 316 IssmDouble Matpar::GetTemperateIceConductivity(){ 317 return temperateiceconductivity; 308 318 } 309 319 /*}}}*/ … … 383 393 */ 384 394 385 IssmDouble eps=0. 05*heatcapacity;395 IssmDouble eps=0.1*heatcapacity; 386 396 IssmDouble hpmp=PureIceEnthalpy(pressure); 387 397 IssmDouble kappa_c=thermalconductivity/heatcapacity; 388 IssmDouble kappa_t=thermalconductivity/heatcapacity*pow(10.,-1); 389 return 1./(1.+exp(-(enthalpy-(hpmp))/eps))*(kappa_t-kappa_c) + kappa_c; 398 IssmDouble kappa_t=temperateiceconductivity/heatcapacity; 399 400 if(enthalpy<=hpmp-eps) 401 return kappa_c; 402 else if(enthalpy>=hpmp+eps) 403 return kappa_t; 404 else { 405 IssmDouble xi=enthalpy-hpmp; 406 IssmDouble pi=3.141592653589793238462643; 407 return kappa_c + (kappa_t-kappa_c)*((xi+eps)/(2*eps) + sin(pi*xi/eps)/(2*pi)); 408 } 409 410 //return 1./(1.+exp(-(enthalpy-(hpmp))/eps))*(kappa_t-kappa_c) + kappa_c; 390 411 } 391 412 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Materials/Matpar.h
r16359 r16590 22 22 IssmDouble heatcapacity; 23 23 IssmDouble thermalconductivity; 24 IssmDouble temperateiceconductivity; 24 25 IssmDouble latentheat; 25 26 IssmDouble beta; … … 109 110 IssmDouble GetHeatCapacity(); 110 111 IssmDouble GetThermalConductivity(); 112 IssmDouble GetTemperateIceConductivity(); 111 113 IssmDouble GetLatentHeat(); 112 114 IssmDouble GetBeta(); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r16529 r16590 178 178 MaterialsThermalExchangeVelocityEnum, 179 179 MaterialsThermalconductivityEnum, 180 MaterialsTemperateiceconductivityEnum, 180 181 MaterialsLithosphereShearModulusEnum, 181 182 MaterialsLithosphereDensityEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r16529 r16590 186 186 case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity"; 187 187 case MaterialsThermalconductivityEnum : return "MaterialsThermalconductivity"; 188 case MaterialsTemperateiceconductivityEnum : return "MaterialsTemperateiceconductivity"; 188 189 case MaterialsLithosphereShearModulusEnum : return "MaterialsLithosphereShearModulus"; 189 190 case MaterialsLithosphereDensityEnum : return "MaterialsLithosphereDensity"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r16529 r16590 189 189 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; 190 190 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; 191 else if (strcmp(name,"MaterialsTemperateiceconductivity")==0) return MaterialsTemperateiceconductivityEnum; 191 192 else if (strcmp(name,"MaterialsLithosphereShearModulus")==0) return MaterialsLithosphereShearModulusEnum; 192 193 else if (strcmp(name,"MaterialsLithosphereDensity")==0) return MaterialsLithosphereDensityEnum; … … 259 260 else if (strcmp(name,"SurfaceforcingsMassBalance")==0) return SurfaceforcingsMassBalanceEnum; 260 261 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 261 else if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 265 if (strcmp(name,"SurfaceforcingsDesfac")==0) return SurfaceforcingsDesfacEnum; 266 else if (strcmp(name,"SurfaceforcingsS0p")==0) return SurfaceforcingsS0pEnum; 266 267 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 267 268 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; … … 382 383 else if (strcmp(name,"IntInput")==0) return IntInputEnum; 383 384 else if (strcmp(name,"InputToExtrude")==0) return InputToExtrudeEnum; 384 else if (strcmp(name,"InputToL2Project")==0) return InputToL2ProjectEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"IntParam")==0) return IntParamEnum; 388 if (strcmp(name,"InputToL2Project")==0) return InputToL2ProjectEnum; 389 else if (strcmp(name,"IntParam")==0) return IntParamEnum; 389 390 else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 390 391 else if (strcmp(name,"TransientParam")==0) return TransientParamEnum; … … 505 506 else if (strcmp(name,"StressTensorxx")==0) return StressTensorxxEnum; 506 507 else if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum; 507 else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum; 511 if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum; 512 else if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum; 512 513 else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum; 513 514 else if (strcmp(name,"StressTensorzz")==0) return StressTensorzzEnum; -
issm/trunk-jpl/src/m/classes/matice.m
r15823 r16590 13 13 latentheat = 0.; 14 14 thermalconductivity = 0.; 15 temperateiceconductivity = 0.; 15 16 meltingpoint = 0.; 16 17 beta = 0.; … … 69 70 %ice thermal conductivity (W/m/K) 70 71 obj.thermalconductivity=2.4; 72 73 %wet ice thermal conductivity (W/m/K) 74 obj.temperateiceconductivity=.24; 71 75 72 76 %the melting point of ice at 1 atmosphere of pressure in K … … 118 122 fielddisplay(obj,'mu_water','water viscosity [N s/m^2]'); 119 123 fielddisplay(obj,'heatcapacity','heat capacity [J/kg/K]'); 120 fielddisplay(obj,'thermalconductivity','ice thermal conductivity [W/m/K]'); 124 fielddisplay(obj,'thermalconductivity',['ice thermal conductivity [W/m/K]']); 125 fielddisplay(obj,'temperateiceconductivity','temperate ice thermal conductivity [W/m/K]'); 121 126 fielddisplay(obj,'meltingpoint','melting point of ice at 1atm in K'); 122 127 fielddisplay(obj,'latentheat','latent heat of fusion [J/m^3]'); … … 141 146 WriteData(fid,'object',obj,'class','materials','fieldname','latentheat','format','Double'); 142 147 WriteData(fid,'object',obj,'class','materials','fieldname','thermalconductivity','format','Double'); 148 WriteData(fid,'object',obj,'class','materials','fieldname','temperateiceconductivity','format','Double'); 143 149 WriteData(fid,'object',obj,'class','materials','fieldname','meltingpoint','format','Double'); 144 150 WriteData(fid,'object',obj,'class','materials','fieldname','beta','format','Double'); -
issm/trunk-jpl/src/m/classes/matice.py
r15824 r16590 21 21 self.latentheat = 0. 22 22 self.thermalconductivity = 0. 23 self.temperateiceconductivity = 0. 23 24 self.meltingpoint = 0. 24 25 self.beta = 0. … … 46 47 string="%s\n%s"%(string,fielddisplay(self,"heatcapacity","heat capacity [J/kg/K]")) 47 48 string="%s\n%s"%(string,fielddisplay(self,"thermalconductivity","ice thermal conductivity [W/m/K]")) 49 string="%s\n%s"%(string,fielddisplay(self,"temperateiceconductivity","temperate ice thermal conductivity [W/m/K]")) 48 50 string="%s\n%s"%(string,fielddisplay(self,"meltingpoint","melting point of ice at 1atm in K")) 49 51 string="%s\n%s"%(string,fielddisplay(self,"latentheat","latent heat of fusion [J/m^3]")) … … 82 84 #ice thermal conductivity (W/m/K) 83 85 self.thermalconductivity=2.4 86 87 #temperate ice thermal conductivity (W/m/K) 88 self.temperateiceconductivity=0.24 84 89 85 90 #the melting point of ice at 1 atmosphere of pressure in K … … 130 135 WriteData(fid,'object',self,'class','materials','fieldname','latentheat','format','Double') 131 136 WriteData(fid,'object',self,'class','materials','fieldname','thermalconductivity','format','Double') 137 WriteData(fid,'object',self,'class','materials','fieldname','temperateiceconductivity','format','Double') 132 138 WriteData(fid,'object',self,'class','materials','fieldname','meltingpoint','format','Double') 133 139 WriteData(fid,'object',self,'class','materials','fieldname','beta','format','Double') -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r16529 r16590 178 178 def MaterialsThermalExchangeVelocityEnum(): return StringToEnum("MaterialsThermalExchangeVelocity")[0] 179 179 def MaterialsThermalconductivityEnum(): return StringToEnum("MaterialsThermalconductivity")[0] 180 def MaterialsTemperateiceconductivityEnum(): return StringToEnum("MaterialsTemperateiceconductivity")[0] 180 181 def MaterialsLithosphereShearModulusEnum(): return StringToEnum("MaterialsLithosphereShearModulus")[0] 181 182 def MaterialsLithosphereDensityEnum(): return StringToEnum("MaterialsLithosphereDensity")[0]
Note:
See TracChangeset
for help on using the changeset viewer.