source:
issm/oecreview/Archive/16554-17801/ISSM-16589-16590.diff@
17802
Last change on this file since 17802 was 17802, checked in by , 11 years ago | |
---|---|
File size: 17.2 KB |
-
../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
177 177 MaterialsMuWaterEnum, 178 178 MaterialsThermalExchangeVelocityEnum, 179 179 MaterialsThermalconductivityEnum, 180 MaterialsTemperateiceconductivityEnum, 180 181 MaterialsLithosphereShearModulusEnum, 181 182 MaterialsLithosphereDensityEnum, 182 183 MaterialsMantleShearModulusEnum, -
../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
185 185 case MaterialsMuWaterEnum : return "MaterialsMuWater"; 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"; 190 191 case MaterialsMantleShearModulusEnum : return "MaterialsMantleShearModulus"; -
../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
188 188 else if (strcmp(name,"MaterialsMuWater")==0) return MaterialsMuWaterEnum; 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; 193 194 else if (strcmp(name,"MaterialsMantleShearModulus")==0) return MaterialsMantleShearModulusEnum; … … 258 259 else if (strcmp(name,"SurfaceforcingsPrecipitation")==0) return SurfaceforcingsPrecipitationEnum; 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; 268 269 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; … … 381 382 else if (strcmp(name,"Input")==0) return InputEnum; 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; 391 392 else if (strcmp(name,"Matice")==0) return MaticeEnum; … … 504 505 else if (strcmp(name,"StressTensor")==0) return StressTensorEnum; 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; 514 515 else if (strcmp(name,"GiaCrossSectionShape")==0) return GiaCrossSectionShapeEnum; -
../trunk-jpl/src/c/classes/Materials/Matpar.cpp
33 33 iomodel->Constant(&this->mu_water,MaterialsMuWaterEnum); 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); 38 39 iomodel->Constant(&this->meltingpoint,MaterialsMeltingpointEnum); … … 99 100 _printf_(" mu_water: " << mu_water << "\n"); 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"); 104 106 _printf_(" meltingpoint: " << meltingpoint << "\n"); … … 168 170 case MaterialsHeatcapacityEnum: 169 171 this->heatcapacity=constant; 170 172 break; 171 case MaterialsThermalconductivityEnum:173 case MaterialsThermalconductivityEnum: 172 174 this->thermalconductivity=constant; 173 175 break; 176 case MaterialsTemperateiceconductivityEnum: 177 this->temperateiceconductivity=constant; 178 break; 174 179 case MaterialsLatentheatEnum: 175 180 this->latentheat=constant; 176 181 break; … … 307 312 return thermalconductivity; 308 313 } 309 314 /*}}}*/ 315 /*FUNCTION Matpar::GetTemperateIceConductivity {{{*/ 316 IssmDouble Matpar::GetTemperateIceConductivity(){ 317 return temperateiceconductivity; 318 } 319 /*}}}*/ 310 320 /*FUNCTION Matpar::GetThermalExchangeVelocity {{{*/ 311 321 IssmDouble Matpar::GetThermalExchangeVelocity(){ 312 322 return thermal_exchange_velocity; … … 382 392 return thermalconductivity/heatcapacity*pow(10.,-5); 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 /*}}}*/ 392 413 /*FUNCTION Matpar::GetEnthalpyDiffusionParameterVolume{{{*/ -
../trunk-jpl/src/c/classes/Materials/Matpar.h
21 21 IssmDouble mu_water; 22 22 IssmDouble heatcapacity; 23 23 IssmDouble thermalconductivity; 24 IssmDouble temperateiceconductivity; 24 25 IssmDouble latentheat; 25 26 IssmDouble beta; 26 27 IssmDouble meltingpoint; … … 108 109 IssmDouble GetThermalExchangeVelocity(); 109 110 IssmDouble GetHeatCapacity(); 110 111 IssmDouble GetThermalConductivity(); 112 IssmDouble GetTemperateIceConductivity(); 111 113 IssmDouble GetLatentHeat(); 112 114 IssmDouble GetBeta(); 113 115 IssmDouble GetMeltingPoint(); -
../trunk-jpl/src/c/classes/Elements/Penta.cpp
3814 3814 if (stabilization==2) diameter=MinEdgeLength(xyz_list); 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 3820 3820 gauss->GaussPoint(ig); … … 3827 3827 enthalpy_input->GetInputValue(&enthalpy, gauss); 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; 3832 3833 … … 3894 3895 } 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++){ 3900 3901 for(j=0;j<numdof;j++){ -
../trunk-jpl/src/m/classes/matice.m
12 12 heatcapacity = 0.; 13 13 latentheat = 0.; 14 14 thermalconductivity = 0.; 15 temperateiceconductivity = 0.; 15 16 meltingpoint = 0.; 16 17 beta = 0.; 17 18 mixed_layer_capacity = 0.; … … 68 69 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 73 77 obj.meltingpoint=273.15; … … 117 121 fielddisplay(obj,'rho_freshwater','fresh water density [kg/m^3]'); 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]'); 123 128 fielddisplay(obj,'beta','rate of change of melting point with pressure [K/Pa]'); … … 140 145 WriteData(fid,'object',obj,'class','materials','fieldname','heatcapacity','format','Double'); 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'); 145 151 WriteData(fid,'object',obj,'class','materials','fieldname','mixed_layer_capacity','format','Double'); -
../trunk-jpl/src/m/classes/matice.py
20 20 self.heatcapacity = 0. 21 21 self.latentheat = 0. 22 22 self.thermalconductivity = 0. 23 self.temperateiceconductivity = 0. 23 24 self.meltingpoint = 0. 24 25 self.beta = 0. 25 26 self.mixed_layer_capacity = 0. … … 45 46 string="%s\n%s"%(string,fielddisplay(self,"mu_water","water viscosity [N s/m^2]")) 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]")) 50 52 string="%s\n%s"%(string,fielddisplay(self,"beta","rate of change of melting point with pressure [K/Pa]")) … … 82 84 #ice thermal conductivity (W/m/K) 83 85 self.thermalconductivity=2.4 84 86 87 #temperate ice thermal conductivity (W/m/K) 88 self.temperateiceconductivity=0.24 89 85 90 #the melting point of ice at 1 atmosphere of pressure in K 86 91 self.meltingpoint=273.15 87 92 … … 129 134 WriteData(fid,'object',self,'class','materials','fieldname','heatcapacity','format','Double') 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') 134 140 WriteData(fid,'object',self,'class','materials','fieldname','mixed_layer_capacity','format','Double') -
../trunk-jpl/src/m/enum/MaterialsTemperateiceconductivityEnum.m
1 function macro=MaterialsTemperateiceconductivityEnum() 2 %MATERIALSTEMPERATEICECONDUCTIVITYENUM - Enum of MaterialsTemperateiceconductivity 3 % 4 % WARNING: DO NOT MODIFY THIS FILE 5 % this file has been automatically generated by src/c/shared/Enum/Synchronize.sh 6 % Please read src/c/shared/Enum/README for more information 7 % 8 % Usage: 9 % macro=MaterialsTemperateiceconductivityEnum() 10 11 macro=StringToEnum('MaterialsTemperateiceconductivity'); -
../trunk-jpl/src/m/enum/EnumDefinitions.py
177 177 def MaterialsMuWaterEnum(): return StringToEnum("MaterialsMuWater")[0] 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] 182 183 def MaterialsMantleShearModulusEnum(): return StringToEnum("MaterialsMantleShearModulus")[0]
Note:
See TracBrowser
for help on using the repository browser.