[27032] | 1 | Index: ../trunk-jpl/src/c/cores/controltao_core.cpp
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/cores/controltao_core.cpp (revision 26942)
|
---|
| 4 | +++ ../trunk-jpl/src/c/cores/controltao_core.cpp (revision 26943)
|
---|
| 5 | @@ -94,7 +94,12 @@
|
---|
| 6 | GetVectorFromControlInputsx(&X, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"value");
|
---|
| 7 | GetVectorFromControlInputsx(&XL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"lowerbound");
|
---|
| 8 | GetVectorFromControlInputsx(&XU,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,"upperbound");
|
---|
| 9 | + #if PETSC_VERSION_LT(3,17,0)
|
---|
| 10 | TaoSetInitialVector(tao,X->pvector->vector);
|
---|
| 11 | + #else
|
---|
| 12 | + //TaoSetSolution(tao,X->pvector->vector);
|
---|
| 13 | + _error_("not implemented yet");
|
---|
| 14 | + #endif
|
---|
| 15 | TaoSetVariableBounds(tao,XL->pvector->vector,XU->pvector->vector);
|
---|
| 16 | delete XL;
|
---|
| 17 | delete XU;
|
---|
| 18 | @@ -109,9 +114,18 @@
|
---|
| 19 | TaoView(tao,PETSC_VIEWER_STDOUT_WORLD);
|
---|
| 20 |
|
---|
| 21 | /*Save results*/
|
---|
| 22 | + #if PETSC_VERSION_LT(3,17,0)
|
---|
| 23 | TaoGetSolutionVector(tao,&X->pvector->vector);
|
---|
| 24 | + #else
|
---|
| 25 | + TaoGetSolution(tao,&X->pvector->vector);
|
---|
| 26 | + #endif
|
---|
| 27 | G=new Vector<IssmDouble>(0); VecFree(&G->pvector->vector);
|
---|
| 28 | + #if PETSC_VERSION_LT(3,17,0)
|
---|
| 29 | TaoGetGradientVector(tao,&G->pvector->vector);
|
---|
| 30 | + #else
|
---|
| 31 | + //TaoGetGradient(tao,&G->pvector->vector);
|
---|
| 32 | + _error_("not implemented yet");
|
---|
| 33 | + #endif
|
---|
| 34 | SetControlInputsFromVectorx(femmodel,X);
|
---|
| 35 | ControlInputSetGradientx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,G);
|
---|
| 36 | femmodel->OutputControlsx(&femmodel->results);
|
---|