void NonlinearEigen::takeStep() { _console << " Nonlinear iteration starts" << std::endl; // nonlinear solve preSolve(); _problem.timestepSetup(); _problem.advanceState(); _problem.execute(EXEC_TIMESTEP_BEGIN); nonlinearSolve(_rel_tol, _abs_tol, _pfactor, _eigenvalue); postSolve(); printEigenvalue(); _problem.onTimestepEnd(); _problem.execute(EXEC_TIMESTEP_END); }
void InversePowerMethod::takeStep() { // save the initial guess and mark a new time step _problem.advanceState(); preSolve(); Real initial_res; inversePowerIteration(_min_iter, _max_iter, _pfactor, _cheb_on, _eig_check_tol, true, _solution_diff_name, _sol_check_tol, _eigenvalue, initial_res); postSolve(); if (lastSolveConverged()) { printEigenvalue(); _problem.onTimestepEnd(); _problem.execute(EXEC_TIMESTEP_END); } }
void NonlinearEigen::takeStep() { _console << " Nonlinear iteration starts" << std::endl; // nonlinear solve _problem.computeUserObjects(EXEC_TIMESTEP_BEGIN, UserObjectWarehouse::PRE_AUX); preSolve(); _problem.timestepSetup(); _problem.advanceState(); _problem.computeUserObjects(EXEC_TIMESTEP_BEGIN, UserObjectWarehouse::POST_AUX); nonlinearSolve(_rel_tol, _abs_tol, _pfactor, _eigenvalue); postSolve(); printEigenvalue(); _problem.computeUserObjects(EXEC_TIMESTEP_END, UserObjectWarehouse::PRE_AUX); _problem.onTimestepEnd(); _problem.computeAuxiliaryKernels(EXEC_TIMESTEP_END); _problem.computeUserObjects(EXEC_TIMESTEP_END, UserObjectWarehouse::POST_AUX); }
void NonlinearEigen::postSolve() { printEigenvalue(); }