firedrakeproject / asQ

A library for implementing ParaDIAG timestepping algorithms using Firedrake
MIT License
4 stars 1 forks source link

Update the `complex_proxy` submodule to work with `Cofunction` #151

Open JHopeCollins opened 11 months ago

JHopeCollins commented 11 months ago

We now use Cofunction for the right hand side of the block problem. Pedantically, the all-at-once functions that we copy the all-at-once residual into in the PC should also be Cofunction. However, cpx.{set,get}_{real,imag} doesn't work with Cofunction with the complex_proxy.vector implementation (seems fine with the complex_proxy.mixed implementation).

It would be good to fix this and change pc.xfr and pc.xfi to Cofunctions.