Changeset 20500 for issm/trunk/src/m/classes/matice.m
- Timestamp:
- 04/12/16 21:32:01 (9 years ago)
- Location:
- issm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
- Property svn:ignore
-
old new 1 build-js 2 build-esmf 3 build-gcm 1 4 build-fw 2 5 build-ad
-
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 19104,19106-19126,19128-19134,19136-19170,19172-19299,19302,19306-19405,19407-19604,19606-19668,19670-20496
- Property svn:ignore
-
issm/trunk/src
- Property svn:mergeinfo changed
-
issm/trunk/src/m/classes/matice.m
r19105 r20500 28 28 mantle_density = 0.; 29 29 30 %slr 31 earth_density = 0; 32 30 33 end 31 34 methods 32 function createxml(self,fid) % {{{33 fprintf(fid, '\n\n');34 fprintf(fid, '<!-- materials -->\n');35 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="rho_ice" type="',class(self.rho_ice),'" default="',convert2str(self.rho_ice),'">',' <section name="materials" />',' <help> ice density [kg/m^3] </help>','</parameter>');36 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="rho_water" type="',class(self.rho_water),'" default="',convert2str(self.rho_water),'">',' <section name="materials" />',' <help> ocean water density [kg/m^3] </help>','</parameter>');37 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="rho_freshwater" type="',class(self.rho_freshwater),'" default="',convert2str(self.rho_freshwater),'">',' <section name="materials" />',' <help> fresh water density [kg/m^3] </help>','</parameter>');38 39 40 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="mu_water" type="',class(self.mu_water),'" default="',convert2str(self.mu_water),'">',' <section name="materials" />',' <help> water viscosity [N s/m^2] </help>','</parameter>');41 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="heatcapacity" type="',class(self.heatcapacity),'" default="',convert2str(self.heatcapacity),'">',' <section name="materials" />',' <help> heat capacity [J/kg/K] </help>','</parameter>');42 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="latentheat" type="',class(self.latentheat),'" default="',convert2str(self.latentheat),'">',' <section name="materials" />',' <help> latent heat of fusion [J/kg] </help>','</parameter>');43 44 45 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="thermalconductivity" type="',class(self.thermalconductivity),'" default="',convert2str(self.thermalconductivity),'">',' <section name="materials" />',' <help> ice thermal conductivity [W/m/K] </help>','</parameter>');46 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="temperateiceconductivity" type="',class(self.temperateiceconductivity),'" default="',convert2str(self.temperateiceconductivity),'">',' <section name="materials" />',' <help> temperate ice thermal conductivity [W/m/K] </help>','</parameter>');47 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="meltingpoint" type="',class(self.meltingpoint),'" default="',convert2str(self.meltingpoint),'">',' <section name="materials" />',' <help> melting point of ice at 1atm in K </help>','</parameter>');48 49 50 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="beta" type="',class(self.beta),'" default="',convert2str(self.beta),'">',' <section name="materials" />',' <help> rate of change of melting point with pressure [K/Pa] </help>','</parameter>');51 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="mixed_layer_capacity" type="',class(self.mixed_layer_capacity),'" default="',convert2str(self.mixed_layer_capacity),'">',' <section name="materials" />',' <help> mixed layer capacity [W/kg/K] </help>','</parameter>');52 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="thermal_exchange_velocity" type="',class(self.thermal_exchange_velocity),'" default="',convert2str(self.thermal_exchange_velocity),'">',' <section name="materials" />',' <help> thermal exchange velocity [m/s] </help>','</parameter>');53 54 55 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="rheology_B" type="',class(self.rheology_B),'" default="',convert2str(self.rheology_B),'">',' <section name="materials" />',' <help> flow law parameter [Pa/s^(1/n)] </help>','</parameter>');56 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="rheology_n" type="',class(self.rheology_n),'" default="',convert2str(self.rheology_n),'">',' <section name="materials" />',' <help> Glens flow law exponent </help>','</parameter>');57 58 % rheology_law drop-down59 fprintf(fid,'%s\n%s\n%s\n%s\n','<parameter key ="rheology_law" type="alternative" optional="false">',' <section name="materials" />',' <help> law for the temperature dependance of the rheology: "None", "Paterson", "Arrhenius" or "LliboutryDuval" </help>');60 fprintf(fid,'%s\n',' <option value="None" type="string" default="true"> </option>');61 fprintf(fid,'%s\n',' <option value="Paterson" type="string" default="false"> </option>');62 fprintf(fid,'%s\n',' <option value="Arrhenius" type="string" default="false"> </option>');63 fprintf(fid,'%s\n%s\n',' <option value="LliboutryDuval" type="string" default="false"> </option>','</parameter>');64 65 66 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="lithosphere_shear_modulus" type="',class(self.lithosphere_shear_modulus),'" default="',convert2str(self.lithosphere_shear_modulus),'">',' <section name="materials" />',' <help> Lithosphere shear modulus [Pa] </help>','</parameter>');67 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="lithosphere_density" type="',class(self.lithosphere_density),'" default="',convert2str(self.lithosphere_density),'">',' <section name="materials" />',' <help> Lithosphere density [g/cm^-3] </help>','</parameter>');68 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="mantle_shear_modulus" type="',class(self.mantle_shear_modulus),'" default="',convert2str(self.mantle_shear_modulus),'">',' <section name="materials" />',' <help> Mantle shear modulus [Pa] </help>','</parameter>');69 fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','<parameter key ="mantle_density" type="',class(self.mantle_density),'" default="',convert2str(self.mantle_density),'">',' <section name="materials" />',' <help> Mantle density [g/cm^-3] </help>','</parameter>');70 71 72 end % }}}73 35 function self = extrude(self,md) % {{{ 74 36 self.rheology_B=project3d(md,'vector',self.rheology_B,'type','node'); … … 141 103 self.mantle_density = 3.34; % (g/cm^-3) 142 104 105 %SLR 106 self.earth_density= 5512; % average density of the Earth, (kg/m^3) 107 143 108 end % }}} 144 109 function md = checkconsistency(self,md,solution,analyses) % {{{ … … 147 112 md = checkfield(md,'fieldname','materials.rho_freshwater','>',0); 148 113 md = checkfield(md,'fieldname','materials.mu_water','>',0); 149 md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1 );114 md = checkfield(md,'fieldname','materials.rheology_B','>',0,'timeseries',1,'NaN',1,'Inf',1); 150 115 md = checkfield(md,'fieldname','materials.rheology_n','>',0,'size',[md.mesh.numberofelements 1]); 151 116 md = checkfield(md,'fieldname','materials.rheology_law','values',{'None' 'Cuffey' 'Paterson' 'Arrhenius' 'LliboutryDuval'}); … … 156 121 md = checkfield(md,'fieldname','materials.mantle_shear_modulus','>',0,'numel',1); 157 122 md = checkfield(md,'fieldname','materials.mantle_density','>',0,'numel',1); 123 end 124 if ismember(SealevelriseAnalysisEnum(),analyses), 125 md = checkfield(md,'fieldname','materials.earth_density','>',0,'numel',1); 158 126 end 159 127 … … 181 149 fielddisplay(self,'mantle_shear_modulus','Mantle shear modulus [Pa]'); 182 150 fielddisplay(self,'mantle_density','Mantle density [g/cm^-3]'); 151 fielddisplay(self,'earth_density','Mantle density [kg/m^-3]'); 183 152 end % }}} 184 153 function marshall(self,md,fid) % {{{ … … 204 173 WriteData(fid,'object',self,'class','materials','fieldname','mantle_shear_modulus','format','Double'); 205 174 WriteData(fid,'object',self,'class','materials','fieldname','mantle_density','format','Double','scale',10^3); 175 WriteData(fid,'object',self,'class','materials','fieldname','earth_density','format','Double'); 176 end % }}} 177 function savemodeljs(self,fid,modelname) % {{{ 178 179 writejsdouble(fid,[modelname '.materials.rho_ice'],self.rho_ice); 180 writejsdouble(fid,[modelname '.materials.rho_water'],self.rho_water); 181 writejsdouble(fid,[modelname '.materials.rho_freshwater'],self.rho_freshwater); 182 writejsdouble(fid,[modelname '.materials.mu_water'],self.mu_water); 183 writejsdouble(fid,[modelname '.materials.heatcapacity'],self.heatcapacity); 184 writejsdouble(fid,[modelname '.materials.latentheat'],self.latentheat); 185 writejsdouble(fid,[modelname '.materials.thermalconductivity'],self.thermalconductivity); 186 writejsdouble(fid,[modelname '.materials.temperateiceconductivity'],self.temperateiceconductivity); 187 writejsdouble(fid,[modelname '.materials.meltingpoint'],self.meltingpoint); 188 writejsdouble(fid,[modelname '.materials.beta'],self.beta); 189 writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity); 190 writejsdouble(fid,[modelname '.materials.thermal_exchange_velocity'],self.thermal_exchange_velocity); 191 writejsdouble(fid,[modelname '.materials.mixed_layer_capacity'],self.mixed_layer_capacity); 192 writejs1Darray(fid,[modelname '.materials.rheology_B'],self.rheology_B); 193 writejs1Darray(fid,[modelname '.materials.rheology_n'],self.rheology_n); 194 writejsstring(fid,[modelname '.materials.rheology_law'],self.rheology_law); 195 writejsdouble(fid,[modelname '.materials.lithosphere_shear_modulus'],self.lithosphere_shear_modulus); 196 writejsdouble(fid,[modelname '.materials.lithosphere_density'],self.lithosphere_density); 197 writejsdouble(fid,[modelname '.materials.mantle_shear_modulus'],self.mantle_shear_modulus); 198 writejsdouble(fid,[modelname '.materials.mantle_density'],self.mantle_density); 199 writejsdouble(fid,[modelname '.materials.earth_density'],self.earth_density); 200 206 201 end % }}} 207 202 end
Note:
See TracChangeset
for help on using the changeset viewer.