AMReX-Fluids / IAMR

A parallel, adaptive mesh refinement (AMR) code that solves the variable-density incompressible Navier-Stokes equations.
https://amrex-fluids.github.io/IAMR/
80 stars 57 forks source link

For bds #122

Closed etpalmer63 closed 2 years ago

etpalmer63 commented 2 years ago

This branch adds a flag and calls to IAMR for using the BDS routine. It depends on the branch bds in AMReX-Hydro which is also a work in progress.

cgilet commented 2 years ago

I think it might simplify things if we thought of BDS as an option for Godunov (like I think John was saying). The code already requires that use_godunov==true if use_bds==true, since BDS is not for velocity; and they both have the same ghost cell requirements. Then we could just keep all the if (use_godunov) statements the same, and only check for use_bds when necessary.

ajnonaka commented 2 years ago

In principle, bds can be used for velocity, and probably would just work if we enabled it. The initial focus was on scalars, where this is really needed for discontinuities and min/max preserving. I have no issue with re-working logic for when to call BDS. Technically BDS is another type of Godunov method, it just has much different structure than PLM and PPM with corner transport upwind. There is a special bds version for predicting edge state velocities I have in old MAESTRO code, if we want to implement that as well.

asalmgren commented 2 years ago

Are you saying you couldn't use BDS for scalar advection in an MOL scheme?

On Wed, Feb 9, 2022 at 11:27 AM Andy Nonaka @.***> wrote:

In principle, bds can be used for velocity, and probably would just work if we enabled it. The initial focus was on scalars, where this is really needed for discontinuities and min/max preserving. I have no issue with re-working logic for when to call BDS. Technically BDS is another type of Godunov method, it just has much different structure than PLM and PPM with corner transport upwind. There is a special bds version for predicting edge state velocities I have in old MAESTRO code, if we want to implement that as well.

— Reply to this email directly, view it on GitHub https://github.com/AMReX-Codes/IAMR/pull/122#issuecomment-1034115628, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRE6YV5F2MSPYVEUWQ23ELU2K5ZDANCNFSM5NP7DRMA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Ann Almgren Senior Scientist; Dept. Head, Applied Mathematics Pronouns: she/her/hers

drummerdoc commented 2 years ago

If you want to go that route (bds requires use_godunov), I'd advocate for something like godunov_option=bds as opposed to godunov_option=ppm, or the like.

ajnonaka commented 2 years ago

@asalmgren We could support a BDS option that works for MOL, but it needs to be coded up. What this would amount to is a multidimensional limiter in space to get edge states; but I'm not sure how much better this would be than the existing MOL options.

asalmgren commented 2 years ago

I guess the question of what does it mean to "do bds" or "use bds". My understanding was the BDS is a way of doing advection of one or more scalars given the face velocities. How are we using the option here?

On Wed, Feb 9, 2022 at 1:21 PM Andy Nonaka @.***> wrote:

@asalmgren https://github.com/asalmgren We could support a BDS option that works for MOL, but it needs to be coded up. What this would amount to is a multidimensional limiter in space to get edge states; but I'm not sure how much better this would be than the existing MOL options.

— Reply to this email directly, view it on GitHub https://github.com/AMReX-Codes/IAMR/pull/122#issuecomment-1034203507, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRE6YRQIP4TRZNINJGDIWLU2LLFHANCNFSM5NP7DRMA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

-- Ann Almgren Senior Scientist; Dept. Head, Applied Mathematics Pronouns: she/her/hers

cgilet commented 2 years ago

Merged via commit 5b197dd6fa92370319