Evaluating terms involving the hessian is expensive. In the matrix-free application this is done way more times than in the matrix-based application, and is affecting performance significantly.
Description of the solution
In this PR we include 3 new parameters that allow to enable or disable all the terms involving the hessian. The first two allow to do so for the jacobian and the residual of the linear system. The other one, allows to do the same for the jacobian of the multigrid preconditioner operators.
How Has This Been Tested?
By default all terms are enabled, so all existent test pass.
I have tested two problems in my machine and this seems promising in terms of performance. Further testing will be done in the following days.
Documentation
The three new parameters and a brief description have been added to the linear solver parameters documentation: lethe/doc/source/parameters/cfd/linear_solver_control.rst. It is emphasized that these parameters only work for lethe-fluid-matrix-free at the moment.
Description of the problem
Evaluating terms involving the hessian is expensive. In the matrix-free application this is done way more times than in the matrix-based application, and is affecting performance significantly.
Description of the solution
In this PR we include 3 new parameters that allow to enable or disable all the terms involving the hessian. The first two allow to do so for the jacobian and the residual of the linear system. The other one, allows to do the same for the jacobian of the multigrid preconditioner operators.
How Has This Been Tested?
Documentation
lethe/doc/source/parameters/cfd/linear_solver_control.rst
. It is emphasized that these parameters only work forlethe-fluid-matrix-free
at the moment.