Volume-preserving geometric shape optimization of the Dirichlet energy using variational neural networks
<|reference_start|>Volume-preserving geometric shape optimization of the Dirichlet energy using variational neural networks: In this work, we explore the numerical solution of geometric shape optimization problems using neural network-based approaches. This involves minimizing a numerical criterion that includes solving a partial differential equation with respect to a domain, often under geometric constraints like a constant volume. We successfully develop a proof of concept using a flexible and parallelizable methodology to tackle these problems. We focus on a prototypal problem: minimizing the so-called Dirichlet energy with respect to the domain under a volume constraint, involving Poisson's equation in $\mathbb{R}^2$. We use variational neural networks to approximate the solution to Poisson's equation on a given domain, and represent the shape through a neural network that approximates a volume-preserving transformation from an initial shape to an optimal one. These processes are combined in a single optimization algorithm that minimizes the Dirichlet energy. A significant advantage of this approach is its inherent parallelizability, which makes it easy to handle the addition of parameters. Additionally, it does not rely on shape derivative or adjoint calculations. Our approach is tested on Dirichlet and Robin boundary conditions, parametric right-hand sides, and extended to Bernoulli-type free boundary problems. The source code for solving the shape optimization problem is open-source and freely available.<|reference_end|>
@article{bélières--frendo2024volume-preserving,
    title={Volume-preserving geometric shape optimization of the Dirichlet energy
  using variational neural networks},
    author={Amaury B'eli`eres--Frendo, Emmanuel Franck, Victor Michel-Dansac,
  Yannick Privat},
    journal={arXiv preprint arXiv:2407.19064},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.19064},
    primaryClass={math.OC cs.NA math.NA}
}