Dear users,
I am considering a time dependent problem, say, step-26 with mesh adaptive refinement shut down.
Then it turns out that the solve_time_step() is solving exactly the same matrix every time step,
the only thing change is the right hand side.
For problems like this, is it a waste to call a sparse solver (cg in step-26) everytime? pros and cons?
The way I am thinking is to make a LAPACKFullMatrix, call the super expensive inverse() at the beginning,
store it, and then refresh the rhs every time, only do the matrix-vector-multiplication afterwards.
Or set the inverse matrix (a lapack full matrix) as a preconditioner, then call a 1-step pseudo cg every time. (is that possible?)
Therefore my following questions are:
What is the limit of the size of matrix system can I do a lapack LU factorization on a single machine?
Are there any better way to get LU factorization in deal.ii?
Can we incorporate "history experience" to achieve more efficient solvers?
Thanks,
- Zhen Tao