Changeset 5359


Ignore:
Timestamp:
08/18/10 10:14:17 (15 years ago)
Author:
Mathieu Morlighem
Message:

Control_type is now an enum and moved RheologyB2d to RheologyBbar

Location:
issm/trunk/src/m/classes/public
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/public/display/displaycontrol.m

    r4848 r5359  
    1111disp(sprintf('   Control solution parameters:\n'));
    1212if md.control_analysis,
    13         fielddisplay(md,'control_type','parameter where inverse control is carried out; ex: ''drag_coefficient'', or ''rheology_B'')');
     13        fielddisplay(md,'control_type','parameter where inverse control is carried out; ex: DragCoefficientEnum, or RheologyBbarEnum)');
    1414        fielddisplay(md,'weights','weights applied to the misfit of each node');
    1515        fielddisplay(md,'nsteps','number of optimization searches');
    1616        fielddisplay(md,'eps_cm','misfit convergence criterion. Default is 1%, NaN if not applied');
    1717        fielddisplay(md,'optscal','scaling factor on gradient direction during optimization, for each optimization step');
    18         fielddisplay(md,'fit','''absolute: 0'', ''relative: 1'', or ''logarithmic: 2''. for each optimization steps');
     18        fielddisplay(md,'cmResponses','for each optimization steps: SurfaceVelAbsMisfitEnum, ...');
    1919        fielddisplay(md,'maxiter','maximum iterations during each optimization step');
    2020        fielddisplay(md,'tolx','minimum tolerance which will stop one optimization search');
  • issm/trunk/src/m/classes/public/graddetection.m

    r3923 r5359  
    1414
    1515%plug optimized parameter in model.
    16 md2.(md2.results.DiagnosticAnalysis.control_type)=parameter1;
     16md2.(EnumToModelField(md2.results.DiagnosticAnalysis.control_type))=parameter1;
    1717
    1818%put nsteps to 1:
  • issm/trunk/src/m/classes/public/ismodelselfconsistent.m

    r5357 r5359  
    343343
    344344        %CONTROL TYPE
    345         if ~ischar(md.control_type),
    346                 error('model not consistent: control_type should be a string');
    347         end
    348         if ~(strcmpi(md.control_type,'rheology_B') | strcmpi(md.control_type,'drag_coefficient') | strcmpi(md.control_type,'dhdt')),
    349                 error('model not consistent: control_type should be rheology_B or drag_coefficient');
    350         end
     345        if ~isnumeric(md.control_type),
     346                error('model not consistent: control_type should be an enum');
     347        end
     348        checkvalues(md,{'control_type'},[DhDtEnum DragCoefficientEnum RheologyBbarEnum]);
    351349
    352350        %LENGTH CONTROL FIELDS
  • issm/trunk/src/m/classes/public/marshall.m

    r5282 r5359  
    100100%Control methods
    101101WriteData(fid,md.control_analysis,'Integer','control_analysis');
    102 WriteData(fid,md.control_type,'String','control_type');
     102WriteData(fid,md.control_type,'Integer','control_type');
    103103
    104104%Write solution parameters
  • issm/trunk/src/m/classes/public/parametercontroloptimization.m

    r3923 r5359  
    3333md2.cm_mindmp_slope=0;
    3434md2.nsteps=getfieldvalue(options,'nsteps',5);
    35 md2.control_type=getfieldvalue(options,'md2.control_type','drag');
     35md2.control_type=getfieldvalue(options,'md2.control_type',DragCoefficientEnum);
    3636md2.maxiter=10*ones(md2.nsteps,1);
    3737md2.cm_jump=0.99*ones(md2.nsteps,1);
  • issm/trunk/src/m/classes/public/parameterization/parametercontrolB.m

    r5250 r5359  
    2222
    2323%control type
    24 md.control_type='rheology_B';
     24md.control_type=RheologyBbarEnum;
    2525
    2626%weights
  • issm/trunk/src/m/classes/public/parameterization/parametercontroldrag.m

    r5191 r5359  
    2222
    2323%control type
    24 md.control_type='drag_coefficient';
     24md.control_type=DragCoefficientEnum;
    2525
    2626%weights
  • issm/trunk/src/m/classes/public/tres.m

    r5309 r5359  
    4040        end
    4141        if md.control_analysis==1,
    42                 md.(md.control_type)=PatchToVec(md.results.DiagnosticSolution.(md.results.DiagnosticSolution.ControlType));
     42                if (md.control_type==DragCoefficientEnum)
     43                        md.drag_coefficient=PatchToVec(md.results.DiagnosticSolution.(md.results.DiagnosticSolution.ControlType));
     44                elseif (md.control_type==RheologyBbarEnum)
     45                        md.rheology_B=PatchToVec(md.results.DiagnosticSolution.(md.results.DiagnosticSolution.ControlType));
     46                elseif (md.control_type==DhDtEnum)
     47                        md.dhdt=PatchToVec(md.results.DiagnosticSolution.(md.results.DiagnosticSolution.ControlType));
     48                else
     49                        error('control type not implemented yet')
     50                end
    4351        end
    4452elseif strcmpi(string,'dakota'),
Note: See TracChangeset for help on using the changeset viewer.