Closed andrewwinters5000 closed 3 months ago
This 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.
NEWS.md
.Created with :heart: by the Trixi.jl community.
Attention: Patch coverage is 98.60140%
with 2 lines
in your changes are missing coverage. Please review.
Project coverage is 87.23%. Comparing base (
1ca37cf
) to head (d81b79e
). Report is 1 commits behind head on main.
Files | Patch % | Lines |
---|---|---|
src/callbacks_step/time_series_dg2d.jl | 98.20% | 2 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I forgot to mention in my review: It would be great to update the docs as well, indicating which mesh types are supported (both in the docstring of the callback and the docs in docs/
)
There are still normal use cases that fail, I need to work more and make this more robust.
After several conversations with @patrickersing we managed to create a quite robust way to identify whether or not a point is inside a curvilinear element. It is a bit brute force and could maybe do with some optimization, but the strategy can handle all the standard and edge cases that I could think of in 2D. For the new test I added I use the mesh below where the black diamonds are the barycenters and the red dots are the points that need identified. My old strategy failed for several of these, in particular the point near the center of the domain would have been identified to be closest to the incorrect barycenter.
forgot to mention in my review: It would be great to update the docs as well, indicating which mesh types are supported (both in the docstring of the callback and the docs in
docs/
)
I updated the docstring but could not find this callback mentioned anywhere else in the docs.
forgot to mention in my review: It would be great to update the docs as well, indicating which mesh types are supported (both in the docstring of the callback and the docs in
docs/
)I updated the docstring but could not find this callback mentioned anywhere else in the docs.
You're right, sorry. I thought we had mentioned it there, but apparently we didn't.
I updated the docstring but could not find this callback mentioned anywhere else in the docs.
We have this: https://github.com/trixi-framework/Trixi.jl/blob/main/docs/src/callbacks.md#time-series.
I updated the docstring but could not find this callback mentioned anywhere else in the docs.
We have this: https://github.com/trixi-framework/Trixi.jl/blob/main/docs/src/callbacks.md#time-series.
Since this general discussion links to the TimeSeriesCallback
docstring where we indicate the mesh support I do not think we need to update the general callback overview.
@sloede @ranocha Should this feature extension get mentioned in the NEWS.md
?
@sloede @ranocha Should this feature extension get mentioned in the
NEWS.md
?
I think this is so cool that, yes, I'd mention it!
~For now this callback is only reliable on straight-sided unstructured elements. If a curved element contains a time series point then a warning is thrown to inform the user. The callback itself still works and creates data, but it may have errors.~
I updated my element identification strategy such that this callback now works as expected on curvilinear elements as well. It uses the same Newton approach and reuses the existing mapping and metric functions used in the mesh creation. It took me a bit to realize that we already had all the tools necessary to invert the transfinite interpolation as well. My new strategy to identify if a point lies in a curved element is a bit brute force (it involves computing all the barycenters), so I am open to suggestions to optimize it if it allocates too much or so.