Awesome Computational Design

Awesome License Stars PRs welcome

A curated list of awesome open-source tools for computational engineering, data-driven design, scriptable tools, cyber-physical design, and computational science. This repository aims to provide engineers, designers, and researchers with the best resources to enhance their computational projects.

Viewable at https://cameronbrooks11.github.io/awesome-computational-design/

Table of Contents

Introduction

Welcome to the Awesome Computational Design repository! This list is intended for developers, engineers, and researchers who are looking for high-quality, open-source tools to aid in computational design and engineering projects. Whether you’re working on CAD modeling, simulation, optimization, or data visualization, you’ll find valuable resources here.

Tools

Grouped by what you reach for them to do. Entries are alphabetical within each group.

Parametric & scripted CAD

Implicit & volumetric modelling

Geometry kernels & libraries

Meshing & mesh processing

Simulation & multiphysics

Systems & process modelling

Electronics & PCB design

Design & topology optimization

Optimization solvers & modelling

Visualization

Domain-specific

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

You are welcome to fork the repository and add new tools and submit a pull request or open an issue detailing what you’d like to be added and why it fits the criteria.

Planned work for the list is in Roadmap.

Inclusion criteria

An entry should meet all three:

  1. An ascertainable open-source licence — a licence file, or an explicit statement in the README or documentation.
  2. Distributed as software — packaging, releases, or build and install instructions. Not a single script published as a paper appendix.
  3. Maintained — meaningful activity within roughly the last two years.

The second test matters most in fields that publish a new method as reference code alongside the paper, as topology optimization does. That code is valuable reading and often well cited, but it is not software anyone maintains, and star count does not distinguish the two.

Local preview

GitHub Pages builds this site with Jekyll. Previewing it locally uses the same toolchain, so what you see matches what gets published.

Once per clone:

bundle config set --local path vendor/bundle
bundle install

Then:

bundle exec jekyll serve

and open http://127.0.0.1:4000/awesome-computational-design/. The path matters — baseurl in _config.yml puts the site under it, and the server root is a 404.

This is worth doing before opening a pull request. A Markdown or config change can render correctly on github.com and still break once deployed, because github.com does not render this README with Jekyll.

Guidelines

Roadmap

These are one piece of work rather than two: an example workflow is a tutorial with the prose removed. They are also broader than this list’s scope. Cataloguing tools is a different job from teaching people to chain them together, which means working files, versions that agree with each other, and output to regenerate whenever any of them changes.

That belongs in its own repository, which will be linked here once it exists.

License

Distributed under the AGPL v3 License. See LICENSE for more information.

Acknowledgements

Inspired by Awesome Lists and awesome.

Thanks to all the open-source contributors and communities that make these tools possible.