-
Notifications
You must be signed in to change notification settings - Fork 1
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
Generalize one-sided limiting #125
Generalize one-sided limiting #125
Conversation
Review checklistThis checklist is meant to assist creators of PRs (to let them know what reviewers will typically look for) and reviewers (to guide them in a structured review process). Items do not need to be checked explicitly for a PR to be eligible for merging. Purpose and scope
Code quality
Documentation
Testing
Performance
Verification
Created with ❤️ by the Trixi.jl community. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great to me. Here a couple of comments:
…ixi-framework#1792) * Add positivity limiting of non-linear variables * Revise derivative function call; Add default derivative version * Adapt test to actually test pos limiter for nonlinear variables * Add unit test to test default implementation of variable_derivative * Clean up comments and code * Rename Newton-bisection variables * Implement suggestions * Relocate functions * Add entropy limiters * Update test errors after adding entropy limiting * Fix bug in entropy limiting * Adapt estimated errors after bug fix * Remove doubled code * Rename function * Generalize one-sided limiting (#125) * Start to align both entropy limiters * Adapt calc_bounds_onesided! * Add wrapper function for entropy limiting * Rename keys in Dict * use variable and bound_function as parameter * Use same function for both entropies * First working version of general onesided limiting * Rename minmax limiting to twosided limiting * Update comment * Clean up default vector * Last stuff * Fix unit test * fmt * Fix tests * Correct order * Rework docstring * Rename operator to min_or_max * Call initial check with min_or_max * fmt * Implement suggestions * Remove type stuff * Fix allocations due to non-specialized routine * Add comment to NEWS.md * Remove whitespaces * Implement suggestions * Replace `foreach` with `for` * Fix tests * Use new bounds check reduction for one sided limiter * Adapt tests after last merge of main * Rename `entropy_spec` to `entropy_guermond_etal` * Remove not-needed `tuple` * Adapt nameing changes to tutorial --------- Co-authored-by: Michael Schlottke-Lakemper <[email protected]>
The idea is to not manually enable the one-sided limiting for specific or math. entropy, but to be able to pass general variables and limit them with an upper or lower bound. Therefore, we now pass a tuple containing the variable and wanted one-sided bound (
min
ormax
to get a lower or upper bound) as parameter to the limiter.local_minmax
tolocal_twosided