  Isogeometric analysis (IGA) has emerged as a promising approach in the field
of structural optimization, benefiting from the seamless integration between
the computer-aided design (CAD) geometry and the analysis model by employing
non-uniform rational B-splines (NURBS) as basis functions. However, structural
optimization for real-world CAD geometries consisting of multiple non-matching
NURBS patches remains a challenging task. In this work, we propose a unified
formulation for shape and thickness optimization of separately-parametrized
shell structures by adopting the free-form deformation (FFD) technique, so that
continuity with respect to design variables is preserved at patch intersections
during optimization. Shell patches are modeled with isogeometric
Kirchhoff--Love theory and coupled using a penalty-based method in the
analysis. We use Lagrange extraction to link the control points associated with
the B-spline FFD block and shell patches, and we perform IGA using the same
extraction matrices by taking advantage of existing finite element assembly
procedures in the FEniCS partial differential equation (PDE) solution library.
Moreover, we enable automated analytical derivative computation by leveraging
advanced code generation in FEniCS, thereby facilitating efficient
gradient-based optimization algorithms. The framework is validated using a
collection of benchmark problems, demonstrating its applications to shape and
thickness optimization of aircraft wings with complex shell layouts.
