source:
issm/oecreview/Archive/21337-21723/ISSM-21405-21406.diff@
21726
Last change on this file since 21726 was 21726, checked in by , 8 years ago | |
---|---|
File size: 4.0 KB |
-
../trunk-jpl/src/m/classes/initialization.m
75 75 if (ismember('EnthalpyAnalysis',analyses) & md.thermal.isenthalpy) 76 76 md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]); 77 77 md = checkfield(md,'fieldname','initialization.watercolumn' ,'>=',0,'size',[md.mesh.numberofvertices 1]); 78 pos=find(md.initialization.waterfraction>0.); 79 if(~isempty(pos)), 80 md = checkfield(md,'fieldname', 'delta Tpmp', 'field',abs(md.initialization.temperature(pos)-(md.materials.meltingpoint-md.materials.beta*md.initialization.pressure(pos))),'<',1e-11,... 81 'message','set temperature to pressure melting point at locations with waterfraction>0'); 82 end 78 83 end 79 84 if ismember('HydrologyShreveAnalysis',analyses), 80 85 if isa(md.hydrology,'hydrologyshreve'), … … 128 133 129 134 if md.thermal.isenthalpy, 130 135 tpmp = md.materials.meltingpoint - md.materials.beta*md.initialization.pressure; 131 pos = find(md.initialization. temperature>=tpmp-1e-12);136 pos = find(md.initialization.waterfraction>0.); 132 137 enthalpy = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature); 133 138 enthalpy(pos) = md.materials.heatcapacity*(tpmp(pos) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction(pos); 134 139 WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy'); -
../trunk-jpl/src/m/classes/initialization.py
99 99 if ('EnthalpyAnalysis' in analyses and md.thermal.isenthalpy): 100 100 md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices]) 101 101 md = checkfield(md,'fieldname','initialization.watercolumn' ,'>=',0,'size',[md.mesh.numberofvertices]) 102 pos = np.nonzero(md.initialization.waterfraction > 0.)[0] 103 if(pos.size): 104 md = checkfield(md,'fieldname', 'delta Tpmp', 'field', np.absolute(md.initialization.temperature[pos]-(md.materials.meltingpoint-md.materials.beta*md.initialization.pressure[pos])),'<',1e-11, 'message','set temperature to pressure melting point at locations with waterfraction>0'); 102 105 if 'HydrologyShreveAnalysis' in analyses: 103 106 if hasattr(md.hydrology,'hydrologyshreve'): 104 107 md = checkfield(md,'fieldname','initialization.watercolumn','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices]) … … 130 133 131 134 if md.thermal.isenthalpy: 132 135 tpmp = md.materials.meltingpoint - md.materials.beta*md.initialization.pressure; 133 pos = np.nonzero(md.initialization. temperature > tpmp)[0]136 pos = np.nonzero(md.initialization.waterfraction > 0.)[0] 134 137 enthalpy = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature); 135 enthalpy[pos] = md.materials.heatcapacity* tpmp[pos].reshape(-1,) - md.constants.referencetemperature+ md.materials.latentheat*md.initialization.waterfraction[pos].reshape(-1,)138 enthalpy[pos] = md.materials.heatcapacity*(tpmp[pos].reshape(-1,) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction[pos].reshape(-1,) 136 139 WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy'); 137 140 138 141 # }}}
Note:
See TracBrowser
for help on using the repository browser.