[ANN] Exodus.jl - A wrapper for the exodusII file format for finite elements

I’m pleased to finally announce a package I’ve been working on for the last year or more, Exodus.jl which can be found here Exodus.jl.

What is it?
Exodus.jl wraps a jll build of the exodusII library which is part of the larger toolset SEACAS. This library is widely used in high performance US DOE simulation codes based on the finite element method and scales to billions of finite elements. The library and file format also comes along with a rich set of tooling to perform tasks such as

  • Mesh decomposition for running on HPC clusters via decomp

  • Diffing exodus files via exodiff

  • Stictching together output files via epu

  • And many others I haven’t gotten around to hooking up yet.

Who might benefit from this?
Most people working with finite elements that uses or develops in the julia programming language that uses codes that work with exodus files or those interested in using exodus files in new codes written in julia.

What are the shortcomings?
Exodus files write the mesh topology once and it is fixed after that. This can be a benefit for many applications in solid mechanics where the mesh topology won’t change during simulations. It allows for the output of all time steps to live in a single file unlike with VTK. However, for those working with/developing codes that leverage adaptive mesh refinement this package is probably not for you.

What are the benefits?
A simple package to use with a simple API that leverages a tried and true FEM file format. The package also comes along with tooling for mesh decomposition for those interested in HPC deployment.


Does this mean that at least some at Sandia are ready to tinker with Julia?

1 Like

I wrote this outside of work as a way to learn to leverage legacy code in julia, but yes there are a few of us that are trying to get traction for using julia.