TOPress: a MATLAB implementation for topology optimization of structures subjected to design-dependent pressure loads
Prabhat Kumar
TL;DR
The paper addresses topology optimization with design-dependent pressure loads, where load direction and magnitude evolve with topology, by introducing TOPress, a compact 100-line MATLAB code that implements the Darcy law with drainage and adjoint-based load sensitivities within MMA. The framework formulates a compliance-minimization problem with a volume constraint, using filtered densities and SIMP interpolation, and provides efficient, consistent nodal-load computations from the pressure field. Key contributions include a concrete educational tool, a validated Darcy-based load modeling approach, and extensions to various pressure-loaded problems (internally/externally pressurized arches, pistons, and chambers) with optional Heaviside projection to approach 0–1 designs. The work demonstrates that including load sensitivities significantly influences optimized topology and performance, offering a practical, extensible platform for students and researchers to explore design-dependent pressures and to extend the code to 3D and additional constraints.
Abstract
In a topology optimization setting, design-dependent fluidic pressure loads pose several challenges as their direction, magnitude, and location alter with topology evolution. This paper offers a compact 100-line MATLAB code, TOPress, for topology optimization of structures subjected to fluidic pressure loads using the method of moving asymptotes. The code is intended for pedagogical purposes and aims to ease the beginners' and students' learning toward topology optimization with design-dependent fluidic pressure loads. TOPress is developed per the approach first reported in Kumar et al. (Struct Multidisc Optim 61(4):1637-1655, 2020). The Darcy law, in conjunction with the drainage term, is used to model the applied pressure load. The consistent nodal loads are determined from the obtained pressure field. The employed approach facilitates inexpensive computation of the load sensitivities using the adjoint-variable method. Compliance minimization subject to volume constraint optimization problems are solved. The success and efficacy of the code are demonstrated by solving benchmark numerical examples involving pressure loads, wherein the importance of load sensitivities is also demonstrated. TOPress contains six main parts, is described in detail, and is extended to solve different problems. Steps to include a projection filter are provided to achieve loadbearing designs close to~0-1. The code is provided in Appendix~B and can also be downloaded along with its extensions from \url{https://github.com/PrabhatIn/TOPress}.
