-
-
Notifications
You must be signed in to change notification settings - Fork 38
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
Add Chebyshev point lattice #279
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Sep 20, 2021
garth-wells
requested changes
Sep 21, 2021
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Just some small suggestions.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added Chebyshev points as a lattice to be used for creating Lagrange elements. This new variant can only be used for discontinuous Lagrange elements, as the endpoints are not included in the Chebyshev points.
For simplices, the Chebyshev points are created by defining the Chebyshev points on an interval, adding the end points then using warping or Isaac's method to create points in the cell. (This can probably be improved on)
The Lebesgue constants for these points (compared to equispaced and GLL points) are shown here:
Other changed in this PR that may need discussing before merging:
lattice::type
withlattice::type
andlattice::simplex_method
, as each lattice type can have a warped or isaac variant and it made sense to me to split the point spacing on an interval from the method used to turn this into points on non-TP cells.element::lagrange_variant
and made Lagrange elements take this as in input instead of a lattice type. This is because (eg) Chebyshev points are ordered differently so taking the Chebyshev variant does more than just change the lattice type. It also would allow us to support other variants of Lagrange (eg. variant where basis functions are orthonormal polynomials, variant with integral moments) where the change is not just due to a different Lattice. This change requires Replace lattice type with Lagrange variant ffcx#389 and Replace lattice type with Lagrange variant dolfinx#1716.