Changeset 269


Ignore:
Timestamp:
05/06/09 15:05:00 (16 years ago)
Author:
jschierm
Message:

Addition of system/fork/direct parameters.

Location:
issm/trunk/src/m/solutions/dakota
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/dakota/dakota_in_params.m

    r32 r269  
    3232%%  method section
    3333
    34 %  all method parameters are in the dakota_method class
     34%  nearly all method parameters are in the dakota_method class
     35%  or result from the response level lists
     36
     37if ~isfield(params,'distribution')
     38    params.distribution='cumulative';
     39end
    3540
    3641%%  model section
     
    3843%%  interface section
    3944
     45if ~isfield(params,'system')
     46    params.system=false;
     47end
     48if ~isfield(params,'fork')
     49    params.fork=false;
     50end
     51if ~isfield(params,'direct')
     52    params.direct=false;
     53end
     54if ~params.system && ~params.fork && ~params.direct
     55    params.fork=true;
     56end
    4057if ~isfield(params,'asynchronous')
    4158    params.asynchronous=true;
  • issm/trunk/src/m/solutions/dakota/dakota_in_write.m

    r32 r269  
    332332fprintf(fidi,'interface,\n');
    333333
    334 if strcmpi(params.analysis_driver,'matlab')
    335 %  Error: asynchronous capability not yet supported in direct interfaces.
    336     fprintf(fidi,'\tdirect\n');
    337     param_write(fidi,'\t  ','analysis_driver','     = ''','''\n',params);
    338     [pathstr,name,ext,versn] = fileparts(params.analysis_components);
    339     if isempty(ext)
    340         ext='.m';
    341     end
    342     params.analysis_components=fullfile(pathstr,[name ext versn]);
    343     param_write(fidi,'\t  ','analysis_components',' = ''','''\n',params);
    344 else
     334if (params.system+params.fork+params.direct ~= 1)
     335    error('Too few or too many interfaces selected.')
     336end
     337
     338if     params.system || params.fork
    345339    param_write(fidi,'\t','asynchronous','','\n',params);
    346340    param_write(fidi,'\t  ','evaluation_concurrency',' = ','\n',params);
    347     fprintf(fidi,'\tfork\n');
     341    param_write(fidi,'\t','system','','\n',params);
     342    param_write(fidi,'\t','fork','','\n',params);
    348343    param_write(fidi,'\t  ','analysis_driver',' = ''','''\n',params);
    349344    param_write(fidi,'\t  ','parameters_file',' = ''','''\n',params);
     
    351346    param_write(fidi,'\t  ','file_tag', '','\n',params);
    352347    param_write(fidi,'\t  ','file_save','','\n',params);
    353 end
     348elseif params.direct
     349%  Error: asynchronous capability not yet supported in direct interfaces.
     350    param_write(fidi,'\t','direct','','\n',params);
     351    param_write(fidi,'\t  ','analysis_driver','     = ''','''\n',params);
     352    [pathstr,name,ext,versn] = fileparts(params.analysis_components);
     353    if isempty(ext)
     354        ext='.m';
     355    end
     356    params.analysis_components=fullfile(pathstr,[name ext versn]);
     357    param_write(fidi,'\t  ','analysis_components',' = ''','''\n',params);
     358end
     359
    354360fprintf(fidi,'\n');
    355361
Note: See TracChangeset for help on using the changeset viewer.