Changeset 9749


Ignore:
Timestamp:
09/09/11 16:46:53 (14 years ago)
Author:
Mathieu Morlighem
Message:

Added some checks

Location:
issm/trunk/src/m/classes
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/basalforcings.m

    r9739 r9749  
    3737                function checkconsistency(obj,md) % {{{
    3838
     39                        fields={'melting_rate','geothermalflux'};
     40                        checksize(md,'basalforcings',fields,[md.mesh.numberofvertices 1]);
    3941                end % }}}
    4042        end
  • issm/trunk/src/m/classes/constants.m

    r9730 r9749  
    4747                function flag = checkconsistency(obj,md) % {{{
    4848
     49                        fields={'g'};
     50                        checknan(md,'constants',fields);
     51                        checkgreaterstrict(md,'constants',fields,0);
     52
    4953                end % }}}
    5054        end
  • issm/trunk/src/m/classes/diagnostic.m

    r9739 r9749  
    7878                end % }}}
    7979                function checkconsistency(obj,md) % {{{
     80
     81                        fields={'restol','maxiter'};
     82                        checknan(md,'diagnostic',fields);
     83
     84                        fields={'abstol','restol','reltol'};
     85                        checkgreaterstrict(md,'diagnostic',fields,0);
     86
    8087                        fields={'icefront'};
    8188                        if (md.mesh.dimension==2),
     
    8693                        fields={'icefront(:,end)'};
    8794                        checkvalues(md,'diagnostic',fields,[0 1 2]);
     95
     96                        fields={'referential'};
     97                        checksize(md,'diagnostic',fields,[md.mesh.numberofvertices 6]);
     98
     99                        if ~isempty(md.diagnostic.requested_outputs),
     100                                if(size(md.diagnostic.requested_outputs,2)~=1),
     101                                        checkmessage(['model ' md.miscellaneous.name ' requested outputs should be a column vector']);
     102                                end
     103                        end
     104
    88105                end % }}}
    89106                function disp(obj) % {{{
  • issm/trunk/src/m/classes/friction.m

    r9739 r9749  
    3838                function checkconsistency(obj,md) % {{{
    3939
     40                        fields={'coefficient','p','q'};
     41                        checknan(md,'friction',fields);
     42                        checkgreater(md,'friction',fields,0);
     43
     44                        fields={'p','q'};
     45                        checksize(md,'friction',fields,[md.mesh.numberofelements 1]);
     46
     47                        fields={'coefficient'};
     48                        checksize(md,'friction',fields,[md.mesh.numberofvertices 1]);
    4049                end % }}}
    4150                function disp(obj) % {{{
  • issm/trunk/src/m/classes/geometry.m

    r9739 r9749  
    3939                end % }}}
    4040                function checkconsistency(obj,md) % {{{
     41                        fields={'surface','thickness','bed'};
     42                        checknan(md,'geometry',fields);
     43                        checksize(md,'geometry',fields,[md.mesh.numberofvertices 1]);
    4144
     45                        fields={'thickness'};
     46                        checkgreater(md,'geometry',fields,0);
     47
     48                        if any((obj.thickness-obj.surface+obj.bed)>10^-9),
     49                                checkmessage(['equality thickness=surface-bed violated']);
     50                        end
    4251                end % }}}
    4352        end
  • issm/trunk/src/m/classes/inversion.m

    r9739 r9749  
    8888                function checkconsistency(obj,md) % {{{
    8989
     90                        %Early return
     91                        if ~obj.iscontrol, return; end
     92
     93                        %Check NaN
     94                        fields={'nsteps','maxiter_per_step'};
     95                        checknan(md,'materials',fields);
     96
    9097                end % }}}
    9198                function disp(obj) % {{{
  • issm/trunk/src/m/classes/mask.m

    r9739 r9749  
    4141                function checkconsistency(obj,md) % {{{
    4242
     43                        fields=properties('mask');
     44                        checknan(md,'mask',fields);
     45                        checkvalues(md,'mask',fields,[0 1]);
     46
     47                        fields={'elementonfloatingice','elementongroundedice','elementonwater'};
     48                        checksize(md,'mask',fields,[md.mesh.numberofelements 1]);
     49
     50                        fields={'vertexonfloatingice','vertexongroundedice','vertexonwater'};
     51                        checksize(md,'mask',fields,[md.mesh.numberofvertices 1]);
    4352                end % }}}
    4453                function disp(obj) % {{{
  • issm/trunk/src/m/classes/materials.m

    r9739 r9749  
    7676                end % }}}
    7777                function checkconsistency(obj,md) % {{{
     78                        fields={'rho_ice','rho_water','rheology_B','rheology_n'};
     79                        checknan(md,'materials',fields);
     80                        checkgreater(md,'materials',fields,0);
    7881
     82                        fields={'rheology_n'};
     83                        checksize(md,'materials',fields,[md.mesh.numberofelements 1]);
     84
     85                        fields={'rheology_B'};
     86                        checksize(md,'materials',fields,[md.mesh.numberofvertices 1]);
    7987                end % }}}
    8088                function disp(obj) % {{{
  • issm/trunk/src/m/classes/mesh.m

    r9739 r9749  
    8080                function checkconsistency(obj,md) % {{{
    8181
    82                         fields={'dimension'};
     82                        fields={'x','y','z','elements','elementonbed','elementonsurface','vertexonbed','vertexonsurface','elementconnectivity'};
     83                        checknan(md,'mesh',fields);
     84
     85                        fields={'elements','elementonbed','elementonsurface','vertexonbed','vertexonsurface','elementconnectivity'};
     86                        checkgreater(md,'mesh',fields,0);
     87
     88                        fields={'dimension','elements','numberofelements','numberofvertices'};
    8389                        checkgreaterstrict(md,'mesh',fields,0);
     90                       
     91                        fields={'vertexonbed','vertexonsurface','x','y','z'};
     92                        checksize(md,'mesh',fields,[md.mesh.numberofvertices 1]);
     93
     94                        fields={'elementonbed','elementonsurface'};
     95                        checksize(md,'mesh',fields,[md.mesh.numberofelements 1]);
    8496
    8597                        fields={'elements'};
  • issm/trunk/src/m/classes/settings.m

    r9739 r9749  
    5454                function checkconsistency(obj,md) % {{{
    5555
     56                        fields={'lowmem'};
     57                        checknan(md,'settings',fields);
     58                        checkvalues(md,'settings',fields,[0 1]);
     59
    5660                end % }}}
    5761        end
Note: See TracChangeset for help on using the changeset viewer.