Skip to content
William Hunter edited this page Sep 30, 2015 · 20 revisions

ToPy Logo

Introduction

What is ToPy? Topology optimisation (or optimization, if you prefer) using Python.

ToPy is written in Python and is used to solve one of three types of topology optimisation problems. You type a simple text input file (TPD file) and define one of the following three problems:

  1. minimum compliance (same as maximum stiffness),
  2. heat conduction or
  3. mechanism design (synthesis).

ToPy solves the problem to obtain a 2D (or 3D, depending on the input file) checker-free black-white (in 2D) or solid-void (in 3D) solution. The result is

  1. an optimally stiff structure for minimum compliance problems,
  2. an optimal distribution of two materials for heat conduction problems and
  3. an optimal distribution of material for efficient mobility.

The 2D results are PNG files and the 3D results are VTK files.

Some examples of results are shown here: Examples

There is (going to be) a tutorial to solve a 2D compliance problem here: Tutorials.

Limitations

  • ToPy only works with regular square (for 2D) and cubic (for 3D) meshes
  • No GUI for defining problems (but maybe in the future)
  • No CAD interface (although you can save the 3D files as STL files via Paraview)

Background

The development was originally done on Linux (32-bit), but ToPy works on Windows (32 and 64-bit¹) and OS X¹ too.

ToPy was part of my Master's thesis at the University of Stellenbosch, South Africa.

¹ Thanks to Nikos Kaminakis for letting me know.

Status

All the code has been uploaded, so just clone and follow the instructions in the install file. ToPy has been downloaded more than a 1000 times (when still at Google Code) and numerous users have used it with success. If you follow the installation instructions, ToPy should (will) work.

Examples

See Examples for some examples of the input (problem definition) files and their output after it was solved with ToPy.

Clone this wiki locally