Changeset 26305


Ignore:
Timestamp:
06/08/21 12:01:35 (4 years ago)
Author:
dlcheng
Message:

CHG (JS): Fixes and updates for remaining JS classes for solid earth/sea-level-solver/test2002.

Location:
issm/trunk-jpl/src/m
Files:
3 added
10 edited
1 moved

Legend:

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

    r26300 r26305  
    142142        this.isFS                           = 0;
    143143        this.isNitscheBC                    = 0;
    144         this.FSNitscheGamma                 = 0;
     144        this.FSNitscheGamma                 = 1e6;
    145145        this.fe_SSA                         = '';
    146146        this.fe_HO                          = '';
  • issm/trunk-jpl/src/m/classes/fourierlove.js

    r26300 r26305  
    1818                        this.g0=9.81; // m/s^2;
    1919                        this.r0=6371*1e3; //m;
    20                         this.mu0=10^11; // Pa
     20                        this.mu0=1e11; // Pa
    2121                        this.Gravitational_Constant=6.67259e-11; // m^3 kg^-1 s^-2
    2222                        this.allow_layer_deletion=1;
     
    8686                /*
    8787                if ~isa(md.materials,'materials') | ~sum(strcmpi(md.materials.nature,'litho'))
    88                         error('Need a ''litho'' material to run a Fourier Love number analysis');
     88                        error('Need a "litho" material to run a Fourier Love number analysis');
    8989                end
    9090
  • issm/trunk-jpl/src/m/classes/friction.js

    r26300 r26305  
    6767                        WriteData(fid,prefix,'name','md.friction.law','data',1,'format','Integer');
    6868                        let mattype,tsl;
    69                         if ((size(this.coefficient,1)==md.mesh.numberofvertices | size(this.coefficient,1)==md.mesh.numberofvertices+1)) {
     69                        if ((size(this.coefficient,0)==md.mesh.numberofvertices | size(this.coefficient,1)==md.mesh.numberofvertices+1)) {
    7070                                mattype=1;
    7171                                tsl = md.mesh.numberofvertices;
     
    8181                        switch (this.coupling) {
    8282                                case 0:
     83                                        break;
    8384                                case 1:
    8485                                        WriteData(fid,prefix,'class','friction','object',this,'fieldname','effective_pressure','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
  • issm/trunk-jpl/src/m/classes/geometry.js

    r26300 r26305  
    4848                } // }}}
    4949                this.marshall=function(md,prefix,fid) { //{{{
    50                         let length_thickness=size(this.thickness,1);
     50                        let length_thickness=size(this.thickness,0);
    5151                        if (length_thickness==md.mesh.numberofvertices || length_thickness==md.mesh.numberofvertices+1) {
    5252                                WriteData(fid,prefix,'object',this,'fieldname','thickness','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
  • issm/trunk-jpl/src/m/classes/groundingline.js

    r26300 r26305  
    4747                this.marshall=function(md,prefix,fid) { //{{{
    4848                        WriteData(fid,prefix,'data',this.migration,'name','md.groundingline.migration','format','String');
    49                         WriteData(fid,prefix,'data',this.migration,'name','md.groundingline.friction_interpolation','format','String');
    50                         WriteData(fid,prefix,'data',this.migration,'name','md.groundingline.melt_interpolation','format','String');
     49                        WriteData(fid,prefix,'data',this.friction_interpolation,'name','md.groundingline.friction_interpolation','format','String');
     50                        WriteData(fid,prefix,'data',this.melt_interpolation,'name','md.groundingline.melt_interpolation','format','String');
    5151                }//}}}
    5252                this.fix=function() { //{{{
  • issm/trunk-jpl/src/m/classes/levelset.js

    r26300 r26305  
    88        this.setdefaultparameters = function(){// {{{
    99
    10                 //stabilization = 2 by default
    11                 this.stabilization              = 2;
     10                //stabilization = 1 by default
     11                this.stabilization              = 1;
    1212                this.reinit_frequency   = 5;
    1313                this.kill_icebergs      = 1;
  • issm/trunk-jpl/src/m/classes/mesh3dsurface.js

    r22879 r26305  
    8787                        WriteData(fid,prefix,'object',this,'fieldname','long','format','DoubleMat','mattype',1);
    8888                        WriteData(fid,prefix,'object',this,'fieldname','r','format','DoubleMat','mattype',1);
     89                        //WriteData(fid,prefix,'object',this,'fieldname','z','format','DoubleMat','mattype',1);
    8990                        WriteData(fid,prefix,'object',this,'fieldname','elements','format','DoubleMat','mattype',2);
    9091                        WriteData(fid,prefix,'object',this,'fieldname','numberofelements','format','Integer');
     
    9293                        WriteData(fid,prefix,'object',this,'fieldname','average_vertex_connectivity','format','Integer');
    9394                        WriteData(fid,prefix,'object',this,'fieldname','vertexonboundary','format','DoubleMat','mattype',1);
    94                         WriteData(fid,prefix,'object',this,'fieldname','segments','format','DoubleMat','mattype',3);
     95                        //WriteData(fid,prefix,'object',this,'fieldname','segments','format','DoubleMat','mattype',3);
    9596                }//}}}
    9697                this.fix=function() { //{{{
  • issm/trunk-jpl/src/m/classes/model.js

    r25988 r26305  
    8686                        this.calving          = new calving();
    8787                        this.gia              = new giaivins();
     88                        this.frontforcings    = new frontforcings();
    8889                        this.love             = new fourierlove();
    8990                        this.esa              = new esa();
     
    759760                this.levelset         = 0;
    760761                this.calving          = 0;
     762                this.frontforcings        = 0;
    761763                this.love             = 0;
    762764                this.gia              = 0;
  • issm/trunk-jpl/src/m/classes/transient.js

    r26304 r26305  
    1 //TRANS class definition
     1//TRANSIENT class definition
    22//
    33//   Usage:
    4 //      trans =new trans();
     4//      transient =new transient();
    55
    6 function trans (){
     6function transient (){
    77        //methods
    88        this.setdefaultparameters = function(){// {{{
     
    5858                        if (solution!='TransientSolution') return;
    5959
    60                         checkfield(md,'fieldname','trans.issmb','numel',[1],'values',[0, 1]);
    61                         checkfield(md,'fieldname','trans.ismasstransport','numel',[1],'values',[0, 1]);
    62                         checkfield(md,'fieldname','trans.isstressbalance','numel',[1],'values',[0, 1]);
    63                         checkfield(md,'fieldname','trans.isthermal','numel',[1],'values',[0, 1]);
    64                         checkfield(md,'fieldname','trans.isgroundingline','numel',[1],'values',[0, 1]);
    65                         checkfield(md,'fieldname','trans.isgia','numel',[1],'values',[0, 1]);
    66                         checkfield(md,'fieldname','trans.isesa','numel',[1],'values',[0, 1]);
    67                         checkfield(md,'fieldname','trans.isdamageevolution','numel',[1],'values',[0, 1]);
    68                         checkfield(md,'fieldname','trans.ismovingfront','numel',[1],'values',[0, 1]);
    69                         checkfield(md,'fieldname','trans.ishydrology','numel',[1],'values',[0, 1]);
    70                         checkfield(md,'fieldname','trans.isslr','numel',[1],'values',[0, 1]);
    71                         checkfield(md,'fieldname','trans.isoceancoupling','numel',[1],'values',[0, 1]);
    72                         checkfield(md,'fieldname','trans.iscoupler','numel',[1],'values',[0, 1]);
    73                         checkfield(md,'fieldname','trans.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
    74                         checkfield(md,'fieldname','trans.requested_outputs','stringrow',1);
     60                        checkfield(md,'fieldname','transient.issmb','numel',[1],'values',[0, 1]);
     61                        checkfield(md,'fieldname','transient.ismasstransport','numel',[1],'values',[0, 1]);
     62                        checkfield(md,'fieldname','transient.isstressbalance','numel',[1],'values',[0, 1]);
     63                        checkfield(md,'fieldname','transient.isthermal','numel',[1],'values',[0, 1]);
     64                        checkfield(md,'fieldname','transient.isgroundingline','numel',[1],'values',[0, 1]);
     65                        checkfield(md,'fieldname','transient.isgia','numel',[1],'values',[0, 1]);
     66                        checkfield(md,'fieldname','transient.isesa','numel',[1],'values',[0, 1]);
     67                        checkfield(md,'fieldname','transient.isdamageevolution','numel',[1],'values',[0, 1]);
     68                        checkfield(md,'fieldname','transient.ismovingfront','numel',[1],'values',[0, 1]);
     69                        checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0, 1]);
     70                        checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0, 1]);
     71                        checkfield(md,'fieldname','transient.isoceancoupling','numel',[1],'values',[0, 1]);
     72                        checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0, 1]);
     73                        checkfield(md,'fieldname','transient.amr_frequency','numel',[1],'>=',0,'NaN',1,'Inf',1);
     74                        checkfield(md,'fieldname','transient.requested_outputs','stringrow',1);
    7575                } // }}}
    7676                this.marshall=function(md,prefix,fid) { //{{{
  • issm/trunk-jpl/src/m/classes/verbose.js

    r20777 r26305  
    2525        //methods
    2626        this.setdefaultparameters = function(){// {{{
     27                //switch(nargin),
     28                        //case 0,
     29                this.verbose.solution=true;
     30                this.verbose.qmu=true;
     31                this.verbose.control=true;
    2732        }// }}}
    2833        this.disp= function(){// {{{
     
    6772        //properties
    6873        // {{{
    69         //BEGINFIELDS
    7074        this.mprocessor=false;
    7175        this.module=false;
     
    7781        this.autodiff=false;
    7882        this.smb=false;
    79         //ENDFIELDS
     83
     84        this.setdefaultparameters();
    8085        // }}}
    81         this.setdefaultparameters();
    82         //}}}
    8386}
  • issm/trunk-jpl/src/m/solve/WriteData.js

    r26300 r26305  
    133133        else if (format == 'BooleanMat'){ // {{{
    134134
    135                 //Get size
    136                 var s=[data.length,1];
    137                 if(IsArray(data[0]))s[1]=data[0].length;
     135                //Get size (TODO: use into matlab.js::size)
     136                var s=[data.length,1]; //vector
     137                if (IsArray(data[0])) { //matrix
     138                        s[1]=data[0].length;
     139        } else if (typeof data == 'number') { //scalar
     140                s[0]=1; s[1]=1
     141        } else if (data.length == 0) { //empty matrix/vector
     142            s[1]=0;
     143        }
    138144
    139145                //if matrix = NaN, then do not write anything
    140                 if (s[0]==1 & s[1]==1 & isNaN(data)){
    141                         s[0]=0; s[1]=0;
    142                 }
    143                 if (s[0]==1 & s[1]==1 & isNaN(data[0])){
     146                if (s[0]==1 && s[1]==1 && isNaN(data)){
     147                        s[0]=0; s[1]=0;
     148                }
     149                if (typeof data != 'number' && s[0]==1 && s[1]==1 && isNaN(data[0])){
    144150                        s[0]=0; s[1]=0;
    145151                }
     
    159165        else if (format == 'IntMat'){ // {{{
    160166
    161                 //Get size
    162                 var s=[data.length,1];
    163                 if(IsArray(data[0]))s[1]=data[0].length;
     167                //Get size (TODO: use into matlab.js::size)
     168                var s=[data.length,1]; //vector
     169                if (IsArray(data[0])) { //matrix
     170                        s[1]=data[0].length;
     171        } else if (typeof data == 'number') { //scalar
     172                s[0]=1; s[1]=1
     173        } else if (data.length == 0) { //empty matrix/vector
     174            s[1]=0;
     175        }
    164176
    165177                //if matrix = NaN, then do not write anything
    166                 if (s[0]==1 & s[1]==1 & isNaN(data)){
    167                         s[0]=0; s[1]=0;
    168                 }
    169                 if (s[0]==1 & s[1]==1 & isNaN(data[0])){
     178                if (s[0]==1 && s[1]==1 && isNaN(data)){
     179                        s[0]=0; s[1]=0;
     180                }
     181                if (typeof data != 'number' && s[0]==1 && s[1]==1 && isNaN(data[0])){
    170182                        s[0]=0; s[1]=0;
    171183                }
     
    186198        else if (format == 'DoubleMat'){ // {{{
    187199
    188                 //Get size
    189                 var s=[data.length,1];
    190                 if(IsArray(data[0]))s[1]=data[0].length;
    191                 if(typeof data == 'number'){s[0]=1; s[1]=1}
    192 
     200                //Get size (TODO: use into matlab.js::size)
     201                var s=[data.length,1]; //vector
     202                if (IsArray(data[0])) { //matrix
     203                        s[1]=data[0].length;
     204        } else if (typeof data == 'number') { //scalar
     205                s[0]=1; s[1]=1
     206        } else if (data.length == 0) { //empty matrix/vector
     207            s[1]=0;
     208        }
     209       
    193210                //if matrix = NaN, then do not write anything
    194                 if (s[0]==1 & s[1]==1 & isNaN(data)){
    195                         s[0]=0; s[1]=0;
    196                 }
    197                 if (s[0]==1 & s[1]==1 & isNaN(data[0])){
     211                if (s[0]==1 && s[1]==1 && isNaN(data)){
     212                        s[0]=0; s[1]=0;
     213                }
     214                if (typeof data != 'number' && s[0]==1 && s[1]==1 && isNaN(data[0])){
    198215                        s[0]=0; s[1]=0;
    199216                }
     
    252269                //first get length of string array:
    253270                num=data.length;
    254                 if ((typeof data[0] == 'numeric') & num==1 & isNaN(data[0])){
     271                if ((typeof data[0] == 'number') & num==1 & isNaN(data[0])){
    255272                        num = 0;
    256273                }
Note: See TracChangeset for help on using the changeset viewer.