1    Total mass calculation

Now that the whole ship itself is in place, you are ready for some analysis functionality.

In entity Mass calculation, the mass and the centre of gravity of the whole system will be calculated. These values will depend on the mass and centre of gravity of both light ship weight and cargo objects. The total mass is calculated by the summation of all mass components (entities) one level below entity Mass calculation. The centre of gravity of a system of components is defined as the average of their positions, weighted by their masses.

Parameter name

Dimension

Determined by

Reference

In Class

Mass

[t]

USR: User or system/equation

Mass

Mass calculation

COGX

[m]

USR: User or system/equation

Centre of gravity in X direction

Dimensions

COGY

[m]

USR: User or system/equation

Centre of gravity in Y direction

Dimensions

COGZ

[m]

USR: User or system/equation

Centre of gravity in Z direction

Dimensions

MOMX

[t*m]

USR: User or system/equation

Moment around X-axis

Dimensions

MOMY

[t*m]

USR: User or system/equation

Moment around Y-axis

Dimensions

MOMZ

[t*m]

USR: User or system/equation

Moment around Z-axis

Dimensions

 

Mass = SUM(@QEntity, 1, @Mass) (The result will be the summation of all parameters Mass of the entities one level below.)

COGX = MOMX/Mass

COGY = MOMY/Mass

COGZ = MOMZ/Mass

MOMX = SUM(@QEntity, 1, @MOMX)

MOMY = SUM(@QEntity, 1, @MOMY)

MOMZ = SUM(@QEntity, 1, @MOMZ)

Please note, that you just created 'normal' relations and connected these to the parameters in the entity, because these are going to be used in several Mass entities.

2     Light Ship Weight

Mass Hull

Create the following parameter in the Knowledge Browser.

Parameter name

Dimension

Determined by

Reference

In Class

Weight_volume_factor

[t/m^3]

USR: User or system/equation

Weight factor per volume

Mass calculation

 

Mass = Weight_volume_factor*Volume

