Vessel.js is a JavaScript library for conceptual ship design with an object-oriented paradigm. Vessel.js represents the vessel as an object, which is used to simulate different functionalities and behaviors. Currently, the library includes methods for hydrostatic, dynamics and stability calculations.
The library is developed by Ship Design and Operation Lab at Norwegian University of Science and Technology (NTNU) in Ålesund.
Download the latest version here:
Import Vessel.js in html by using the following script:
import * as Vessel from "../build/vessel.module.js"
Vessel.js was introduced and explained in the IMDC 2018 paper, and its later state was documented at IMDC 2022. If you use the library or its examples, please cite:
BibTeX entries are available in the README and in CITATION.cff.
Vessel.js was conceived and led by Henrique Murilo Gaspar, and developed with Ícaro Aragão Fonseca, Felipe Ferrari de Oliveira, Elias Hasle, Diogo Kramel, Vicente Alejandro Iváñez Encinas, Mateus Sant'Ana and Sergi Escamilla, together with students and colleagues at NTNU. See AUTHORS.md for who did what.
Vessel.js is a legacy project and is no longer under active development. The code, examples and this website are kept online as a reference. You are welcome to fork the repository for your own work, and to create issues, but they may not be addressed.
Vessel.js tutorials are available on the ObservableHQ notebook collection. Don't know where to start? Try the learning guide.