CPR Solver and Adjoint

27 views
Skip to first unread message

Duc Le

unread,
Jun 4, 2024, 2:31:25 PMJun 4
to MRST-users: The Matlab Reservoir Simulation Toolbox User Group
Dear developers,

I was trying to use the AMGCL-CPR solver to solve adjoint problems and it didn't seem to perform particularly well. Upon investigation, I realized one potential pitfall of the current implementation. That is, in adjoint equation, the coefficient matrix is the transpose of the Jacobian matrix so the standard CPR preconditioners wouldn't work. There have been papers trying to adapt CPR to adjoint solution such as this one Adaptation of the CPR Preconditioner for Efficient Solution of the Adjoint Equation | SPE Journal | OnePetro . However, I don't think such work is available in MRST or AMGCL. It is my impression that AMGCL always assumes the coefficient matrix is the Jacobian matrix because I couldn't not find any such setting in its documentation.

What are your thoughts on this? Thanks for your hard works on MRST.

Regards,
Duc

Stein Krogstad

unread,
Jun 5, 2024, 8:53:09 AMJun 5
to MRST-users: The Matlab Reservoir Simulation Toolbox User Group
Dear Duc,

Your assessment is completely correct. Unfortunately, there is currently no out-of-the-box CPR preconditioner for adjoint systems available in MRST which sadly limits its usefulness for larger scale problems. In principipal, it shouldn't be too difficult to adapt an an existing CPR to handle transposed systems, but there hasn't been time/resources.  Any contributions in this direction is of course very welcome.    

Best regards,
Stein
Reply all
Reply to author
Forward
0 new messages