Changeset 11271
- Timestamp:
- 01/31/12 11:12:30 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/solutions/controltao_core.cpp
r11268 r11271 42 42 info = PetscOptionsSetValue("-tao_ls_stepmin","10e5"); if(info) _error_("STOP"); //does not work 43 43 info = PetscOptionsSetValue("-tao_ls_maxfev","8"); if(info) _error_("STOP"); 44 45 44 /*TAO options: http://www.mcs.anl.gov/research/projects/tao/docs/manualpages/solver/TaoSetFromOptions.html*/ 46 45 info = PetscOptionsSetValue("-tao_monitor",""); if(info) _error_("STOP"); 47 info = PetscOptionsSetValue("-tao_gatol","10e-18"); if(info) _error_("STOP");48 46 info = PetscOptionsSetValue("-tao_max_its","10"); if(info) _error_("STOP"); 49 47 info = PetscOptionsSetValue("-tao_max_funcs","40"); if(info) _error_("STOP"); 48 49 50 50 51 51 /*Additional options*/ … … 58 58 GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,MaterialsRheologyBbarEnum,VertexEnum); 59 59 info = TaoCreate(PETSC_COMM_WORLD,&tao); if(info) _error_("STOP"); 60 info = TaoSetType(tao,"tao_ cg"); if(info) _error_("STOP");60 info = TaoSetType(tao,"tao_blmvm"); if(info) _error_("STOP"); 61 61 info = TaoSetInitialVector(tao,initial_solution); if(info) _error_("STOP"); 62 62 info = TaoSetObjectiveAndGradientRoutine(tao,FormFunctionGradient,(void*)&user); if(info) _error_("STOP"); 63 63 info = TaoSetFromOptions(tao); if(info) _error_("STOP"); 64 /* http://www.mcs.anl.gov/research/projects/tao/docs/manpages/taosolver/TaoSetTolerances.html*/ 65 /* fatol, frtol, gatol, grtol, gttol*/ 66 info = TaoSetTolerances(tao,10e-18,10e-18,10e-18,10e-18,10e-18); 64 67 info = TaoSolve(tao); //if(info) _error_("STOP"); 65 68 … … 112 115 adjointdiagnostic_core(user->femmodel); 113 116 Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, MaterialsRheologyBbarEnum); 114 VecScale(gradient, 10e7);117 VecScale(gradient,-10e7); 115 118 //VecScale(gradient,-1.); 116 119 VecCopy(gradient,G);
Note:
See TracChangeset
for help on using the changeset viewer.