GalerkinToolkit.jl

GalerkinToolkit is a high-performance finite element (FE) toolbox fully implemented in the Julia programming language. It provides modular building blocks to easily implement custom finite element codes to solve partial differential equations (PDEs) using a variety of numerical schemes.

Get started
962 commitsLast commit ≈ 3 days ago31 stars3 forks

Cite this software

Description

What

GalerkinToolkit is a high-performance finite element (FE) toolbox fully implemented in the Julia programming language. It provides modular building blocks to easily implement custom finite element codes to solve partial differential equations (PDEs), using a variety of numerical schemes, and across diverse computing environments. GalerkinToolkit integrates seamlessly with the broader Julia ecosystem. It supports external solvers such as PartitionedSolvers.jl, PetscCall.jl, LinearSolve.jl, NonLinearSolve.jl, and DifferentialEquations.jl to handle the algebraic systems resulting from PDE discretizations. For visualization, the toolkit provides plotting recipes for Makie.jl and utilities for exporting results in VTK format using WriteVTK.jl.

Why

GalerkinToolkit is definitively not the first FEM software project out there, but it has some unique features. This includes a unified API with high- and low-level abstractions, a deep integration with the Julia package ecosystem, a new form compiler, and a redesign of the core ideas behind Gridap.

Logo of GalerkinToolkit.jl
Keywords
Programming languages
  • Julia 99%
  • GLSL 1%
License
</>Source code

Related projects

HP2SIM

Democratizing multi-physics simulations with high-productivity high-performance finite element software

Updated 1 week ago
In progress

Related software

PartitionedArrays.jl

PA

This package provides distributed (a.k.a. partitioned) vectors and sparse matrices like the ones needed in distributed finite differences, finite volumes, or finite element computations.

Updated 4 hours ago
13