Skip to content
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

Moment based reffes: refactoring and extension of Gridap.Polynomials #1072

Merged

Conversation

Antoinemarteau
Copy link
Contributor

@Antoinemarteau Antoinemarteau commented Jan 3, 2025

Testing coverage.

Todo:

  • Module documentation
  • optim Bernstein
  • fix test coverage

another one exists in Polynomials.PCurlGradMonomialBases.jl, that could
lead to bugs in further refactoning
renamed
    - ChebyshevPolynomialBases -> ChebyshevBasis
    - JacobiPolynomialBases    -> LegendreBasis
for consistency with MonomialBasis

added TensorPolynomialBasis that generalises/refactors MonomialBasis,
ChebyshevBasis and LegendreBasis, and any nD polynomial basis built as
an anisotropic tensor product of 1D polynomial bases.
enable edge case (first orders) optimizations via dispatch
- factorized Q[Curl]Grad bases as instences of CompWiseTensorPolyBasis, enabling
using any polynomial family as underlying 1D basis

- deprecated num_terms in favor of length of Q[Curl]Grad spaces

- changed the value of get_order(::Q[Curl]GradBasis), it now returns the
actual maximum order of the basis functions, for consistency.

the order of the basis polynomial changed in the Q[Curl]Grad basis, cf.
CompWiseTensorPolyBasis
- new type NonTensorRTPolyBasis, which is a QCurlGradMonomialBasis
    general for any hierarchical basis <:Polynomial (including Monomial)
- removed perms from NonTensorRTPolyBasis (former QCurlGradMonomialBasis),
    it served no purpose excep changing the order of the basis function.
    This means that the order of the basis function did change
…tion

- factorised evaluate!(PolynomialBasis) using a new generic
    _evaluate_nd! _gradient_nd! _hessian_nd! interface
- made NedelecPreBasisOnSimplex and ModalC0Basis subtype of
    PolynomialBasis and factorised what was possible
- homogenized names and updated exported names
- updated news.md
- handled deprecated APIs
- added some docstrings
- updated tests with new APIs
Copy link

codecov bot commented Jan 3, 2025

Codecov Report

Attention: Patch coverage is 93.41486% with 70 lines in your changes missing coverage. Please review.

Project coverage is 85.62%. Comparing base (f4c35ea) to head (57af29c).
Report is 50 commits behind head on moment-based-reffes.

Files with missing lines Patch % Lines
src/ReferenceFEs/deprecated/RaviartThomasRefFEs.jl 0.00% 21 Missing ⚠️
src/Polynomials/Deprecated.jl 0.00% 18 Missing ⚠️
src/ReferenceFEs/deprecated/NedelecRefFEs.jl 0.00% 7 Missing ⚠️
src/ReferenceFEs/RaviartThomasRefFEs.jl 50.00% 6 Missing ⚠️
src/ReferenceFEs/CRRefFEs.jl 20.00% 4 Missing ⚠️
src/Polynomials/BernsteinBases.jl 97.02% 3 Missing ⚠️
src/Polynomials/ModalC0Bases.jl 97.56% 3 Missing ⚠️
src/ReferenceFEs/MTWRefFEs.jl 0.00% 3 Missing ⚠️
src/ReferenceFEs/AWRefFEs.jl 0.00% 2 Missing ⚠️
src/Helpers/HelperFunctions.jl 87.50% 1 Missing ⚠️
... and 2 more
Additional details and impacted files
@@                   Coverage Diff                   @@
##           moment-based-reffes    #1072      +/-   ##
=======================================================
+ Coverage                83.89%   85.62%   +1.72%     
=======================================================
  Files                      209      211       +2     
  Lines                    25348    24336    -1012     
=======================================================
- Hits                     21266    20837     -429     
+ Misses                    4082     3499     -583     

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

@Antoinemarteau Antoinemarteau marked this pull request as ready for review January 10, 2025 10:53
@JordiManyer JordiManyer merged commit 4ed24bf into gridap:moment-based-reffes Jan 13, 2025
11 checks passed
@JordiManyer JordiManyer mentioned this pull request Jan 13, 2025
12 tasks
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