Changeset 25257
- Timestamp:
- 07/10/20 17:08:57 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
r25019 r25257 114 114 for(i=0;i<numvariabledescriptors;i++){ 115 115 if (strncmp(variabledescriptors[i],"scaled_",7)==0){ 116 /*Ok, we are dealing with a variable that is distributed over nodes. Recover the name of the variable (ex: scaled_Thickness): */ 116 int code; 117 118 /*Ok, we are dealing with a variable that is distributed over nodes or elements. Recover the name of the variable (ex: scaled_Thickness): */ 117 119 sscanf(variabledescriptors[i],"scaled_%s",tag); 118 120 … … 122 124 FieldAndEnumFromCode(¶m_enum,&fieldname,tag); 123 125 124 /*Recover data: */ 125 iomodel->FetchData(&dakota_parameter,&nrows,&ncols,fieldname); 126 if(nrows==iomodel->numberofvertices){ 127 dataset_variable_descriptors->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols)); 126 iomodel->SetFilePointerToData(&code,NULL,fieldname); 127 if(code==8) dataset_variable_descriptors->AddObject(new DoubleParam(param_enum,8)); //skip MatArray inputs, as we don't know which input will be scaled yet! 128 else{ 129 /*recover more classic data, arrays and scalar mainly:*/ 130 iomodel->FetchData(&dakota_parameter,&nrows,&ncols,fieldname); 131 if(nrows==iomodel->numberofvertices || nrows==iomodel->numberofelements){ 132 dataset_variable_descriptors->AddObject(new DoubleMatParam(param_enum,dakota_parameter,nrows,ncols)); 133 } 134 else{ 135 dataset_variable_descriptors->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols)); 136 } 137 xDelete<double>(dakota_parameter); 128 138 } 129 else{130 dataset_variable_descriptors->AddObject(new DoubleTransientMatParam(param_enum,dakota_parameter,nrows,ncols));131 }132 xDelete<double>(dakota_parameter);133 139 xDelete<char>(fieldname); 134 140 }
Note:
See TracChangeset
for help on using the changeset viewer.