Changeset 2383


Ignore:
Timestamp:
10/07/09 14:57:09 (15 years ago)
Author:
Mathieu Morlighem
Message:

Added Control Restart that saves parameter every 5 iterations

Location:
issm/trunk/src/c
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Makefile.am

    r2333 r2383  
    599599                                        ./parallel/control_core.cpp\
    600600                                        ./parallel/ControlInitialization.cpp\
    601                                         ./parallel/ControlTemporaryResults.cpp\
     601                                        ./parallel/ControlRestart.cpp\
    602602                                        ./parallel/objectivefunctionC.cpp\
    603603                                        ./parallel/gradjcompute_core.cpp\
  • issm/trunk/src/c/ModelProcessorx/Control/CreateParametersControl.cpp

    r2354 r2383  
    4949       
    5050        if(iomodel->control_analysis){
     51
    5152                /*control_type: */
    5253                count++;
  • issm/trunk/src/c/ModelProcessorx/CreateParameters.cpp

    r2354 r2383  
    3939        numpar= new Numpar(count);
    4040        parameters->AddObject(numpar);
     41
     42        //outputfilename
     43        count++;
     44        param= new Param(count,"outputfilename",STRING);
     45        param->SetString(iomodel->outputfilename);
     46        parameters->AddObject(param);
    4147
    4248
  • issm/trunk/src/c/ModelProcessorx/IoModel.cpp

    r2354 r2383  
    3333        /*!initialize all pointers to 0: */
    3434        iomodel->name=NULL;
     35        iomodel->inputfilename=NULL;
     36        iomodel->outputfilename=NULL;
    3537        iomodel->repository=NULL;
    3638        iomodel->meshtype=NULL;
     
    256258
    257259        /*!Delete structure fields: */
     260        xfree((void**)&iomodel->inputfilename);
     261        xfree((void**)&iomodel->outputfilename);
    258262        xfree((void**)&iomodel->repository);
    259263        xfree((void**)&iomodel->meshtype);
     
    296300        /*In IoModelInit, we get all the data that is not difficult to get, and that is small: */
    297301        IoModelFetchData(&iomodel->name,iomodel_handle,"name");
     302        IoModelFetchData(&iomodel->inputfilename,iomodel_handle,"inputfilename");
     303        IoModelFetchData(&iomodel->outputfilename,iomodel_handle,"outputfilename");
    298304        IoModelFetchData(&iomodel->analysis_type,iomodel_handle,"analysis_type");
    299305        IoModelFetchData(&iomodel->sub_analysis_type,iomodel_handle,"sub_analysis_type");
  • issm/trunk/src/c/ModelProcessorx/IoModel.h

    r2354 r2383  
    1616
    1717        char*   name;
     18        char*     inputfilename;
     19        char*     outputfilename;
    1820        char*   repository;
    1921        char*   meshtype;
  • issm/trunk/src/c/parallel/ControlRestart.cpp

    r2376 r2383  
    5151       
    5252        /*Free ressources:*/
    53         delete result;
    5453        delete temporary_results;
    5554        delete results;
  • issm/trunk/src/c/parallel/control_core.cpp

    r2354 r2383  
    166166
    167167                //some temporary saving
    168                 /*if (((n+1)%5)==0){
     168                if (((n+1)%1)==0){
    169169                        _printf_("%s\n","      saving temporary results...");
    170                         ControlTemporaryResults(model,param_g,J,n,inputs);
     170                        ControlRestart(model,param_g);
    171171                        _printf_("%s\n","      done.");
    172                 }*/
     172                }
    173173        }
    174174
  • issm/trunk/src/c/parallel/parallel.h

    r2112 r2383  
    4848
    4949void ControlInitialization(Model* model, ParameterInputs* inputs);
    50 void ControlTemporaryResults(Model* model,double* param_g,double* J,int n,ParameterInputs* inputs);
     50void ControlRestart(Model* model,double* param_g);
    5151
    5252void CreateFemModel(FemModel* femmodel,ConstDataHandle MODEL,int analysis_type,int sub_analysis_type);
Note: See TracChangeset for help on using the changeset viewer.