Print Friendly, PDF & Email

A new real-time 3D simulator for ship design, based on JavaScript, allows running real-time ship motion simulations in a web browser. The breakthrough advantage consists in adapting the simulation tool requirements to the user’s common platform, instead of forcing users to comply with the tool requirements


Virtual simulators have been used in maritime applications for decades, where experience-based design has progressively integrated simulation and virtual[ds_preview] tools to assist the design process. Nowadays, industry relies on such tools to predict system response, assist operation, and assess design options. Analysis regarding stability, hydrodynamics and structure, together with 3D modeling, are examples of the most common virtual applications in ship design.

In this context, researchers Olivia Chaves of UNIFEI, Brazil, and Henrique Gaspar of NTNU, Norway, propose a web-based open-source ship motion simulator, focusing in collaborative development. The idea is to give continuity to the work, instead of rebuilding new versions of old achievements, because they are now unassessed due to the disuse of software programs, programming languages, or emulators. Besides, developing for web means developing for any device or operating system (OS), increasing the application reach and eliminating the need of client-side software.

The simulator the researchers developed, is based on closed-form expressions to estimate wave-induced motion for mono-hull vessels. These expressions require only vessel main dimensions and basic hull form coefficients, being especially relevant for conceptual design, where little information about the hull form is available. The approach allows the designer to vary those parameters, and quickly assess their influence on the wave-induced motion. The expressions were implemented in JavaScript code, and transposed to time domain. In this way, parametric real-time simulations are provided by the application, together with a 3D visualization of vessel’s motion in regular waves.

Considering today’s trends, recognizing JavaScript potential and WebGL capabilities to handle 3D advanced graphics, THREE.js was chosen to develop a web-based simulator. The 3D environment is composed by four basic elements: camera, light, scene, and render. In order to allow the user to navigate the camera, orbit controls were implemented. Then two core objects, the vessel and the ocean, were included in the scene and their motion encoded. Finally, a console (graphical user interface, GUI) was added so that the user can input both wave and hull form parameters.

The vessel 3D model was designed outside the web application, and included (imported) into the scene exclusively for visualization purposes. As modeling a hull is not simple, and becomes even more difficult without using a dedicated CAD software, Chaves and Gaspar suggest to create a Collada file using a hull modeling dedicated CAD software and a software that supports 3D advanced assets, and is capable of exporting Collada (e.g. Blender, Rhinoceros).

The vessel motion amplitude is calculated by closed-form expressions based on hull form parameters (L, B, T, CB, CP, CWP etc.). This method provides a rational and efficient procedure to predict the wave-induced motions with suf cient engineering accuracy in conceptual design. This method, together with many others for seakeeping analysis, works well if used within its designed scope. It provides acceptable results, but remind us that reality is more complex. For instance, roll motions are dominated by nonlinear viscous damping, which are much more difficult to calculate.

The ship is represented by a homogeneously loaded box-shaped barge with the beam modified so that the total mass of the ship equals the buoyancy. The method considers the vessel in regular waves and deep waters. Pitch and heave are always considered with 90o phase angle between them, disregarding coupling between them. The closed-form expressions’ results were verified against model tests and strip theory calculations.

For the real-time Simulator, the motion amplitude is transposed to the time domain. The ocean 3D object is constructed entirely by THREE.js features. It is basically a plan geometry, in which a texture is applied.

The Simulator workflow can be explained as any other input-process-output system. It runs in two synchronized parallel routines that use the same input parameters. The GUI centralizes all inputs the user can manage. It provides interactivity and instantaneously response. As a matter of organization, the GUI inputs are divided into vessel and ocean parameters.

The application interface is clean and focuses on the 3D environment. All features are meant to be straightforward and user-friendly. There is no need to »learn the software«, as it will be intuitively unveiled within few minutes of use.

The GUI stays at the right-hand side and allows the user to vary each parameter value either by dragging and dropping the blue bars or typing a number. For better precision, it is advised to type the desired value. There is a retractable tab at the bottom side of the application, which contains the closed-form expressions output, the movements’ amplitude, and the wave length corresponding to the given wave period.

Down the page, there are graphs of the three uncoupled motions of the vessel. The same formulas responsible for updating vessel’s position and rotation also feed the graphs. In this way, they display the vessel motion in real-time, along with the 3D model. It is also possible to navigate through the 3D environment. On mouse-controlled devices, the right button drags and drop the scene, the left button rotates it, and the scrolling button zooms in and out. On touchscreen devices, the controls are even more intuitive.

JavaScript has proved its versatility and potential when applied to maritime engineering toolbox. Diverse free libraries are available to implement brand new capabilities, or improve the existing ones without the need of hard coding. With the development of advanced solvers, more complex formulations can be implemented, and the computational capacity hardly will be a constraint. Visualizing the system’s response in a 3D web environment is certainly an enhancement when compared to the traditional 2D graphs, which often are not obvious to interpret even for experts. For the client side, companies can explain or document their results much more intuitively. 3D is appealing and understandable by anyone.

Considering JavaScript’s expected durability, no work is likely to be lost or outdated, favoring developments continuity. New features are in process to be implemented in the presented application, such as first person camera view and motion. Further work could point towards a platform multi-user, where the same virtual environment would support two simulations at the same time, commanded by two users in different machines, possibly interacting with each other ().

Authors:

Olivia Chaves, UNIFEI, Itabira/Brazil, oliviachaves@poli.ufrj.br

Henrique Gaspar, NTNU, Ã…lesund/Norway, henrique.gaspar@ntnu.no

Olivia Chaves, Henrique Gaspar