Changeset 21406


Ignore:
Timestamp:
11/21/16 14:18:11 (8 years ago)
Author:
jbondzio
Message:

BUG: checking consistency of 'if waterfraction>0 then T=Tpmp', updating archives

Location:
issm/trunk-jpl
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/initialization.m

    r21405 r21406  
    7676                                md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
    7777                                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
    7883                        end
    7984                        if ismember('HydrologyShreveAnalysis',analyses),
     
    129134                        if md.thermal.isenthalpy,
    130135                                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.);
    132137                                enthalpy      = md.materials.heatcapacity*(md.initialization.temperature-md.constants.referencetemperature);
    133138                                enthalpy(pos) = md.materials.heatcapacity*(tpmp(pos) - md.constants.referencetemperature) + md.materials.latentheat*md.initialization.waterfraction(pos);
  • issm/trunk-jpl/src/m/classes/initialization.py

    r21303 r21406  
    100100                                md = checkfield(md,'fieldname','initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
    101101                                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');
    102105                if 'HydrologyShreveAnalysis' in analyses:
    103106                        if hasattr(md.hydrology,'hydrologyshreve'):
     
    131134                if md.thermal.isenthalpy:
    132135                        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]
    134137                        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,)
    136139                        WriteData(fid,prefix,'data',enthalpy,'format','DoubleMat','mattype',1,'name','md.initialization.enthalpy');
    137140
Note: See TracChangeset for help on using the changeset viewer.