OpenPisco is a research and development platform devoted to topology optimization relying on the level set method. Its aims are the following:

  • Improve the understanding of the numerical aspects inherent to topology optimization with level set
  • Enable a fast prototyping of the developments driven by industrial/research needs
  • Provide a user interface for several external tools used in the context of topology optimization

As such, its main characteristics are:

  • Modularity: assembling of weakly coupled and highly cohesive brick. For instance, the physical solvers or remeshing tool can be used independently without any concern about topology optimization related aspect whatsoever
  • Interoperability: easy to replace a brick by another (physical solver, optimization algorithm, optimization criteria)
  • Extensibility: the overall modularity is driven by the possibility to adapt to futures needs. In particular, a plugins-like infrastructure enables a user to use his own functionalities (be it reading a mesh, use a different optimization algorithm or even provide a specific physical analysis) within the platform without interacting with the existing source code

Considering that Python remains quite user-friendly, a lof of developer and researcher are familiar with this language nowadays and that it is possible to rely on Numpy and Scipy to obtain acceptable performances, the platform is written almost exclusively in Python. The Python library provided by OpenPisco is named OpenPisco. Still, note that the platform does rely on other tools not necessarily in Python nor even at least providing a Python API (e.g. finite element solvers).

Link to OpenPisco sources on

Link to OpenPisco documentation on

conda install -c openpisco openpisco