@AlexBuccheri Just to let you know, I am finalizing this refactoring. If this is fine, I will assign you to for reviewing the corresponding merge request.
Yes absolutely. I will most likely move your preconditioner code to its own module, in order to reduce the complexity in mix_t, and then the extra complexity of the preconditioning should be invisible from the mixing code itself.
I am not yet there, but I will let you know once this is done.
I was also thinking to split up the preconditioning into a separate module. Let if me know if you'd like me to do this as a separate MR that you can branch off of