Index: ../trunk-jpl/src/m/classes/thermal.py =================================================================== --- ../trunk-jpl/src/m/classes/thermal.py (revision 23169) +++ ../trunk-jpl/src/m/classes/thermal.py (revision 23170) @@ -21,8 +21,8 @@ self.penalty_lock = 0 self.penalty_factor = 0 self.isenthalpy = 0 - self.isdynamicbasalspc = 0; - self.fe = 'P1'; + self.isdynamicbasalspc = 0 + self.fe = 'P1' self.requested_outputs = [] #set defaults Index: ../trunk-jpl/src/m/classes/levelset.m =================================================================== --- ../trunk-jpl/src/m/classes/levelset.m (revision 23169) +++ ../trunk-jpl/src/m/classes/levelset.m (revision 23170) @@ -9,6 +9,7 @@ spclevelset = NaN; reinit_frequency = 5; calving_max = 0.; + fe = 'P1'; end methods function self = levelset(varargin) % {{{ @@ -40,6 +41,9 @@ self.reinit_frequency = 5; self.calving_max = 3000.; + %Linear elements by default + self.fe='P1'; + end % }}} function md = checkconsistency(self,md,solution,analyses) % {{{ %Early return @@ -48,6 +52,7 @@ md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1); md = checkfield(md,'fieldname','levelset.stabilization','values',[0 1 2]); md = checkfield(md,'fieldname','levelset.calving_max','numel',1,'NaN',1,'Inf',1,'>',0); + md = checkfield(md,'fieldname','levelset.fe','values',{'P1','P2'}); end % }}} function disp(self) % {{{ disp(sprintf(' Level-set parameters:')); @@ -55,6 +60,7 @@ fielddisplay(self,'spclevelset','Levelset constraints (NaN means no constraint)'); fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized'); fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)'); + fielddisplay(self,'fe','Finite Element type: ''P1'' (default), or ''P2'''); end % }}} function marshall(self,prefix,md,fid) % {{{ @@ -64,6 +70,7 @@ WriteData(fid,prefix,'object',self,'fieldname','spclevelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer'); WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts); + WriteData(fid,prefix,'object',self,'fieldname','fe','format','String'); end % }}} function savemodeljs(self,fid,modelname) % {{{ Index: ../trunk-jpl/src/m/classes/levelset.py =================================================================== --- ../trunk-jpl/src/m/classes/levelset.py (revision 23169) +++ ../trunk-jpl/src/m/classes/levelset.py (revision 23170) @@ -17,6 +17,7 @@ self.spclevelset = float('NaN') self.reinit_frequency = 0 self.calving_max = 0. + self.fe = 'P1' #set defaults self.setdefaultparameters() @@ -28,6 +29,7 @@ string="%s\n%s"%(string,fielddisplay(self,'spclevelset','levelset constraints (NaN means no constraint)')) string="%s\n%s"%(string,fielddisplay(self,'reinit_frequency','Amount of time steps after which the levelset function in re-initialized')) string="%s\n%s"%(string,fielddisplay(self,'calving_max','maximum allowed calving rate (m/a)')) + string="%s\n%s"%(string,fielddisplay(self,'fe','Finite Element type: ''P1'' (default), or ''P2''')) return string #}}} @@ -40,8 +42,11 @@ #stabilization = 1 by default self.stabilization = 1 self.reinit_frequency = 5 - self.calving_max = 3000 + self.calving_max = 3000. + #Linear elements by default + self.fe='P1' + return self #}}} def checkconsistency(self,md,solution,analyses): # {{{ @@ -53,6 +58,7 @@ md = checkfield(md,'fieldname','levelset.spclevelset','Inf',1,'timeseries',1) md = checkfield(md,'fieldname','levelset.stabilization','values',[0,1,2]); md = checkfield(md,'fieldname','levelset.calving_max','NaN',1,'Inf',1,'>',0); + md = checkfield(md,'fieldname','levelset.fe','values',['P1','P2']); return md # }}} @@ -64,4 +70,5 @@ WriteData(fid,prefix,'object',self,'fieldname','spclevelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); WriteData(fid,prefix,'object',self,'fieldname','reinit_frequency','format','Integer'); WriteData(fid,prefix,'object',self,'fieldname','calving_max','format','Double','scale',1./yts); + WriteData(fid,prefix,'object',self,'fieldname','fe','format','String'); # }}}