Bcube.jl

Author bcube-project
Popularity
4 Stars
Updated Last
3 Months Ago
Started In
October 2023

Bcube.jl

codecov Build Status

Bcube is a Julia library providing tools for the spatial discretization of partial differential equation(s) (PDE). It offers a high-level API to discretize linear or non-linear problems on unstructured mesh using continuous or discontinuous finite elements (FEM - DG).

The main features are:

  • high-level api : a(u, v) = ∫(η * ∇(u) ⋅ ∇(v))dΩ
  • 1D, 2D, 3D unstructured mesh with high-order geometrical elements (gmsh format)
  • Lagrange (continuous & discontinuous) and Taylor (discontinuous) finite elements (line, quad, tri, hexa, penta)
  • arbitrary order for hypercube Lagrange elements

Browse the documentation for more information about the code architecture and API. Commented tutorials as well as various examples can be found in the dedicated project BcubeTutorials.jl.

Installation

Bcube can be added to your Julia environment with this simple line :

pkg> add Bcube

Alternatives

Numerous FEM-DG Julia packages are available, here is a non-exhaustive list;

Contribution

Any contribution(s) and/or remark(s) are welcome! Don't hesitate to open an issue to ask a question or signal a bug. PRs improving the code (new features, new elements, fixing bugs, ...) will be greatly appreciated.

Gallery

Helmholtz equation Phase field solidification Linear transport equation
Heat equation on a sphere Transport equation on hypersurfaces Linear thermo-elasticity

Authors

Ghislain Blanchard, Lokman Bennani and Maxime Bouyges