AMReX-Codes / amrex

AMReX: Software Framework for Block Structured AMR
https://amrex-codes.github.io/amrex
Other
503 stars 336 forks source link

Implicit Solution for Advection Problem: Does it support it? #3963

Open ztdepztdep opened 1 month ago

ztdepztdep commented 1 month ago

I've been delving into solving advection problems using implicit methods with AMRex. Does it suuport this?

Looking forward to hearing your thoughts and experiences!

WeiqunZhang commented 1 month ago

I suppose it depends on what equation you want to solve and what algorithm you want to use. For example, if I want to solve a 1D linear advection problem with backward Euler for time discretization and central difference for spatial discretization, the resulting linear system is simply tridiagonal, which is trivial to solve.

zingale commented 1 month ago

to add to what Weiqun said, most of the work will come down to the linear solver. There have been some implicit methods that use multigrid for this, so AMReX's multigrid solver could be applied to that. See, e.g., https://www.aanda.org/articles/aa/full_html/2012/08/aa16979-11/aa16979-11.html

drummerdoc commented 1 month ago

Similarly, here's a paper where electron advection/diffusion is solved implicitly along with a Poission equation for the electric potential, and tied together into a low Mach solver. Linear solvers are definitely an issue, as Mike points out above. We are working now on a more robust linear solver, compatible with GPUs, based on an ILU factorization...somewhat similar to GINKGO's parILU, but with many robustifications. Should be available in AMReX by midsummer. Contact me directly at Marc.Day@nrel.gov for more details.

https://doi.org/10.1080/13647830.2019.1668060