Code repository for the manuscript
J. Haubner, F. Neumann, M. Ulbrich: A Novel Density Based Approach for Topology Optimization of Stokes Flow, SIAM J. Sci. Comput. (2022, accepted for publication).
The implementation is based on http://www.dolfin-adjoint.org/en/release/documentation/stokes-topology/stokes-topology.html
conda env create -f environment.yml --experimental-solver=libmamba
conda activate topopt
cd topopt
python3 topopt.py
conda deactivate topopt
It has to be ensured that the conda-libmamba-solver is installed.
For practical problems it is furthermore necessary to link IPOPT against HSL when compiling (see comment in http://www.dolfin-adjoint.org/en/release/documentation/stokes-topology/stokes-topology.html).
For running the MMA examples, it is required to clone the github repository https://github.com/arjendeetman/GCMMA-MMA-Python into the folder mma/MMA_Python.
Alternatively, also Docker can be used (only built for linux/amd64 platforms):
docker pull ghcr.io/johanneshaubner/topopt:latest
cd topopt
docker run -it -v $(pwd):/topopt ghcr.io/johanneshaubner/topopt
In the Docker container:
python3 topopt/topopt.py
To run tests, run the following command
pytest
We would like to acknowledge Jørgen Dokken and Henrik Finsberg for the help, support and discussions on reproducibility.