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

Add Chebyshev point lattice #279

Merged
merged 13 commits into from
Sep 21, 2021
Merged

Add Chebyshev point lattice #279

merged 13 commits into from
Sep 21, 2021

Conversation

mscroggs
Copy link
Member

@mscroggs mscroggs commented Sep 20, 2021

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:

Figure_4

Other changed in this PR that may need discussing before merging:

  • Replaced lattice::type with lattice::type and lattice::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.
  • Added 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.

Copy link
Member

@garth-wells garth-wells left a 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.

@mscroggs mscroggs merged commit 8c168c7 into main Sep 21, 2021
@mscroggs mscroggs deleted the mscroggs/chebyshev_points2 branch September 21, 2021 14:03
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