Changeset 13395 for issm/trunk/src/m/classes/initialization.py
- Timestamp:
- 09/19/12 09:32:34 (12 years ago)
- Location:
- issm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
- Property svn:ignore
-
old new 1 projects 1 2 autom4te.cache 2 3 aclocal.m4
-
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 12710-12871,12873-12877,12881-12896,12898-12900,12902-12916,12920-12935,12937-12945,12948-13100,13107-13110,13112-13116,13119-13393
- Property svn:ignore
-
issm/trunk/src
-
Property svn:mergeinfo
set to
/issm/branches/trunk-jpl-damage/src merged eligible /issm/trunk-jpl/src merged eligible
-
Property svn:mergeinfo
set to
-
issm/trunk/src/m/classes/initialization.py
r12329 r13395 1 1 #module imports 2 import numpy 2 3 from fielddisplay import fielddisplay 4 from EnumDefinitions import * 5 from checkfield import * 6 from WriteData import * 3 7 4 class initialization: 8 class initialization(object): 9 """ 10 INITIALIZATION class definition 11 12 Usage: 13 initialization=initialization(); 14 """ 15 5 16 #properties 6 17 def __init__(self): … … 20 31 21 32 #}}} 22 def __repr__( obj):33 def __repr__(self): 23 34 # {{{ Display 24 35 string=' initial field values:' 25 36 26 string="%s\n%s"%(string,fielddisplay( obj,'vx','x component of velocity'))27 string="%s\n%s"%(string,fielddisplay( obj,'vy','y component of velocity'))28 string="%s\n%s"%(string,fielddisplay( obj,'vz','z component of velocity'))29 string="%s\n%s"%(string,fielddisplay( obj,'vel','velocity norm'))30 string="%s\n%s"%(string,fielddisplay( obj,'pressure','pressure field'))31 string="%s\n%s"%(string,fielddisplay( obj,'temperature','temperature in Kelvins'))32 string="%s\n%s"%(string,fielddisplay( obj,'watercolumn','thickness of subglacial water'))33 string="%s\n%s"%(string,fielddisplay( obj,'waterfraction','fraction of water in the ice'))37 string="%s\n%s"%(string,fielddisplay(self,'vx','x component of velocity')) 38 string="%s\n%s"%(string,fielddisplay(self,'vy','y component of velocity')) 39 string="%s\n%s"%(string,fielddisplay(self,'vz','z component of velocity')) 40 string="%s\n%s"%(string,fielddisplay(self,'vel','velocity norm')) 41 string="%s\n%s"%(string,fielddisplay(self,'pressure','pressure field')) 42 string="%s\n%s"%(string,fielddisplay(self,'temperature','temperature in Kelvins')) 43 string="%s\n%s"%(string,fielddisplay(self,'watercolumn','thickness of subglacial water')) 44 string="%s\n%s"%(string,fielddisplay(self,'waterfraction','fraction of water in the ice')) 34 45 35 46 return string 36 47 #}}} 37 48 38 def setdefaultparameters( obj):49 def setdefaultparameters(self): 39 50 # {{{setdefaultparameters 40 return obj51 return self 41 52 #}}} 42 53 54 def checkconsistency(self,md,solution,analyses): # {{{ 55 if DiagnosticHorizAnalysisEnum() in analyses: 56 if not numpy.any(numpy.logical_or(numpy.isnan(md.initialization.vx),numpy.isnan(md.initialization.vy))): 57 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 58 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) 59 if PrognosticAnalysisEnum() in analyses: 60 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 61 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) 62 if HydrologyAnalysisEnum() in analyses: 63 md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices]) 64 if BalancethicknessAnalysisEnum() in analyses: 65 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 66 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) 67 #Triangle with zero velocity 68 if numpy.any(numpy.logical_and(numpy.sum(numpy.abs(md.initialization.vx[md.mesh.elements.astype(int)-1]),axis=1)==0,\ 69 numpy.sum(numpy.abs(md.initialization.vy[md.mesh.elements.astype(int)-1]),axis=1)==0)): 70 md.checkmessage("at least one triangle has all its vertices with a zero velocity") 71 if ThermalAnalysisEnum() in analyses: 72 md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices]) 73 md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices]) 74 md = checkfield(md,'initialization.vz','NaN',1,'size',[md.mesh.numberofvertices]) 75 md = checkfield(md,'initialization.pressure','NaN',1,'size',[md.mesh.numberofvertices]) 76 if (EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy) or solution==EnthalpySolutionEnum(): 77 md = checkfield(md,'initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices]) 78 79 return md 80 # }}} 81 82 def marshall(self,fid): # {{{ 83 WriteData(fid,'data',self.vx,'format','DoubleMat','mattype',1,'enum',VxEnum()) 84 WriteData(fid,'data',self.vy,'format','DoubleMat','mattype',1,'enum',VyEnum()) 85 WriteData(fid,'data',self.vz,'format','DoubleMat','mattype',1,'enum',VzEnum()) 86 WriteData(fid,'data',self.pressure,'format','DoubleMat','mattype',1,'enum',PressureEnum()) 87 WriteData(fid,'data',self.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum()) 88 WriteData(fid,'data',self.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum()) 89 WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum()) 90 # }}} 91
Note:
See TracChangeset
for help on using the changeset viewer.