Changeset 20692


Ignore:
Timestamp:
06/03/16 10:38:47 (9 years ago)
Author:
Mathieu Morlighem
Message:

CHG: trying to fix dakota

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp

    r20690 r20692  
    8888                                sscanf(variabledescriptors[i],"scaled_%s",tag);
    8989
    90                                 /*Recover data: */
    91                                 iomodel->FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag));
    92                                 if(nrows==iomodel->numberofvertices){
    93                                         parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
     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));
    9497                                }
    9598                                else{
    96                                         parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
     99                                        _error_("Tag \""<<tag<<"\" not supported yet");
     100                                }
     101
     102                                /*Recover data: */
     103                                iomodel->FetchData(&dakota_parameter,&nrows,&ncols,modelfield);
     104                                if(nrows==iomodel->numberofvertices){
     105                                        parameters->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols));
     106                                }
     107                                else{
     108                                        parameters->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));
    97109                                }
    98110                                xDelete<double>(dakota_parameter);
     111                                xDelete<char>(fieldname);
    99112                        }
    100113                }
Note: See TracChangeset for help on using the changeset viewer.