Ignore:
Timestamp:
09/02/20 12:00:13 (5 years ago)
Author:
Cheng Gong
Message:

NEW: Galerkin Least Squares stabilization for P1P1 elements in FS is added together with a Nitsches method for weakly imposing Dirichlet boundary condition on the bottom surface of the ice. Current issue: the nonlinear iteration may fail to converge if the number of vertical layers is too small(~5).

File:
1 edited

Legend:

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

    r24861 r25514  
    1111                isHO                           = 0;
    1212                isFS                           = 0;
     13                isNitscheBC                    = 0;
     14      FSNitscheGamma                 = 1e6;
    1315                fe_SSA                         = '';
    1416                fe_HO                          = '';
     
    98100                        md = checkfield(md,'fieldname','flowequation.isHO','numel',[1],'values',[0 1]);
    99101                        md = checkfield(md,'fieldname','flowequation.isFS','numel',[1],'values',[0 1]);
     102                        md = checkfield(md,'fieldname','flowequation.isNitscheBC','numel',[1],'values',[0 1]);
     103                        md = checkfield(md,'fieldname','flowequation.FSNitscheGamma','numel',[1], '>=', 0.);
    100104                        md = checkfield(md,'fieldname','flowequation.fe_SSA','values',{'P1','P1bubble','P1bubblecondensed','P2','P2bubble'});
    101105                        md = checkfield(md,'fieldname','flowequation.fe_HO' ,'values',{'P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P2bubble','P1xP3','P1xP4','P2xP4'});
     
    144148                        fielddisplay(self,'isHO','is the Higher-Order (HO) approximation used ?');
    145149                        fielddisplay(self,'isFS','are the Full-FS (FS) equations used ?');
     150                        fielddisplay(self,'isNitscheBC','is weakly imposed condition used?');
     151                        fielddisplay(self,'FSNitscheGamma','Gamma value for the Nitsche term, by default gamma=1e6?');
    146152                        fielddisplay(self,'fe_SSA','Finite Element for SSA  ''P1'', ''P1bubble'' ''P1bubblecondensed'' ''P2''');
    147153                        fielddisplay(self,'fe_HO', 'Finite Element for HO   ''P1'' ''P1bubble'' ''P1bubblecondensed'' ''P1xP2'' ''P2xP1'' ''P2''');
     
    160166                        WriteData(fid,prefix,'object',self,'fieldname','isHO','format','Boolean');
    161167                        WriteData(fid,prefix,'object',self,'fieldname','isFS','format','Boolean');
     168                        WriteData(fid,prefix,'object',self,'fieldname','isNitscheBC','format','Boolean');
     169                        WriteData(fid,prefix,'object',self,'fieldname','FSNitscheGamma','format','Double');
    162170                        WriteData(fid,prefix,'object',self,'fieldname','fe_SSA','data',self.fe_SSA,'format','String');
    163171                        WriteData(fid,prefix,'object',self,'fieldname','fe_HO' ,'data',self.fe_HO,'format','String');
     
    182190                        writejsdouble(fid,[modelname '.flowequation.isHO'],self.isHO);
    183191                        writejsdouble(fid,[modelname '.flowequation.isFS'],self.isFS);
    184                         writejsstring(fid,[modelname '.flowequation.fe_SSA'],self.fe_SSA);
     192         writejsstring(fid,[modelname '.flowequation.isNitscheBC'],self.isNitscheBC);
     193         writejsstring(fid,[modelname '.flowequation.FSNitscheGamma'],self.FSNitscheGamma);
     194         writejsstring(fid,[modelname '.flowequation.fe_SSA'],self.fe_SSA);
    185195                        writejsstring(fid,[modelname '.flowequation.fe_HO'],self.fe_HO);
    186196                        writejsstring(fid,[modelname '.flowequation.fe_FS'],self.fe_FS);
Note: See TracChangeset for help on using the changeset viewer.