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

Internal refinement levels #57

Open
3 tasks
bprather opened this issue Dec 13, 2023 · 0 comments
Open
3 tasks

Internal refinement levels #57

bprather opened this issue Dec 13, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@bprather
Copy link
Contributor

Currently, KHARMA supports mesh refinement only of entire blocks: each block is of one size, with one refinement level covered uniformly by its cells.

However, in spherical coordinates, the timestep further benefits from internal refinement of the few cells closest to the coordinate pole.

Generally, these extra levels are implemented not by declaring small blocks/memory spaces for the coarser cells, but by careful application of the "restriction operator"/averaging of some stride of fine zones; each of some stride of fine cells is then set to the identical coarse value, mimicking a single larger cell. Depending on the fidelity of the implementation, this may or may not preserve exact 2nd order convergence as is done at block boundaries -- however, for a few zones dictated by floors in torus simulations, this is rarely a large concern.

KHARMA should have some basic internal restriction implementation. This can be done in 3 independently verifiable steps:

  • Averaging operator, applied each step over some stride in 1D/2D/3D
  • Reconstruction operator applicable over new, longer stride. Potentially new EMF/flux update?
  • Set timestep based on "coarse zone" size instead of fine/real zone sizes
@bprather bprather added the enhancement New feature or request label Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant