-
Notifications
You must be signed in to change notification settings - Fork 23
Resources
Wiki βΈ Resources
This page briefly outlines the main repository resources and files. You can use it to understand how the library is arranged and what each file does. For detailed documentation of library classes and methods, visit API Reference.
π Ship Specifications
Main ship specifications:
- barge.json: simple square barge with cargo and ballast tanks.
- PX121.json: PSV partly based on Ulstein PX121.
- Cruise.json: cruise ship.
π Auxiliary Scripts
-
Ship3D.js: interface for constructing THREE.js Object3D from Vessel.js
Ship
object. -
scaleShipSpec.js: function for scaling a
Ship
specification. The ship is scaled geometrically with linear scaling factors. Thicknesses of structural elements (decks and bulkheads) and lightweights of derived objects remain constant. The figure below shows the original PX121 specification compared to two others scaled in 10% each.
-
π Propeller specifications for usage with fuel consumption simulations. Read more.
-
π Power plant specifications for usage with fuel consumption simulations. Read more.
π build
Contains a build version of the library for easy inclusion in external projects.
-
Vessel.js: compact version of the library including all classes, objects and functions.
-
makeBuild.py: Python script for building the library source code into the Vessel.js file.
π classes
Classes for different ship aspects handled by the library.
-
JSONSpecObject.js: base class for objects that are constructed from a literal object, (or optionally from a JSON string). Constructors can take more parameters than the specification, but the specification must be the first parameter.
setFromSpecification
will typically be overridden by derived classes. Overriding implementations will typically do some sanity checking.getSpecification
will also typically be overridden. The default implementation is now at preliminary stage.
π math
Common functions for library calculations.
-
Vectors.js: some small helpers for operations on 3D vectors. A vector is defined as an object with properties
x
,y
andz
. -
areaCalculations.js: calculation of sectional areas and moments of inertia.
-
combineWeights.js: returns mass and CG for a combination of weight arrays.
-
interpolation.js: linear and bilinear interpolation helpers. Also includes bisectionSearch, a function that takes a sorted array as input, and finds the last index that holds a numerical value less than, or equal to, a given value. Returns an object with the index and an interpolation parameter
mu
that gives the position of value betweenindex
andindex+1
. -
parametricWeightParsons.js: this function estimates the structural weight of the hull. This includes the weight of the basic hull to its depth amidships. It is based on Watson and Gilfillan modeling approach using a specific modification of the Lloyd's Equipment Numeral E as the independent variable.
-
volumeCalculations.js: volume calculation for vessel displacement based on numerical integration of sectional areas.
Ship Design and Operation Lab, NTNU in Γ lesund.