Adjoint-based constrained topology optimization for viscous flows, including heat transfer | Synapse