SoftwareX (Jan 2021)
cashocs: A Computational, Adjoint-Based Shape Optimization and Optimal Control Software
Abstract
The solution of optimization problems constrained by partial differential equations (PDEs) plays an important role in many areas of science and industry. In this work we present cashocs, a new software package written in Python, which automatically solves such problems in the context of optimal control and shape optimization. The software cashocs implements a discretization of the continuous adjoint approach, which derives the necessary adjoint systems and (shape) derivatives in an automated fashion. As cashocs is based on the finite element software FEniCS, it inherits its simple, high-level user interface. This makes it straightforward to define and solve PDE constrained optimization problems with our software. In this paper, we discuss the design and functionalities of cashocs and also demonstrate its straightforward usability and applicability.