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
RevLine 
[21337]1Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
2===================================================================
3--- ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp (revision 20691)
4+++ ../trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp (revision 20692)
5@@ -87,15 +87,28 @@
6 /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */
7 sscanf(variabledescriptors[i],"scaled_%s",tag);
8
9+ /*Convert tag to field name*/
10+ char* fieldname = NULL;
11+ int param_enum = -1;
12+ if(strcmp(tag,"Thickness")){
13+ const char* field = "md.geometry.thickness";
14+ param_enum = ThicknessEnum;
15+ fieldname=xNew<char>((strlen(field)+1)); xMemCpy<char>(fieldname,field,(strlen(field)+1));
16+ }
17+ else{
18+ _error_("Tag \""<<tag<<"\" not supported yet");
19+ }
20+
21 /*Recover data: */
22- iomodel->FetchData(&dakota_parameter,&nrows,&ncols,StringToEnumx(tag));
23+ iomodel->FetchData(&dakota_parameter,&nrows,&ncols,modelfield);
24 if(nrows==iomodel->numberofvertices){
25- parameters->AddObject(new DoubleMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
26+ parameters->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols));
27 }
28 else{
29- parameters->AddObject(new DoubleTransientMatParam(StringToEnumx(tag),dakota_parameter,nrows,ncols));
30+ parameters->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));
31 }
32 xDelete<double>(dakota_parameter);
33+ xDelete<char>(fieldname);
34 }
35 }
36
Note: See TracBrowser for help on using the repository browser.