source: issm/oecreview/Archive/20545-21336/ISSM-20691-20692.diff@ 21337

Last change on this file since 21337 was 21337, checked in by Mathieu Morlighem, 8 years ago

CHG: added Archive/20545-21336

File size: 1.6 KB
  • ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp

     
    8787                                /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */
    8888                                sscanf(variabledescriptors[i],"scaled_%s",tag);
    8989
     90                                /*Convert tag to field name*/
     91                                char* fieldname = NULL;
     92                                int   param_enum = -1;
     93                                if(strcmp(tag,"Thickness")){
     94                                        const char* field = "md.geometry.thickness";
     95                                        param_enum        = ThicknessEnum;
     96                                        fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
     97                                }
     98                                else{
     99                                        _error_("Tag \""<<tag<<"\" not supported yet");
     100                                }
     101
    90102                                /*Recover data: */
    91                                 iomodel->FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag));
     103                                iomodel->FetchData(&dakota_parameter,&nrows,&ncols,modelfield);
    92104                                if(nrows==iomodel->numberofvertices){
    93                                         parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
     105                                        parameters->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols));
    94106                                }
    95107                                else{
    96                                         parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
     108                                        parameters->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));
    97109                                }
    98110                                xDelete<double>(dakota_parameter);
     111                                xDelete<char>(fieldname);
    99112                        }
    100113                }
    101114
Note: See TracBrowser for help on using the repository browser.