Changeset 15878


Ignore:
Timestamp:
08/22/13 11:44:11 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added free surface solver for bottom and upper surface, not working yet

Location:
issm/trunk-jpl/src/m/classes
Files:
2 edited

Legend:

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

    r15768 r15878  
    77        properties (SetAccess=public)
    88                 spcthickness           = NaN;
     9                 isfreesurface          = 0;
    910                 min_thickness          = 0;
    1011                 hydrostatic_adjustment = 0;
     
    7980
    8081                        md = checkfield(md,'masstransport.spcthickness','forcing',1);
     82                        md = checkfield(md,'masstransport.isfreesurface','values',[0 1]);
    8183                        md = checkfield(md,'masstransport.hydrostatic_adjustment','values',{'Absolute' 'Incremental'});
    8284                        md = checkfield(md,'masstransport.stabilization','values',[0 1 2 3]);
     
    9092                        disp(sprintf('   Masstransport solution parameters:'));
    9193                        fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]');
     94                        fielddisplay(obj,'isfreesurface','do we use free surfaces (FS only) are mass conservation');
    9295                        fielddisplay(obj,'min_thickness','minimum ice thickness allowed [m]');
    9396                        fielddisplay(obj,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' ');
     
    102105                function marshall(obj,md,fid) % {{{
    103106                        WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
     107                        WriteData(fid,'object',obj,'fieldname','isfreesurface','format','Boolean');
    104108                        WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double');
    105109                        WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum());
  • issm/trunk-jpl/src/m/classes/masstransport.py

    r15767 r15878  
    1515        def __init__(self): # {{{
    1616                self.spcthickness           = float('NaN')
     17                self.isfreesurface          = 0
    1718                self.min_thickness          = 0
    1819                self.hydrostatic_adjustment = 0
     
    2930                string='   Masstransport solution parameters:'
    3031                string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]'))
     32                string="%s\n%s"%(string,fielddisplay(self,'isfreesurface','do we use free surfaces (FS only) are mass conservation'))
    3133                string="%s\n%s"%(string,fielddisplay(self,'min_thickness','minimum ice thickness allowed [m]'))
    3234                string="%s\n%s"%(string,fielddisplay(self,'hydrostatic_adjustment','adjustment of ice shelves surface and bed elevations: ''Incremental'' or ''Absolute'' '))
     
    5961
    6062                md = checkfield(md,'masstransport.spcthickness','forcing',1)
     63                md = checkfield(md,'masstransport.isfreesurface','values',[0 1])
    6164                md = checkfield(md,'masstransport.hydrostatic_adjustment','values',['Absolute','Incremental'])
    6265                md = checkfield(md,'masstransport.stabilization','values',[0,1,2,3])
     
    6972        def marshall(self,md,fid):    # {{{
    7073                WriteData(fid,'object',self,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1)
     74                WriteData(fid,'object',self,'fieldname','isfreesurface','format','Boolean')
    7175                WriteData(fid,'object',self,'fieldname','min_thickness','format','Double')
    7276                WriteData(fid,'data',StringToEnum(self.hydrostatic_adjustment)[0],'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum())
Note: See TracChangeset for help on using the changeset viewer.