-
Notifications
You must be signed in to change notification settings - Fork 46
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
Questions on the subroutine fluxsv #166
Comments
Shawn, The coarse fluxes are saved to subtract them, and the fine fluxes are added, to change the solution on level L cells that border level L+! grids.
|
I see. Now that make sense to me. Thank you, Marsha. |
UPDATE: |
I don't think |
Also see [1] for explanation of what it is doing and why it is needed.
|
I have read that paper before. The general idea in the paper is that a Riemman problem between coarse cell value and fine cell value at the boundary of different level grids should be solved to obtain "fluctuation" at the boundary, which is added to the coarse cell adjacent to the boundary as a conservation fix-up. |
My memory is that |
I see. Thanks, Kyle! I will try to dig deeper to see how they work exactly. |
Can anybody tell me what fluxsv(mptr, xfluxm, xfluxp, yfluxm, yfluxp, ...listbc, ...) do?
This is how I interpret it:
Suppose a grid mptr is a level L grid. For all cells of the grid mptr that are adjacent to the border of all level L+1 grids encompassed by the grid mptr, we assign a block of memory (part of the alloc() array), index information of which is stored in the array listbc(), to store the conservation fix-up that will be applied to these cells later in upbnd() subroutine. In fluxsv(), xfluxm, xfluxp, yfluxm, yfluxp are fluxes at the edges of the grid mptr and they are added to the block of memory described above for later conservation fix-up.
My question is:
These fluxes have already been used to update solution q in all cells of the grid mptr in stepgrid.f(), including cells that needs conservation fix-up later. Why do we store them in alloc() for conservation fix-up? Doesn't this apply the flux to those cells for twice?
Thanks!
The text was updated successfully, but these errors were encountered: