Feature: DGMultiMesh from t8code forest (prototype)
This PR adds routines to build a DGMultiMesh from a t8code forest. It is a prototype implementation. It is not particular performant, robust and only supports conformal meshes with one element type (no hybrid meshes, no mortar interfaces).
This is a follow-up PR to https://github.com/trixi-framework/Trixi.jl/pull/2259.
Review checklist
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.
Purpose and scope
- [ ] The PR has a single goal that is clear from the PR title and/or description.
- [ ] All code changes represent a single set of modifications that logically belong together.
- [ ] No more than 500 lines of code are changed or there is no obvious way to split the PR into multiple PRs.
Code quality
- [ ] The code can be understood easily.
- [ ] Newly introduced names for variables etc. are self-descriptive and consistent with existing naming conventions.
- [ ] There are no redundancies that can be removed by simple modularization/refactoring.
- [ ] There are no leftover debug statements or commented code sections.
- [ ] The code adheres to our conventions and style guide, and to the Julia guidelines.
Documentation
- [ ] New functions and types are documented with a docstring or top-level comment.
- [ ] Relevant publications are referenced in docstrings (see example for formatting).
- [ ] Inline comments are used to document longer or unusual code sections.
- [ ] Comments describe intent ("why?") and not just functionality ("what?").
- [ ] If the PR introduces a significant change or new feature, it is documented in
NEWS.mdwith its PR number.
Testing
- [ ] The PR passes all tests.
- [ ] New or modified lines of code are covered by tests.
- [ ] New or modified tests run in less then 10 seconds.
Performance
- [ ] There are no type instabilities or memory allocations in performance-critical parts.
- [ ] If the PR intent is to improve performance, before/after time measurements are posted in the PR.
Verification
- [ ] The correctness of the code was verified using appropriate tests.
- [ ] If new equations/methods are added, a convergence test has been run and the results are posted in the PR.
Created with :heart: by the Trixi.jl community.
Codecov Report
Attention: Patch coverage is 21.41280% with 356 lines in your changes missing coverage. Please review.
Project coverage is 93.46%. Comparing base (
544a6f0) to head (211ced8). Report is 83 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #2270 +/- ##
==========================================
- Coverage 96.94% 93.46% -3.48%
==========================================
Files 502 506 +4
Lines 41682 42070 +388
==========================================
- Hits 40405 39318 -1087
- Misses 1277 2752 +1475
| Flag | Coverage Δ | |
|---|---|---|
| unittests | 93.46% <21.41%> (-3.48%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
The CI hangs (or at least takes an extremely long time) at CI / unstructured_dgmulti - ubuntu-latest. Need to investigate why.