Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linear Solvers: Poisson problems with piecewise constant coefficients and interface jumps #1447

Closed
gdeskos opened this issue Oct 11, 2020 · 3 comments

Comments

@gdeskos
Copy link

gdeskos commented Oct 11, 2020

Dear all,

I am an amex user/developer working within the (AMR-Wind project ). For the last six monthsI have been developing the multiphase capabilities of AMR-WIND in order to enable water waves and free-surface turbulence simulations. One of the main problems I am facing at the moment is dealing with linear solvers, particularly in the vicinity of the two-fluid interface. Such problems occur both during a MAC projection and a Nodal projection (poisson solve). MLMG really struggles with solving these problems particularly when the density ratio between the two fluids is rho1/rho2>100.

A possible solution would be to use AMG (using for example Hypre) but this is probably going to really slow down the simulations. I was therefore wondering if there is an easy hack within the native linear solvers. The problem really boils down to \beta (the non-constant coefficient - see here) being a piecewise constant coefficient (1/\rho1 in fluid 1 and 1/\rho2 in fluid 2) and the source term containing a jump at the interface.

Please let me know if someone has already worked on this, or/and have already found a solution. If not I think would be a very useful addition to the existing suite of linear solvers.

Best wishes,
Georgios (Yorgos) Deskos
Postdoctoral Research
National Renewable Energy Laboratory

@sayerhs
Copy link
Contributor

sayerhs commented Oct 11, 2020

@gdeskos Recently there were a few updates to AMReX hypre interface (see #1437 and #1439) that allow you to use hypre solvers and preconditioners from AMReX applications. If you have compiled AMR-Wind with HYPRE support -DAMR_WIND_ENABLE_HYPRE=ON, then you can try out the different hypre options. See the example input file, also see Exawind/amr-wind#221. It would be a good idea to check if even hypre can solve this issue or not (even if it is slow) or if some thinking of the algorithm.

@asalmgren
Copy link
Member

@gdeskos --I believe this issue can be closed -- can you confirm?

@gdeskos
Copy link
Author

gdeskos commented Oct 29, 2020

yep, we can close this issue !

@gdeskos gdeskos closed this as completed Oct 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants