-
Notifications
You must be signed in to change notification settings - Fork 188
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
Background tracer distributions and advecting velocity fields #960
Comments
This might require adding a new property to |
This would hopefully make implementing the Oceananigans.jl/examples/eady_turbulence.jl Lines 92 to 132 in e808a82
|
This abstraction would also simplify the ECCO/SOSE LESbrary.jl setup although it's also messy due to other terms and me jamming in Interpolations.jl objects: https://github.com/CliMA/LESbrary.jl/blob/master/scripts/pilot_simulation.jl#L117-L145 It seems like some complex setups could benefit a lot from a background fields abstraction. It shouldn't affect performance since the two interaction terms should results in no-ops.
Agree with this. Users are responsible for making sure that they impose sensible background fields (just like they are responsible for setting sensible fields). |
We may able to provide an interface for specifying background tracer distributions and velocity fields (which perform advection only?) using
FunctionField
s and the existing advection operators.I think we would want this functionality to assume that the linear balances between background terms are somehow separately satisfied. With that assumption we can include just the two nonlinear terms associated with 1) advection of the resolved field by the background field and 2) advection of the background field by the resolved fields.
For this to be easily implemented we need to change the function signature of the advection operators for momentum from
div_ũu(i, j, k, grid, advection, U)
to
div_ũu(i, j, k, grid, advection, U, u)
which then enables us to include background terms via
for example.
Tracers are fine, since the current function is
div_uc(i, j, k, grid, advection, U, c)
which will become
The text was updated successfully, but these errors were encountered: