/awesome-CAE

A curated list of awesome CAE frameworks, libraries and software.

Awesome CAE

A curated list of awesome CAE frameworks, libraries and software.


CAD

  • pythonocc - pythonOCC is a 3D CAD/CAE/PLM development framework for the Python programming language
  • cadmium - Cadmium is a python library for Solid Modelling.
  • CadQuery - CadQuery is a Python CAD library that uses the OpenCASCADE CAD kernel
  • oce - oce is a C++ 3D modeling library.

Preprocessors

Libraries mainly meant for preprocessing of data before simulation

  • pyNastran - pyNastran is an interface library to the various Nastran file formats (BDF, OP2, OP4)
  • qd-ansa - python utility library for scripting in Beta CAE suite
  • abapy - Abaqus Python “AbaPy” contains tools to build, postprocess and plot automatic finite element simulations using Abaqus.
  • AbqParse - A simple parser for Abaqus input files that parses out the keywords, parameters, and data lines.
  • abaqus2dyna - abaqus2dyna is a script to convert, in a limited fashion, Abaqus keyword inputfiles to LS-DYNA keyword input files.
  • pycalculix - pycalculix is a Python 3 library to automate and build finite element analysis (FEA) models in Calculix.
  • pyDOE - library for creating design of experiments studies
  • meshpy - MeshPy offers quality triangular and tetrahedral mesh generation for Python
  • pymesh - PyMesh — Geometry Processing Library for Python
  • smesh - A complete OpenCascade based MESH framework
  • pygmsh - The goal of PyGmsh is to combine the power of Gmsh with the versatility of Python
  • FreeCAD - FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM
  • VTK - VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization
  • Robust-Hexahedral-Re-Meshing - Robust Structure Simplification for Hex Re-meshing
  • gridder - gridder is a simple interactive grid generation tool for creating 2D and 3D orthogonal grids. Used at Los Alamos National Laboratory (EES Group).
  • libMesh - The libMesh library provides a framework for the numerical simulation of partial differential equations. A major goal of the library is to provide support adaptive mesh refinement (AMR).
  • Simright WebMesher - Simright WebMesher is a Web-based preprocessor. It supports importing most popular CAD formats, interactive meshing, definitions of loads & BCs and exporting into various CAE formats.
  • meshzoo - A collection of simple meshes for canonical domains
  • pyvista - 3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)

Materials

  • ABAQUS-US - A variety of ABAQUS user element (UELs) and user material (UMATs) subroutines
  • ABAQUS_Subroutines - Viscoplastic UMAT, rotational body force UEL, UMAT implmenentation of Linder et al. 2011
  • ABAQUS_Subroutines 2 - collection of abaqus user materials

Solver related

  • SU2 - SU2 is a C++ suite of tools for the numerical solution of partial differential equations (PDE) and performing PDE constrained optimization, primary for CFD.
  • OpenFoam - Open Source CFD solver
  • jobwatch - Abaqus Job Status Plotter
  • NASTRAN-95 - FEM solver
  • abaqus-fortran-env-setup - Files and docs to assist getting Abaqus with Intel Fortran development environment configured.
  • OpenBLAS - OpenBLAS is an optimized BLAS library
  • PyOP2 - Framework for performance-portable parallel computations on unstructured meshes
  • pyamg - Algebraic Multigrid Solvers in Python
  • Fluid-Solver - Staggered-Grid Fluid Solver in Rust
  • boltzmann - Maxwell-Boltzmann distribution simulator written in Rust
  • nusa - A Python library for simple structural analysis using FEM
  • JuliaFEM - The JuliaFEM project develops open-source software for reliable, scalable, distributed FEM
  • FEniCS - FEniCS is a computing platform for solving partial differential equations in a very comfortable manner.
  • deal.II - A C++ software library supporting the creation of finite element codes
  • CFDEM - This code provides models and solvers to realize coupled CFD-DEM simulations using LIGGGHTS and OpenFOAM® technology.
  • Voxelyze - Voxelyze is a general purpose multi-material voxel simulation library for static and dynamic analysis.
  • CalculiX - CalculiX is an OSS package designed to solve field problems. The method used is the finite element method.
  • Modelica - Free library from the Modelica Association to model mechanical (1D/3D), electrical (analog, digital, machines), thermal, fluid, control systems and hierarchical state machines.
  • Simright Simulator - Simright Simulator is a Web-based structural analysis software.

Postprocessing

This section contains software regarding postprocessing

  • qd - CAE python library for reading binary LS-DYNA result files and some other smaller CAE related utilities.
  • pyNastran - pyNastran is an interface library to the various Nastran file formats (BDF, OP2, OP4)
  • matlab-lsdyna - Reader of ascii results files from the Finite Element solver LS-DYNA, and a wrapper to run LS-DYNA simulations programmatically from MATLAB.
  • postPro4Abq - Python scripts to read and process an odb file.
  • ParaView - ParaView is an open-source, multi-platform data analysis and visualization application based on Visualization Toolkit (VTK).
  • abaqusPython - A collection of frequently used abaqus scripts and other useful gems!
  • matplotlib-4-abaqus - Allow abaqus(v6.14-1) to use matplotlib in its build-in python scripts environment.
  • colorbrewer-colormaps-4-abaqus - An easy way to use the beautiful color schemes in Abaqus to plot contour.
  • PyQus - Python codes for post-processing of Abaqus ODB files.
  • IsoSurfaceExtraction - Isosurface extraction from regular voxel grids
  • glue - Glue is a python project to link visualizations of scientific datasets across many files.
  • Simright Viewer - Simright Viewer is a Web-based viewer for CAD/CAE models. It can also be used to create a 3D snapshot URL for sharing.
  • dynareadout - A C/C++/Python library for reading binary LS-DYNA result files (binout, d3plot) with a focus on performance and memory usage.

Optimization

Tools for doing optimization.

  • opti4Abq - An optimisation method for python2 and ABAQUS.
  • OpenMDAO - OpenMDAO is an open-source high-performance computing platform for systems analysis and multidisciplinary optimization, written in Python.
  • ToOptiX - ToOptix is used for multiphysical topology optimization.
  • CasADi - CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs.
  • YALMIP - MATLAB toolbox for optimization modeling
  • Simright Toptimizer - Simright Toptimizer is a Web-based Topology Optimization software.

Tools

  • nastran-find - Nastranfind is a solution for browsing Nastran input deck
  • FEconv - Program feconv converts finite element (FE) mesh files between several formats
  • odb2vtk - Python script converts Abaqus ODB files to VTK format for Paraview visualisation.
  • nastran-find - Nastranfind is a solution for browsing Nastran input deck files for Windows, Mac OS X and Unix.
  • Simright Converter - Simright Converter is a web-based tool for converting CAE models between different formats.
  • abaqus_scripts - Python scripts to automate the boring stuff in everyday use of Simulia Abaqus, from opening the GUI to controlling parametric analysis.
  • abqpy - Type hints for Abaqus/Python scripting.

Editors

Here you can find editors or plugins for editors.


Documentation

Projects related to documentation

  • LS-DYNA-Sublime - Sublime Text syntax highlighting for the LS-DYNA finite element software.
  • Abaqus-Sublime - Sublime Text syntax highlighting for the Abaqus finite element software.
  • Abaqus-Documentation-Scraper - Python script to extract keywords, parameters, and parameter values from the Abaqus HTML documentation.