Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

inducer/modepy

Open more actions menu

Repository files navigation

modepy: Basis Functions, Node Sets, Quadratures

Gitlab Build Status Github Build Status Python Package Index Release Page Zenodo DOI for latest release Paper in the Journal of Open Source Software

modepy helps you create well-behaved high-order discretizations on simplices (i.e. segments, triangles and tetrahedra) and tensor products of simplices (i.e. squares, cubes, prisms, etc.). These are a key building block for high-order unstructured discretizations, as often used in a finite element context. Features include:

  • Support for simplex and tensor product elements in any dimension.
  • Orthogonal bases:
    • Jacobi polynomials with derivatives
    • Orthogonal polynomials for simplices up to 3D and tensor product elements and their derivatives.
    • All bases permit symbolic evaluation, for code generation.
  • Access to numerous quadrature rules:
    • Jacobi-Gauss, Jacobi-Gauss-Lobatto in 1D (includes Legendre, Chebyshev, ultraspherical, Gegenbauer)
    • Clenshaw-Curtis and Fejér in 1D
    • Grundmann-Möller on the simplex
    • Xiao-Gimbutas on the simplex
    • Vioreanu-Rokhlin on the simplex
    • Jaśkowiec-Sukumar on the tetrahedron
    • Witherden-Vincent on the hypercube
    • Generic tensor products built on the above, e.g. for prisms and hypercubes
  • Tools to construct new quadrature rules:
    • A basic iterative Gauss-Newton process to optimize/tighten rules
    • Vioreanu-Rokhlin node initial generation based on multiplication operators
  • Matrices for FEM, usable across all element types:
    • generalized Vandermonde,
    • mass matrices (including lumped diagonal),
    • face mass matrices,
    • differentiation matrices, and
    • resampling matrices.
  • Objects to represent 'element shape' and 'function space', generic node/mode/quadrature retrieval based on them.

Its roots closely followed the approach taken in the book

J. S. Hesthaven and T. Warburton (2007). Nodal Discontinuous Galerkin Methods: Algorithms, Analysis, and Applications (1st ed.). doi:10.1007/978-0-387-72067-8. (source code)

but much has been added beyond that basic functionality.

Resources:

About

Modes and nodes for high-order discretizations

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.