firedrakeproject / asQ

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

Nonlinear fix #51

Closed colinjcotter closed 2 years ago

colinjcotter commented 2 years ago

Assemble the correct linearised operator in the block systems.

This is done in an unpleasant way: copy w_all (and reduce) into real and imaginary components of u0. Then, make nonlinear terms with all combinations of real and imaginary parts of test functions and u0. Then, linearise over CblockV and assemble into the linearised operator.