xcompact3d / x3d2

https://xcompact3d.github.io/x3d2
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Implement an iterative Poisson solver #69

Open pbartholomew08 opened 6 months ago

pbartholomew08 commented 6 months ago

This is based off the Poisson branch #32 and adds the interface to PETSc as an alternative Poisson solver.

pbartholomew08 commented 6 months ago

Note this currently appears as a larger change due to changes in the main/FFT Poisson branch, once merged into main this PR should appear smaller.

pbartholomew08 commented 6 months ago

Currently the m_poisson_cg module is PETSc dependent, building this will require PETSc. This is only to get the basic structure outlined, after this I will lift this into a submodule (cf omp/cuda backends) to remove the hard dependency.

semi-h commented 6 months ago

I hope the last bit of changes in #32 didn't cause merge conflicts here. I think we can merge #32 tomorrow so it'll be easier to review this.

pbartholomew08 commented 6 months ago

I hope the last bit of changes in #32 didn't cause merge conflicts here. I think we can merge #32 tomorrow so it'll be easier to review this.

No problem, this is still very WIP, I've been basing this off #32 and trying to pull in updates to main too - so I think once it is merged they will either go away or be easy to resolve. Most of the changes shown here come from #32 I think anyway.

pbartholomew08 commented 6 months ago

Merge conflicts resolved :)