Changeset 27678
- Timestamp:
- 04/05/23 05:57:25 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r27666 r27678 250 250 IssmDouble* independents_max = NULL; 251 251 252 /*Fetch required data*/ 252 253 FieldAndEnumFromCode(&input_enum,&iofieldname,names[i]); 253 254 /*Fetch required data*/255 254 iomodel->FetchData(&independent,&M,&N,iofieldname); 256 255 _assert_(independent && N==control_sizes[i]); 256 xDelete<char>(iofieldname); 257 257 258 258 independents_min = NULL; independents_min = xNew<IssmDouble>(M*N); … … 266 266 if(N!=1) M_all[i]=M-1; 267 267 268 if(M_all[i]==iomodel->numberofvertices){ 269 Interp_all[i] = P1Enum; 268 if(IsInputEnum(input_enum)){ 269 if(M_all[i]==iomodel->numberofvertices){ 270 Interp_all[i] = P1Enum; 271 } 272 else if(M_all[i]==iomodel->numberofelements){ 273 Interp_all[i] = P0Enum; 274 } 275 else{ 276 _error_("Control size not supported"); 277 } 278 279 for(Object* & object : elements->objects){ 280 Element* element=xDynamicCast<Element*>(object); 281 element->ControlInputCreate(independent,independents_min,independents_max,inputs,iomodel,M,N,1.,input_enum,i+1); 282 } 270 283 } 271 else if(M_all[i]==iomodel->numberofelements){ 272 Interp_all[i] = P0Enum; 273 } 274 else{ 275 _error_("Control size not supported"); 276 } 277 278 for(Object* & object : elements->objects){ 279 Element* element=xDynamicCast<Element*>(object); 280 element->ControlInputCreate(independent,independents_min,independents_max,inputs,iomodel,M,N,1.,input_enum,i+1); 284 else if(IsParamEnum(input_enum)){ 285 _error_("not supported yet"); 281 286 } 282 287 xDelete<IssmDouble>(independent); 283 288 xDelete<IssmDouble>(independents_min); 284 289 xDelete<IssmDouble>(independents_max); 285 xDelete<char>(iofieldname);286 290 287 291 }
Note:
See TracChangeset
for help on using the changeset viewer.