Changeset 22296


Ignore:
Timestamp:
12/21/17 14:58:51 (7 years ago)
Author:
Mathieu Morlighem
Message:

BUG: had to rename settings class issmsettings in order to avoid compatibility issue with MATLAB's settings function

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

Legend:

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

    r22194 r22296  
    128128                        %2016 October 11
    129129                        if isa(md.esa,'double'); md.esa=esa(); end
     130                        %2017 Dec 21st (needs to be here)
     131                        if isempty(md.settings)
     132                                disp('Warning: md.settings had to be reset, make sure to adjust md.settings.output_frequency and other fields');
     133                                md.settings = issmsettings();
     134                        end
    130135                        %2017 February 10th
    131136                        if md.settings.solver_residue_threshold==0,
     
    11461151                        md.debug            = debug();
    11471152                        md.verbose          = verbose();
    1148                         md.settings         = settings();
     1153                        md.settings         = issmsettings();
    11491154                        md.toolkits         = toolkits();
    11501155                        md.cluster          = generic();
  • TabularUnified issm/trunk-jpl/src/m/classes/qmu/continuous_design.m

    r13646 r22296  
    3131%
    3232classdef continuous_design
    33     properties
    34         descriptor='';
    35         initpt    = 0.;
    36         lower     =-Inf;
    37         upper     = Inf;
    38         scale_type='none';
    39         scale     = 1.;
    40     end
    41 
    42     methods
    43         function [cdv]=continuous_design(varargin)
    44 
    45             switch nargin
    46 
    47 %  create a default object
    48 
    49                 case 0
    50 
    51 %  copy the object
    52 
    53                 case 1
    54                     if isa(varargin{1},'continuous_design')
    55                         cdv=varargin{1};
    56                     else
    57                         error('Object ''%s'' is a ''%s'' class object, not ''%s''.',...
    58                             inputname(1),class(varargin{1}),'continuous_design');
    59                     end
    60 
    61 %  create the object from the input
    62 
    63                 otherwise
    64                     asizec=num2cell(array_size(varargin{1:min(nargin,6)}));
    65                     cdv(asizec{:})=continuous_design;
    66                     clear asizec
    67 
    68                     if ischar(varargin{1})
    69                         varargin{1}=cellstr(varargin{1});
    70                     end
    71                     for i=1:numel(cdv)
    72                         if (numel(varargin{1}) > 1)
    73                             cdv(i).descriptor=varargin{1}{i};
    74                         else
    75                             cdv(i).descriptor=[char(varargin{1}) string_dim(cdv,i,'vector')];
    76                         end
    77                     end
    78 
    79                     if (nargin >= 2)
    80                         for i=1:numel(cdv)
    81                             if (numel(varargin{2}) > 1)
    82                                 cdv(i).initpt    =varargin{2}(i);
    83                             else
    84                                 cdv(i).initpt    =varargin{2};
    85                             end
    86                         end
    87                         if (nargin >= 3)
    88                             for i=1:numel(cdv)
    89                                 if (numel(varargin{3}) > 1)
    90                                     cdv(i).lower     =varargin{3}(i);
    91                                 else
    92                                     cdv(i).lower     =varargin{3};
    93                                 end
    94                             end
    95                             if (nargin >= 4)
    96                                 for i=1:numel(cdv)
    97                                     if (numel(varargin{4}) > 1)
    98                                         cdv(i).upper     =varargin{4}(i);
    99                                     else
    100                                         cdv(i).upper     =varargin{4};
    101                                     end
    102                                 end
    103                                 if (nargin >= 5)
    104                                     if ischar(varargin{5})
    105                                         varargin{5}=cellstr(varargin{5});
    106                                     end
    107                                     for i=1:numel(cdv)
    108                                         if (numel(varargin{5}) > 1)
    109                                             cdv(i).scale_type=varargin{5}{i};
    110                                         else
    111                                             cdv(i).scale_type=char(varargin{5});
    112                                         end
    113                                     end
    114                                     if (nargin >= 6)
    115                                         for i=1:numel(cdv)
    116                                             if (numel(varargin{6}) > 1)
    117                                                 cdv(i).scale     =varargin{6}(i);
    118                                             else
    119                                                 cdv(i).scale     =varargin{6};
    120                                             end
    121                                         end
    122                                         if (nargin > 6)
    123                                             warning('continuous_design:extra_arg',...
    124                                                 'Extra arguments for object of class ''%s''.',...
    125                                                 class(cdv));
    126                                         end
    127                                     end
    128                                 end
    129                             end
    130                         end
    131                     end
    132             end
    133 
    134         end
    135 
    136         function []=disp(cdv)
    137 
    138 %  display the object
    139 
    140             disp(sprintf('\n'));
    141             for i=1:numel(cdv)
    142                 disp(sprintf('class ''%s'' object ''%s%s'' = \n',...
    143                     class(cdv),inputname(1),string_dim(cdv,i)));
    144                 disp(sprintf('    descriptor: ''%s'''  ,cdv(i).descriptor));
    145                 disp(sprintf('        initpt: %g'      ,cdv(i).initpt));
    146                 disp(sprintf('         lower: %g'      ,cdv(i).lower));
    147                 disp(sprintf('         upper: %g'      ,cdv(i).upper));
    148                 disp(sprintf('    scale_type: ''%s'''  ,cdv(i).scale_type));
    149                 disp(sprintf('         scale: %g\n'    ,cdv(i).scale));
    150             end
    151 
    152         end
    153 
    154         function [desc]  =prop_desc(cdv,dstr)
    155             desc=cell(1,numel(cdv));
    156             for i=1:numel(cdv)
    157                 if ~isempty(cdv(i).descriptor)
    158                     desc(i)=cellstr(cdv(i).descriptor);
    159                 elseif ~isempty(inputname(1))
    160                     desc(i)=cellstr([inputname(1) string_dim(cdv,i,'vector')]);
    161                 elseif exist('dstr','var')
    162                     desc(i)=cellstr([dstr         string_dim(cdv,i,'vector')]);
    163                 else
    164                     desc(i)=cellstr(['cdv'        string_dim(cdv,i,'vector')]);
    165                 end
    166             end
    167             desc=allempty(desc);
    168         end
    169         function [initpt]=prop_initpt(cdv)
    170             initpt=zeros(1,numel(cdv));
    171             for i=1:numel(cdv)
    172                 initpt(i)=cdv(i).initpt;
    173             end
    174             initpt=allequal(initpt,0.);
    175         end
    176         function [lower] =prop_lower(cdv)
    177             lower=zeros(1,numel(cdv));
    178             for i=1:numel(cdv)
    179                 lower(i)=cdv(i).lower;
    180             end
    181             lower=allequal(lower,-Inf);
    182         end
    183         function [upper] =prop_upper(cdv)
    184             upper=zeros(1,numel(cdv));
    185             for i=1:numel(cdv)
    186                 upper(i)=cdv(i).upper;
    187             end
    188             upper=allequal(upper, Inf);
    189         end
    190         function [mean]  =prop_mean(cdv)
    191             mean=[];
    192         end
    193         function [stddev]=prop_stddev(cdv)
    194             stddev=[];
    195         end
    196         function [initst]=prop_initst(cdv)
    197             initst=[];
    198         end
    199         function [stype] =prop_stype(cdv)
    200             stype=cell(1,numel(cdv));
    201             for i=1:numel(cdv)
    202                 stype(i)=cellstr(cdv(i).scale_type);
    203             end
    204             stype=allequal(stype,'none');
    205         end
    206         function [scale] =prop_scale(cdv)
    207             scale=zeros(1,numel(cdv));
    208             for i=1:numel(cdv)
    209                 scale(i)=cdv(i).scale;
    210             end
    211             scale=allequal(scale,1.);
    212         end
    213     end
    214 
    215     methods (Static)
    216         function []=dakota_write(fidi,dvar)
    217 
    218 %  collect only the variables of the appropriate class
    219 
    220             cdv=struc_class(dvar,'continuous_design');
    221 
    222 %  write variables
    223 
    224             vlist_write(fidi,'continuous_design','cdv',cdv);
    225         end
    226     end
     33        properties
     34                descriptor='';
     35                initpt    = 0.;
     36                lower     =-Inf;
     37                upper     = Inf;
     38                scale_type='none';
     39                scale     = 1.;
     40        end
     41
     42        methods
     43                function [cdv]=continuous_design(varargin)
     44
     45                        switch nargin
     46
     47                                %  create a default object
     48
     49                                case 0
     50
     51                                        %  copy the object
     52
     53                                case 1
     54                                        if isa(varargin{1},'continuous_design')
     55                                                cdv=varargin{1};
     56                                        else
     57                                                error('Object ''%s'' is a ''%s'' class object, not ''%s''.',...
     58                                                        inputname(1),class(varargin{1}),'continuous_design');
     59                                        end
     60
     61                                        %  create the object from the input
     62
     63                                otherwise
     64                                        asizec=num2cell(array_size(varargin{1:min(nargin,6)}));
     65                                        cdv(asizec{:})=continuous_design;
     66                                        clear asizec
     67
     68                                        if ischar(varargin{1})
     69                                                varargin{1}=cellstr(varargin{1});
     70                                        end
     71                                        for i=1:numel(cdv)
     72                                                if (numel(varargin{1}) > 1)
     73                                                        cdv(i).descriptor=varargin{1}{i};
     74                                                else
     75                                                        cdv(i).descriptor=[char(varargin{1}) string_dim(cdv,i,'vector')];
     76                                                end
     77                                        end
     78
     79                                        if (nargin >= 2)
     80                                                for i=1:numel(cdv)
     81                                                        if (numel(varargin{2}) > 1)
     82                                                                cdv(i).initpt    =varargin{2}(i);
     83                                                        else
     84                                                                cdv(i).initpt    =varargin{2};
     85                                                        end
     86                                                end
     87                                                if (nargin >= 3)
     88                                                        for i=1:numel(cdv)
     89                                                                if (numel(varargin{3}) > 1)
     90                                                                        cdv(i).lower     =varargin{3}(i);
     91                                                                else
     92                                                                        cdv(i).lower     =varargin{3};
     93                                                                end
     94                                                        end
     95                                                        if (nargin >= 4)
     96                                                                for i=1:numel(cdv)
     97                                                                        if (numel(varargin{4}) > 1)
     98                                                                                cdv(i).upper     =varargin{4}(i);
     99                                                                        else
     100                                                                                cdv(i).upper     =varargin{4};
     101                                                                        end
     102                                                                end
     103                                                                if (nargin >= 5)
     104                                                                        if ischar(varargin{5})
     105                                                                                varargin{5}=cellstr(varargin{5});
     106                                                                        end
     107                                                                        for i=1:numel(cdv)
     108                                                                                if (numel(varargin{5}) > 1)
     109                                                                                        cdv(i).scale_type=varargin{5}{i};
     110                                                                                else
     111                                                                                        cdv(i).scale_type=char(varargin{5});
     112                                                                                end
     113                                                                        end
     114                                                                        if (nargin >= 6)
     115                                                                                for i=1:numel(cdv)
     116                                                                                        if (numel(varargin{6}) > 1)
     117                                                                                                cdv(i).scale     =varargin{6}(i);
     118                                                                                        else
     119                                                                                                cdv(i).scale     =varargin{6};
     120                                                                                        end
     121                                                                                end
     122                                                                                if (nargin > 6)
     123                                                                                        warning('continuous_design:extra_arg',...
     124                                                                                                'Extra arguments for object of class ''%s''.',...
     125                                                                                                class(cdv));
     126                                                                                end
     127                                                                        end
     128                                                                end
     129                                                        end
     130                                                end
     131                                        end
     132                        end
     133
     134                end
     135
     136                function []=disp(cdv)
     137
     138                        %  display the object
     139
     140                        disp(sprintf('\n'));
     141                        for i=1:numel(cdv)
     142                                disp(sprintf('class ''%s'' object ''%s%s'' = \n',...
     143                                        class(cdv),inputname(1),string_dim(cdv,i)));
     144                                disp(sprintf('    descriptor: ''%s'''  ,cdv(i).descriptor));
     145                                disp(sprintf('        initpt: %g'      ,cdv(i).initpt));
     146                                disp(sprintf('         lower: %g'      ,cdv(i).lower));
     147                                disp(sprintf('         upper: %g'      ,cdv(i).upper));
     148                                disp(sprintf('    scale_type: ''%s'''  ,cdv(i).scale_type));
     149                                disp(sprintf('         scale: %g\n'    ,cdv(i).scale));
     150                        end
     151
     152                end
     153
     154                function [desc]  =prop_desc(cdv,dstr)
     155                        desc=cell(1,numel(cdv));
     156                        for i=1:numel(cdv)
     157                                if ~isempty(cdv(i).descriptor)
     158                                        desc(i)=cellstr(cdv(i).descriptor);
     159                                elseif ~isempty(inputname(1))
     160                                        desc(i)=cellstr([inputname(1) string_dim(cdv,i,'vector')]);
     161                                elseif exist('dstr','var')
     162                                        desc(i)=cellstr([dstr         string_dim(cdv,i,'vector')]);
     163                                else
     164                                        desc(i)=cellstr(['cdv'        string_dim(cdv,i,'vector')]);
     165                                end
     166                        end
     167                        desc=allempty(desc);
     168                end
     169                function [initpt]=prop_initpt(cdv)
     170                        initpt=zeros(1,numel(cdv));
     171                        for i=1:numel(cdv)
     172                                initpt(i)=cdv(i).initpt;
     173                        end
     174                        initpt=allequal(initpt,0.);
     175                end
     176                function [lower] =prop_lower(cdv)
     177                        lower=zeros(1,numel(cdv));
     178                        for i=1:numel(cdv)
     179                                lower(i)=cdv(i).lower;
     180                        end
     181                        lower=allequal(lower,-Inf);
     182                end
     183                function [upper] =prop_upper(cdv)
     184                        upper=zeros(1,numel(cdv));
     185                        for i=1:numel(cdv)
     186                                upper(i)=cdv(i).upper;
     187                        end
     188                        upper=allequal(upper, Inf);
     189                end
     190                function [mean]  =prop_mean(cdv)
     191                        mean=[];
     192                end
     193                function [stddev]=prop_stddev(cdv)
     194                        stddev=[];
     195                end
     196                function [initst]=prop_initst(cdv)
     197                        initst=[];
     198                end
     199                function [stype] =prop_stype(cdv)
     200                        stype=cell(1,numel(cdv));
     201                        for i=1:numel(cdv)
     202                                stype(i)=cellstr(cdv(i).scale_type);
     203                        end
     204                        stype=allequal(stype,'none');
     205                end
     206                function [scale] =prop_scale(cdv)
     207                        scale=zeros(1,numel(cdv));
     208                        for i=1:numel(cdv)
     209                                scale(i)=cdv(i).scale;
     210                        end
     211                        scale=allequal(scale,1.);
     212                end
     213        end
     214
     215        methods (Static)
     216                function []=dakota_write(fidi,dvar)
     217
     218                        %  collect only the variables of the appropriate class
     219
     220                        cdv=struc_class(dvar,'continuous_design');
     221
     222                        %  write variables
     223
     224                        vlist_write(fidi,'continuous_design','cdv',cdv);
     225                end
     226        end
    227227end
Note: See TracChangeset for help on using the changeset viewer.