C-ShipGen: A Conditional Guided Diffusion Model for Parametric Ship Hull Design

Noah J. Bagazinski, Faez Ahmed
5/10/2024
eess.SYcs.CEcs.LG

No official code found. Best implementation: noahbagz/C_ShipGen (13 stars, MIT, last commit 2024-12-05).

Abstract

Ship design is a complex design process that may take a team of naval architects many years to complete. Improving the ship design process can lead to significant cost savings, while still delivering high-quality designs to customers. A new technology for ship hull design is diffusion models, a type of generative artificial intelligence. Prior work with diffusion models for ship hull design created high-quality ship hulls with reduced drag and larger displaced volumes. However, the work could not generate hulls that meet specific design constraints. This paper proposes a conditional diffusion model that generates hull designs given specific constraints, such as the desired principal dimensions of the hull. In addition, this diffusion model leverages the gradients from a total resistance regression model to create low-resistance designs. Five design test cases compared the diffusion model to a design optimization algorithm to create hull designs with low resistance. In all five test cases, the diffusion model was shown to create diverse designs with a total resistance less than the optimized hull, having resistance reductions over 25%. The diffusion model also generated these designs without retraining. This work can significantly reduce the design cycle time of ships by creating high-quality hulls that meet user requirements with a data-driven approach.

View on arXivView PDF

Code Implementations(1)

noahbagz/C_ShipGenCommunity71%
MIT

Conditional Parametric Diffusion Model for Ship Hull Design

138Python, Jupyter NotebookApr 29, 20241 years agoMIT

Similar Papers

Cite this paper

@article{bagazinski2024cshipgen,
  title  = {C-ShipGen: A Conditional Guided Diffusion Model for Parametric Ship Hull Design},
  author = {Noah J. Bagazinski and Faez Ahmed},
  year   = {2024},
  eprint = {2407.03333},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.03333v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.03333.svg)](https://codeofpaper.com/paper/2407.03333)

Discussion