# Announcing Elfel.jl: finite element programming the Julian way

**URL:** <https://discourse.julialang.org/t/announcing-elfel-jl-finite-element-programming-the-julian-way/42179>\
**Category:** Package Announcements\
**Tags:** finite-element\
**Created:** [June 28, 2020, 2:05am UTC](https://discourse.julialang.org/t/announcing-elfel-jl-finite-element-programming-the-julian-way/42179 "2020-06-28T02:05:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [June 28, 2020, 2:05am UTC](https://discourse.julialang.org/t/announcing-elfel-jl-finite-element-programming-the-julian-way/42179/1 "2020-06-28T02:05:44Z")

</div>

The [package](https://github.com/PetrKryslUCSD/Elfel.jl) is intended to facilitate construction of mixed methods. The library provides low-level building blocks rather than prepackaged procedures. In addition to the usual nodal bases, edge, face, and cell basis functions are supported. Finite element spaces may be combined arbitrarily. Arbitrary mesh topologies are supported by the MeshCore library. High performance is supported with consistent use of stack variables. Current limitations: only H1 and L2 elements are included at the moment. The implementation is proof-of-concept rather than production-ready.

Many thanks to Kristofer (@kristoffer.carlsson) and Fredrik (@fredrikekre). Their JuAFEM package and their views concerning Julia programming were very helpful.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [June 28, 2020, 9:05pm UTC](https://discourse.julialang.org/t/announcing-elfel-jl-finite-element-programming-the-julian-way/42179/2 "2020-06-28T21:05:01Z")

</div>

This looks fairly similar to my concept ideas in [Adapode.jl](https://github.com/chakravala/Adapode.jl) for making building blocks of finite element methods. Likewise, my package is designed to be modular. However, the meshing for `Adapode` is built on a [Grassmann.jl](https://github.com/chakravala/Grassmann.jl) style interface for global & local manifolds instead.
