nekStab / nekStab

An open source toolbox based on Krylov methods for highly parallel global linear stability analysis of incompressible flow problems for Nek5000.
BSD 3-Clause "New" or "Revised" License
15 stars 7 forks source link

Lancsoz solver for optimal transient growth #5

Open loiseaujc opened 3 years ago

loiseaujc commented 3 years ago

Implement Lancsoz solver as a replacement for Arnoldi for transient growth computation. Need to simultaneously outpost the optimal initial perturbation and corresponding response.

loiseaujc commented 3 years ago

Not sure this feature is actually needed. Sure enough, some extra computation would be avoided (particularly in the orthogonalization step for the construction of the Hessenberg matrix) but since the bulk of computation is the matrix-vector product we wouldn't see much difference and it would only be a bit harder to maintain. What do you think ?

ricardofrantz commented 3 years ago

Agreed that the computation would not become significantly cheaper. The main benefit would be to find a way to compute both optimal initial condition and response on the same run. What options do we have?

loiseaujc commented 3 years ago

I was thinking to change a bit outpost_ks :

If we do so, we do not have to change anything in matvec nor in krylov_schur and we don't need to store two Krylov bases simultaneously.

ricardofrantz commented 3 years ago

😀

Em qua., 7 de abr. de 2021 às 09:57, Jean-Christophe < @.***> escreveu:

I was thinking to change a bit outpost_ks :

  • If regular stability, outpost as it is at the moment
  • If transient growth : run a forward linearized map initialized with the corresponding optimal perturbation and outpost both of them.

If we do so, we do not have to change anything in matvec nor in krylov_schur and we don't need to store two Krylov bases simultaneously.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ricardofrantz/nekStab/issues/5#issuecomment-814693830, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABAGNTZSILJ5YK327K4T2LTTHQGADANCNFSM4Z7NS4AQ .