Changeset 19653


Ignore:
Timestamp:
10/19/15 12:54:11 (9 years ago)
Author:
Eric.Larour
Message:

CHG: hooking up the Dakota ISSM Parallel Driver.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/main/issm_dakota.cpp

    r19634 r19653  
    2121        bool parallel=true;
    2222        char* dakota_input_file=NULL;
     23        char* dakota_output_file = NULL;
    2324
    2425        /*Define MPI_DEBUG in dakota_global_defs.cpp to cause a hold here*/
    2526        Dakota::mpi_debug_hold();
    26        
     27
    2728        /*Initialize MPI: */
    2829        ISSM_MPI_Init(&argc, &argv); // initialize MPI
    29 
     30       
    3031        /*Recover file name for dakota input file:*/
    3132        dakota_input_file=xNew<char>((strlen(argv[2])+strlen(argv[3])+strlen(".qmu.in")+1));
    32         sprintf(dakota_input_file,"%s%s%s",argv[2],argv[3],".qmu.in");
     33        sprintf(dakota_input_file,"%s/%s%s",argv[2],argv[3],".qmu.in");
     34       
     35        dakota_output_file=xNew<char>((strlen(argv[2])+strlen(argv[3])+strlen(".qmu.out")+1));
     36        sprintf(dakota_output_file,"%s/%s%s",argv[2],argv[3],".qmu.out");
    3337
    34         Cout << "dakota_input_file: " << dakota_input_file << "\n";
    35        
    3638        /* Parse input and construct Dakota LibraryEnvironment, performing input data checks*/
    3739        Dakota::ProgramOptions opts;
    3840        opts.input_file(dakota_input_file);
     41        opts.output_file(dakota_output_file);
    3942
    40        
    4143        /* Defaults constructs the MPIManager, which assumes COMM_WORLD*/
    4244        Dakota::LibraryEnvironment env(opts);
    4345
    44         if (env.mpi_manager().world_rank() == 0)
    45                 Cout << "Library mode 1: run_dakota_parse()\n";
    46        
    4746        /* get the list of all models matching the specified model, interface, driver:*/
    4847        Dakota::ModelList filt_models = env.filtered_model_list("single", "direct", "matlab");
     
    7372                // don't increment ref count since no other envelope shares this letter
    7473                model_interface.assign_rep(new
    75                                 SIM::IssmParallelDirectApplicInterface(problem_db, analysis_comm,NULL), false);
     74                                SIM::IssmParallelDirectApplicInterface(problem_db, analysis_comm, argc, argv), false);
    7675        }
    7776        problem_db.set_db_model_nodes(model_index);            // restore
     
    7978        /* Execute the environment:*/
    8079        env.execute();
    81 
    82         /*Finalize MPI:*/
    83         ISSM_MPI_Finalize();
    8480
    8581        /*Return unix success: */
Note: See TracChangeset for help on using the changeset viewer.