chapter  10
11 Pages

Vessel.js: An open and collaborative ship design object-oriented library

ByH. M. Gaspar

Open and collaborative JavaScript libraries are a key successful factor when developing web-based software, with many scientific applications already available, such as numerical calculations, data visualization and 3D graphics. Vessel.js intends to bring the object oriented, openness and web user interface characteristics from such examples to the ship design community. The library is organized as a compilation of core classes able to describe the ship entities and states during early stages of design. These classes allow ship knowledge to be gathered from key systems of the ship, such as a design building block, as well as access a library of pre-defined formulas and regressions, such as in parametric design. The combination of these bottom-up and top-down data can be manipulated, analysed and visualized via 2D/3D dashboards in HTML environment. The JSON object-oriented data format allows a flexible ship taxonomy while inputting data, with multiple tags for the same object as well as easy parametrization for traditional vessel data. WebGL, D3 and other powerful support libraries are used for 2D/3D visualization and data analysis. Rather than promising a unique and unified ship design software, the Vessel.js library focus on a core tool that lays out a foundation to solve specific ship design problems. Examples in general arrangement, basic stability, design spaces and fuel consumption simulation are presented. A call for more development in JavaScript and other applications of the library concludes the paper.