diff --git a/modules/optimization/src/executioners/OptimizeSolve.C b/modules/optimization/src/executioners/OptimizeSolve.C index 1e3f626e5015..b268d10c787d 100644 --- a/modules/optimization/src/executioners/OptimizeSolve.C +++ b/modules/optimization/src/executioners/OptimizeSolve.C @@ -49,10 +49,11 @@ OptimizeSolve::OptimizeSolve(Executioner & ex) bool OptimizeSolve::solve() { + TIME_SECTION("optimizeSolve", 1, "Optimization Solve"); // Initial solve _inner_solve->solve(); - // Grab objectivefunction + // Grab objective function if (!_problem.hasUserObject("OptimizationReporter")) mooseError("No OptimizationReporter object found."); _obj_function = &_problem.getUserObject("OptimizationReporter"); @@ -318,6 +319,7 @@ OptimizeSolve::variableBoundsWrapper(Tao tao, Vec /*xl*/, Vec /*xu*/, void * ctx Real OptimizeSolve::objectiveFunction() { + TIME_SECTION("objectiveFunction", 2, "Objective forward solve"); _obj_function->updateParameters(*_parameters.get()); _problem.execute(OptimizationAppTypes::EXEC_FORWARD); @@ -336,6 +338,7 @@ OptimizeSolve::objectiveFunction() void OptimizeSolve::gradientFunction(libMesh::PetscVector & gradient) { + TIME_SECTION("gradientFunction", 2, "Gradient adjoint solve"); _obj_function->updateParameters(*_parameters.get()); _problem.execute(OptimizationAppTypes::EXEC_ADJOINT); @@ -352,6 +355,7 @@ OptimizeSolve::gradientFunction(libMesh::PetscVector & gradient) PetscErrorCode OptimizeSolve::applyHessian(libMesh::PetscVector & s, libMesh::PetscVector & Hs) { + TIME_SECTION("applyHessian", 2, "Hessian forward/adjoint solve"); // What happens for material inversion when the Hessian // is dependent on the parameters? Deal with it later??? // see notes on how this needs to change for Material inversion