Changeset 25320
- Timestamp:
- 07/31/20 10:31:31 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r25317 r25320 215 215 int* types = NULL; 216 216 int* control_sizes = NULL; 217 int* M_all = NULL;218 217 IssmDouble* independent = NULL; 219 218 IssmDouble* independents_fullmin = NULL; … … 233 232 iomodel->FetchData(&types,NULL,NULL,"md.autodiff.independent_object_types"); 234 233 235 M_all = xNew<int>(num_independent_objects); 234 int* M_all = xNew<int>(num_independent_objects); 235 int* N_all = xNew<int>(num_controls); 236 int* Interp_all = xNew<int>(num_controls); 236 237 237 238 /*create independent objects, and at the same time, fetch the corresponding independent variables, … … 277 278 else M_all[i]=M; 278 279 280 if(M_all[i]==iomodel->numberofvertices){ 281 Interp_all[i] = P1Enum; 282 } 283 else if(M_all[i]==iomodel->numberofelements){ 284 Interp_all[i] = P0Enum; 285 } 286 else{ 287 _error_("Control size not supported"); 288 } 289 N_all[i] = N; 290 291 279 292 for(int j=0;j<elements->Size();j++){ 280 293 Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(j)); … … 290 303 } 291 304 } 292 parameters->AddObject(new IntVecParam(ControlInputSizeNEnum, control_sizes,num_independent_objects));305 parameters->AddObject(new IntVecParam(ControlInputSizeNEnum,N_all,num_independent_objects)); 293 306 parameters->AddObject(new IntVecParam(ControlInputSizeMEnum,M_all,num_independent_objects)); 307 parameters->AddObject(new IntVecParam(ControlInputInterpolationEnum,Interp_all,num_controls)); 294 308 295 309 /*cleanup*/ … … 300 314 xDelete<int>(types); 301 315 xDelete<int>(M_all); 316 xDelete<int>(N_all); 317 xDelete<int>(Interp_all); 302 318 xDelete<IssmDouble>(independents_fullmin); 303 319 xDelete<IssmDouble>(independents_fullmax);
Note:
See TracChangeset
for help on using the changeset viewer.