Index: /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/solver.m =================================================================== --- /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/solver.m (revision 11387) +++ /proj/ice/larour/issm-uci-clean/trunk-jpl/src/m/classes/solver.m (revision 11388) @@ -5,7 +5,7 @@ classdef solver properties (SetAccess=public) - options={NoneAnalysisEnum,mumpsoptions}; + options=cell(0,0); end methods function obj = solver(varargin) % {{{ @@ -25,22 +25,30 @@ end % }}} function obj = setdefaultparameters(obj) % {{{ + %MUMPS is the default solver + obj.options={'NoneAnalysis',mumpsoptions}; + end % }}} - function obj=addoptions(obj,analysis,solveroptions) % {{{1 + function obj = addoptions(obj,analysis,solveroptions) % {{{1 + + %Convert analysis from enum to string + analysis=EnumToString(analysis); + %first, find out if analysis has already been supplied found=false; for i=1:size(obj.options,1), inanalysis=obj.options{i,1}; - if inanalysis==analysis, + if strcmp(inanalysis,analysis), found=true; - obj.options{i,1}=analysis; - obj.options{i,2}=solveroptions; + obj.options{i,1} = analysis; + obj.options{i,2} = solveroptions; break; end end + if ~found, - obj.options{end+1,1}=analysis; - obj.options{end,2}=solveroptions; + obj.options{end+1,1}= analysis; + obj.options{end,2} = solveroptions; end end %}}} @@ -69,7 +77,7 @@ options=solver.options{i,2}; %first write analysis: - fprintf(fid,'\n+%s\n',EnumToString(analysis)); %append a + to recognize it's an analysis enum + fprintf(fid,'\n+%s\n',analysis); %append a + to recognize it's an analysis enum %now, write options for j=1:size(options,2), @@ -125,7 +133,7 @@ end end - disp(sprintf(' %s -> ''%s''',EnumToString(analysis),string)); + disp(sprintf(' %s -> ''%s''',analysis,string)); end end %}}}