Skip to content

ELEMENTS is a library of mathematical functions for supporting a very broad range of element types, numerical methods, and mesh connectivity mapping data structures useful for computational physics.

License

Notifications You must be signed in to change notification settings

nathanielmorgan/ELEMENTS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ELEMENTS

ELEMENTS is a library of mathematical functions for supporting a very broad range of element types including: linear, quadratic, and cubic serendipity elements in 2D and 3D; high-order spectral elements; and a linear 4D element. The ELEMENTS library can be used for research and development of both continuous and discontinuous finite element methods for solving a diverse range of partial differential equations. The library has functions for calculating quantities that are commonly used in finite element methods such as the gradient of a basis function, the Jacobi matrix, the inverse Jacobi matrix, the determinant of the Jacobi matrix, and a physical position inside the element, to name a few examples. The library also supports both Gauss-Legendre and Gauss-Lobatto quadrature rules up to 8 quadrature points in each coordinate direction. The examples and discussions in this paper will focus on Lagrangian solid mechanics and dynamics, but ELEMENTS can be used for many other applications.

On top of supporting multiple types of discretization, ELEMENTS contains a rather extensive library for creating mesh structures to map between multiple different index spaces that are commonly required for solving problems in computational physics.

About

ELEMENTS is a library of mathematical functions for supporting a very broad range of element types, numerical methods, and mesh connectivity mapping data structures useful for computational physics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.0%
  • CMake 2.8%
  • GLSL 0.2%