Hi Everyone,
I want to thank Luca for his reponse to an earlier post, helped me figure out a bit about inheritence in C++.
I am having issues with a new iteration on a Cahn-Hilliard solver I wrote. I am trying to use the block Schur decomposition illustrated in several tutorials but I get this strange asymmetric error. I am implementing a linearly stabilised splitting scheme from
here (sec 3.2.5):
where F'(phi^n) = (phi^n)^3 - 2phi^n and yields the following block structure
However, I get this strange accumulating error along the diagonal which the -1 phase drifting down and to the left. I've included a quick snapshot of the asymmetric error at the phase transition:

I thought I was incorrectly applying boundary conditions when doing the Schur complement but trying to solve the system directly as I've done in the current version of main.cpp resulted in the same error.
I've also tried forgoing the finite element system completely but I am having trouble correctly applying the boundary conditions through the linear operator classes. So I figured I should stick to one question, on my most successful implementation.
Any suggestions on how to debug this, or if people have had similar issues working with finite element systems would be awesome
Kind Regards,
Aiden