Skip to content

Broken FEEC projections on polar domains#576

Open
alisa-kirkinskaia wants to merge 134 commits into
develfrom
polar_splines_alisa
Open

Broken FEEC projections on polar domains#576
alisa-kirkinskaia wants to merge 134 commits into
develfrom
polar_splines_alisa

Conversation

@alisa-kirkinskaia
Copy link
Copy Markdown
Contributor

@alisa-kirkinskaia alisa-kirkinskaia commented Feb 18, 2026

This PR introduces broken FEEC projections for C0 and C1 sequences (conga_projections.py) in 2D. The formulas for the projections can be found here on pages 19-23.

  • Added projections C0PolarProjection_V0, C0PolarProjection_V1, C0PolarProjection_V2 onto C0 sequence, and analogously onto C1 sequence.

  • dot methods of the projections are implemented for parallel execution for arbitrary domain decompositions in the angular and/or radial dimensions.

  • Added unit tests for the projections checking:

    • the projection property P(P(x)) = P(x)
    • tosparse methods against reference matrix operators
    • consistency between dot and tosparse methods
  • Poisson example
    Example of run: mpirun -n 2 python poisson_2d.py -S -n 16 24 -d 2 2 -t disk -D 0.2 -m 'C0conga'
    Exact solution, approximate solution and error plot:

Screenshot 2026-03-24 at 09 32 20
  • TE Maxwell example
    Example of run: mpirun -n 2 python maxwell_2d.py -S -n 16 20 -d 2 2 -T 1 -D 0.2 -s 1
    Plot of exact solution and approximate solution at final time T = 1:
Screenshot 2026-03-24 at 09 50 04

@alisa-kirkinskaia alisa-kirkinskaia marked this pull request as ready for review May 5, 2026 08:41
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.

4 participants