I am currently trying to implement the JFNK-method in the matrix-free framework (by following step-37 and step-59) for solving nonlinear equations of the form F(u)=0. The method itself replaces the multiplication of the explicit jacobian J with the krylov vector v during solving with the approximation (F(u+e*v)-F(u))/e, which removes the matrix. The initial test using a LinearOperator worked, where I modified the vmult-function accordingly (c.f. my earlier questions here), but still I had to form the jacobian at least once (which I wanted to avoid), thus the test of the matrix-free framework. In theory I just should have to provide the vmult-function, but based on step-37 and step-59 I also have to provide the full operator at least once during initialization, as f.ex. to form the inverse diagonal in step-37. This would be the same as calculating (F(u_i+e*v_i)-F(u_i))/e, but I do not know the value of v_i. Thus, what would be the best approach of implementing this operator using the MatrixFree-framework in deal.II, without having to form a single matrix, and without knowing the exact value of F? Ideally it can be used for a preconditioner too, such as the GMG in step-37 and step-59. Thanks!
-- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/257bb96a-ba19-48cf-a7c4-49e6f178e417%40googlegroups.com.