COGX = (ENTITY#(12).Lpp)*0.5 (assume the centre of gravity of the hull in X direction half of the ship length)

COGY = 0 (amidships)

COGZ = (ENTITY#(12).Dm)*0.45 (assume the centre of gravity of the hull in Z direction at 45 % of the moulded depth)

MOMX = COGX*Mass

MOMY = COGY*Mass

MOMZ = COGZ*Mass

Volume = ENTITY#(13).Volume

Mass Decks

Include Entity:

Decks

child of “Mass Decks”

Entity Type: singular obligatory

           Include the following parameters in Entity “Mass Decks“: “Mass”, “COGX”, “COGY”, “COGZ”, “MOMX”, “MOMY”, “MOMZ andQEntityData”.

Connect the following relations from the Knowledge Browser to the parameters in Entity “Mass Decks“;

Include the following parameters in Entity “Decks“ (Child of entity “Mass Decks”): “Nr”, “Name$”, “Area”, “Weight_area_factor”, “Mass”, “COGX”, “COGY”, “COGZ”, “MOMX”, “MOMY”, “MOMZ and QEntityData”.

In Entity “Decks”, below Entity “Mass Decks” we want to present a table that contains a copy of parameters (Name$ and Area) of all decks that are defined by the user in Entity “Decks” as child of Entity “Lay out”. In addition the centre of gravity and mass of each deck will be calculated in Entity “Decks”, below Entity “Mass Decks”.

Take care that, with exception of parameter “Nr”, all parameters are placed within the table view (instantiate parameter and provide attribute @MULTVAL in Data Slot). See also Figure 81.

The number of cases is equal to the number of defined decks by the user in the “Lay out” Entity. We are going to get this information. Create the following relation.

The first column/case of the table should contain data (Name$ and Area) from the first defined Deck in Entity “Deck. The second column contains data from the second defined deck, etc. This can be done by the following relations.

In this relation, QEntityID = xx refers to the value of QEntityID of the multiple Entity “Deck” that is a child of Entity “Decks”, see section 2.3.9.

When you want refer to a multiple Entity, you also have to indicate the QEntityIndex. Quaestor automatically provides an index value in the Quaestor parameter QEntityIndex for each multiple Entity. So ENTITY#(xx, 3) refers to the third defined Entity “Deck”. The functionORCA(1) returns the current case number which is now being executed. So for the second column/case in a table the value of ORCA(1) = 2. When we combine the index with the ORCA() function, like in Area = ENTITY#(xx, ORCA(1)).Area, the second column of the current table will refer to the area from the second defined deck, etc.

Next create the following relations in Entity “Decks” that is a child of Entity “Mass Decks”:

As already discussed in the “Deck” Entity, the Weight_area_factor is a bit special. What we want is that this property is connected to the original value in Deck (of which the value is hidden) but, when modified by the user, the modified value should be used in both the present Mass Decks>Decks Entity AND the original Entity (Decks>Deck).

This is done by means of the @SAVEINSOURCE attribute. Create the following relation:

@MULTVAL
@MODIFY
@SAVEINSOURCE

Figure 80: Data slot of "Weight_area_factor"

When a user add or remove a deck, or change properties of an existing defined deck, these adaptations will automatically propagated to the “Mass Decks” Entity.

Figure 81: Entity "Decks" as child of Entity "Mass Decks"

2.4.1.3     Mass Bulkheads

Include Entity:

Bulkheadschild of “Mass Bulkheads”Entity Type: singular obligatory

Connect the following relations from the Knowledge Browser to the parameters in Entity “Mass Bulkheads“:

Include the following parameters in Entity “Bulkheads” (Child of entity “Mass Bulkheads”): “Nr”, “Name$”, “Area”, “Weight_area_factor”, “Mass”, “COGX”, “COGY”, “COGZ”, “MOMX”, “MOMY”, “MOMZ and QEntityData”.

Take care that with exception of parameter “Nr” all parameters are placed within the table view (instantiate parameters and provide attribute @MULTVAL in Data Slot).

We want to get the data for “Nr”, “Name$”, “Area” from parameters in Entity “Bulkheads” (Child of Entity “Mass Bulkheads”). We connect to this data through the following relations (in all expression QEntityID = xx refers to the Entity “Bulheads” that is a child of Entity “Bulkheads”, see section 2.3.11. This Entity “Bulkheads” is a singular obligatory Entity which also contains a table):

Next create the following relations in Entity “Bulkheads” that is a child of Entity “Mass Bulkheads”:

As already discussed above, the Weight_area_factor is a bit special. What we want is that this property is connected to the original value in Bulkheads (of which the value is hidden) but, when modified by the user, the modified value should be used in both the present Mass Bulkheads>Bulkheads Entity AND the original Entity (Bulkheads>Bulkheads).

This is done by means of the @SAVEINSOURCE attribute. Create the following relation:

@MULTVAL
@MODIFY 
@SAVEINSOURCE

Please note the difference with the previous paragraph, in which a table was created referring to values within multiple entities. For the bulkheads we have created one table and refer to values within the table of another singular Entity

Figure 82: Entity "Bulkheads" as child of Entity "Mass Bulkheads"

2.4.2      Mass Cargoes

Include Entity:

Cargoes child of “Mass Cargoes” Entity Type: singular obligatory

Include the following parameters in Entity “Mass Cargoes“: “Mass”, “COGX”, “COGY”, “COGZ”, “MOMX”, “MOMY”, “MOMZ”, “QEntityRef” and QEntityData”.

Connect the following relations in Entity “Mass Cargoes”:

Assign the following text for “QEntityRef”; “Cargo mass calculation: summation of all cargo components

Include the following parameters in Entity “Cargoes“: “Nr”, “Name$”, “Mass”, “COGX”, “COGY”, “COGZ”, “MOMX”, “MOMY”, “MOMZ”, “QEntityDoc”, “QEntityRef” and QEntityData”.

Take care that with exception of parameter “Nr” all parameters are placed within the table view (instantiate parameters and provide attribute @MULTVAL in Data Slot).

In Entity “Cargoes” we enable the user to create a table with a number of cargo objects.  For each object the user has to provide a name, COG and mass. Create the following relations:

Figure 83: Entity "Cargoes" to define number of cargo objects


Back to content | Continue with Intact stability calculation >>