Recommendations for Julia Packages for FEA to be used in shape and topology optimization of 3D Shell Structures

Hello everyone,

I’m working on my master’s project, which involves shape and topology optimization for a 3D shell structure. Initially, I plan to work within the linear static regime. Instead of writing my own finite element (FE) code, I’d like to leverage an existing Julia package that fits my requirements.

Key features I need:

  1. The ability to easily modify element material properties and thickness.
  2. The capability to update node coordinates between optimization iterations.

I’ve come across several promising packages, including Ferrite.jl, Gridap.jl, and FinEtools.jl, but I’m unsure which one would suit my needs best. Could anyone provide insights or recommendations based on their experience?

Thank you in advance for your help!

There are more specific packages for topology optimization including

Try to search on JuliaHub for relevant keywords. If you after native mesh types to develop a new package for your master’s project, consider

We are actively working on it and can help you with answering questions.

I think you could implement your own shell element in either Gridap or Ferrite. But in order to get good performance and robustness (for instance to eliminate locking, or to be able to handle branching or folds), substantial amount of work would be required.

FinEtoolsFlexStructures.jl provides a robust triangular shell FE.

Btw, if you wish to do sizing optimization (thickness), handling offsets of reference surface from the midsurface will be crucial.

You mean that there are bifurcations wrt to some parameters?

Oh no, I literally mean folds or branching of the surface of the shell.

Thanks, I’ll definitely look into these and see which one works best for me.