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

Different advection schemes for velocities and tracers #1015

Closed
glwagner opened this issue Sep 30, 2020 · 3 comments
Closed

Different advection schemes for velocities and tracers #1015

glwagner opened this issue Sep 30, 2020 · 3 comments
Labels
abstractions 🎨 Whatever that means feature 🌟 Something new and shiny

Comments

@glwagner
Copy link
Member

glwagner commented Sep 30, 2020

We should allow different advection schemes for velocities and tracers. This requires doing something similar to what we do for closures. Perhaps we can allow

model = IncompressibleModel(advection=(velocities=CenteredFourthOrder(), tracers=WENO5()))

We also probably want to allow different advection schemes for every tracer. We can support something like

model = IncompressibleModel(advection=(velocities=CenteredFourthOrder(), T=WENO5(), S=CenteredSecondOrder()))

Let's discuss whether the syntax proposed above is acceptable or if we want a different design.

PS we need to write down a list of forbidden_tracer_names and throw an error if they are provided. Right now these are :u, :v, :w and any possible property of diffusivities. The above design would also preclude :velocities and :tracers.

@ali-ramadhan
Copy link
Member

I think this syntax makes a lot of sense since it's pretty close to how users can specify different turbulent diffusivity closures for each tracer.

I guess you can't have different advection schemes for u, v, w so e.g. velocities=CenteredFourthOrder() makes sense too.

@francispoulin
Copy link
Collaborator

The setup @glwagner suggests for splitting the advection schemes would work well for IncompressibleModel, I think.

For ShallowWater, something different would need to be done. The solution field has uh, vh, and h, but it would be nice to have different advection schemes for the mass transports uh, and vh than for the mass equation h.

@sandreza sandreza closed this as completed May 2, 2022
@glwagner
Copy link
Member Author

glwagner commented May 2, 2022

Superceded by #2454

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abstractions 🎨 Whatever that means feature 🌟 Something new and shiny
Projects
None yet
Development

No branches or pull requests

4 participants