Changeset 18676
- Timestamp:
- 10/24/14 14:40:01 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r18604 r18676 12 12 13 13 /*Intermediary*/ 14 int control ;14 int control,cost_function; 15 15 Element *element = NULL; 16 16 Material *material = NULL; 17 int num_control_type ;17 int num_control_type,num_cost_functions; 18 18 bool control_analysis; 19 19 … … 25 25 if(!control_analysis) return; 26 26 27 iomodel->FetchData(5,InversionControlParametersEnum,InversionCostFunctionsEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum); 28 27 29 /*Fetch data needed: */ 28 iomodel->FetchDataToInput(elements,InversionVxObsEnum,0.); 29 iomodel->FetchDataToInput(elements,InversionVyObsEnum,0.); 30 iomodel->FetchDataToInput(elements,InversionThicknessObsEnum,0.); 31 iomodel->FetchDataToInput(elements,InversionSurfaceObsEnum,0.); 32 33 iomodel->FetchData(5,InversionControlParametersEnum,InversionCostFunctionsEnum,InversionCostFunctionsCoefficientsEnum,InversionMinParametersEnum,InversionMaxParametersEnum); 30 iomodel->Constant(&num_cost_functions,InversionNumCostFunctionsEnum); 31 for(int i=0;i<num_cost_functions;i++){ 32 cost_function= reCast<int,IssmDouble>(iomodel->Data(InversionCostFunctionsEnum)[i]); 33 if(cost_function==ThicknessAbsMisfitEnum) iomodel->FetchDataToInput(elements,InversionThicknessObsEnum,0.); 34 else if(cost_function==SurfaceAbsVelMisfitEnum || cost_function==SurfaceRelVelMisfitEnum || cost_function==SurfaceLogVelMisfitEnum || cost_function==SurfaceLogVxVyMisfitEnum || cost_function==SurfaceAverageVelMisfitEnum){ 35 iomodel->FetchDataToInput(elements,InversionVxObsEnum,0.); 36 iomodel->FetchDataToInput(elements,InversionVyObsEnum,0.); 37 } 38 } 39 //iomodel->FetchDataToInput(elements,InversionSurfaceObsEnum,0.); 34 40 35 41 for(int i=0;i<num_control_type;i++){
Note:
See TracChangeset
for help on using the changeset viewer.