Skip to content

Add Hcurl-projection test + fix BUG#199

Merged
amartinhuertas merged 4 commits intomasterfrom
add_hcurl_projection_tests
Mar 16, 2026
Merged

Add Hcurl-projection test + fix BUG#199
amartinhuertas merged 4 commits intomasterfrom
add_hcurl_projection_tests

Conversation

@amartinhuertas
Copy link
Member

  • Added a proper HCurl-projection test in order to more extensively stress Nedelec FEs in a parallel distributed-memory framework.
  • Solved a BUG in the _generate_sign_flips(...) private helper function along the way.

test Nedelec FEs in a parallel distributed-memory framework.

Solved a BUG in the _generate_sign_flips(...) private helper function
along the way.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the distributed div/curl-conforming FE space sign-flip generation (notably for Nedelec elements) and attempts to extend the MPI test suite by adding an HcurlProjectionTests test group.

Changes:

  • Add HcurlProjectionTests include + execution to the MPI NP4 test driver.
  • Refactor _generate_sign_flips to accept precomputed cell_gids and add specialized implementations for Raviart-Thomas vs Nedelec.
  • Remove HeatEquationTests execution from the MPI transient test block.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

File Description
test/mpi/runtests_np4.jl Adds a new test include (HcurlProjectionTests) and updates the header comment about supported MPI sizes.
test/mpi/runtests_np4_body.jl Executes the new HcurlProjectionTests test group and removes MPI execution of HeatEquationTests.
src/DivAndCurlConformingFESpaces.jl Refactors and specializes distributed sign-flip computation, adding Nedelec-specific behavior.
Comments suppressed due to low confidence (1)

test/mpi/runtests_np4_body.jl:63

  • HeatEquationTests.jl is still included by test/mpi/runtests_np4.jl, but the HeatEquationTests.main(distribute, parts) invocation was removed from the MPI transient test block. As a result, HeatEquation is no longer exercised in the MPI test suite. If this was intentional, consider removing the unused include; otherwise, re-add the call under an appropriate TESTCASE so MPI coverage doesn’t regress.
  if TESTCASE ∈ ("all", "mpi-transient")
    TransientDistributedCellFieldTests.main(distribute, parts)
    PArrays.toc!(t, "TransientDistributedCellField")

    TransientMultiFieldDistributedCellFieldTests.main(distribute, parts)
    PArrays.toc!(t, "TransientMultiFieldDistributedCellField")


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 78.94737% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.08%. Comparing base (49cdff0) to head (2ac5643).
⚠️ Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
src/DivAndCurlConformingFESpaces.jl 78.94% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #199      +/-   ##
==========================================
- Coverage   85.11%   85.08%   -0.04%     
==========================================
  Files          16       16              
  Lines        4254     4270      +16     
==========================================
+ Hits         3621     3633      +12     
- Misses        633      637       +4     
Flag Coverage Δ
mpi-adaptivity 45.28% <0.00%> (-0.18%) ⬇️
mpi-fespaces 39.84% <0.00%> (-0.16%) ⬇️
mpi-geometry 23.17% <0.00%> (-0.09%) ⬇️
mpi-misc 50.04% <26.31%> (-0.15%) ⬇️
mpi-physics 35.76% <78.94%> (+0.19%) ⬆️
mpi-transient 24.69% <0.00%> (-0.10%) ⬇️
seq-adaptivity 39.23% <0.00%> (-0.15%) ⬇️
seq-fespaces 40.26% <0.00%> (-0.16%) ⬇️
seq-geometry 23.21% <0.00%> (-0.09%) ⬇️
seq-misc 34.83% <26.31%> (-0.09%) ⬇️
seq-physics 36.78% <78.94%> (+0.14%) ⬆️
seq-transient 24.72% <0.00%> (-0.10%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the MPI test suite with an H(curl) projection regression test and updates internal sign-flip generation logic to better handle Nedelec elements, documenting both changes in the changelog.

Changes:

  • Added a new HcurlProjectionTests module and wired it into the MPI NP4/NP1 test driver.
  • Updated _generate_sign_flips to introduce Nedelec-specific behavior (skipping sign flips in 2D / simplex cases, otherwise computing them in 3D).
  • Updated NEWS.md to record the fix and the new test.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
test/mpi/runtests_np4.jl Includes the new Hcurl projection test module in the MPI driver.
test/mpi/runtests_np4_body.jl Runs the new Hcurl projection test as part of the mpi-physics group.
test/HcurlProjectionTests.jl New H(curl) projection regression test (2D/3D branches) to validate Nedelec behavior.
src/DivAndCurlConformingFESpaces.jl Adjusts sign-flip generation dispatch/logic for Nedelec elements.
NEWS.md Notes the Nedelec sign-flip fix and the added Hcurl test.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@amartinhuertas amartinhuertas merged commit 0ac3b9e into master Mar 16, 2026
31 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants