Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp (revision 20691) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp (revision 20692) @@ -87,15 +87,28 @@ /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */ sscanf(variabledescriptors[i],"scaled_%s",tag); + /*Convert tag to field name*/ + char* fieldname = NULL; + int param_enum = -1; + if(strcmp(tag,"Thickness")){ + const char* field = "md.geometry.thickness"; + param_enum = ThicknessEnum; + fieldname=xNew((strlen(field)+1)); xMemCpy(fieldname,field,(strlen(field)+1)); + } + else{ + _error_("Tag \""<FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag)); + iomodel->FetchData(&dakota_parameter,&nrows,&ncols,modelfield); if(nrows==iomodel->numberofvertices){ - parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols)); + parameters->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols)); } else{ - parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols)); + parameters->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols)); } xDelete(dakota_parameter); + xDelete(fieldname); } }