...
When Quaestor is started, an empty knowledge base is automatically created.
In the Knowledge browser, minimize the Quaestor node, and expand the NewQkb node (figure 1).
Figure 1 Expanding the Newqkb node
...
Figure 2 Creating a new class in the knowledge base
The class is now shown in the knowledgebase tree, and we can add the parameters Lpp, B and T.
Select the class Main Dimensions.
in the right-hand side of the knowledge browser, and select New Parameter/Function(Ctrl+I), see figure 3. Note that the last parameter in focus will be shown in the input field (most probably QKnowledgebaseVersion). Delete this parameter, type Lpp and click the Value button. Repeat these actions for the parameters B and T.
Figure 3 By right clicking in the right-hand side of the knowledge browser, parameters can be added
The added parameters all appear like this:
The red cross is a sign that the parameter is not yet fully defined for the system.
In Quaestor, a valid parameter has:
...
The first requirement is already satisfied, so let's assign dimensions to the parameters.
Select the Lpp in the Knowledge Browser. In the Frame Viewer, change the ? sign to m, the dimension for Lpp (meters). A list of possible dimensions is automatically shown when you type.
In the larger area of the Frame Viewer, a reference can be assigned to the parameter. A proper reference is important, as users of the knowledgebase may not be certain of the exact meaning of the parameter. Please also read Documentation of knowledge for more details.
Provide Lpp with the reference Length of the ship (figure 4).
Figure 4 In the Frame Viewer, a dimension and reference can be assigned to the parameter
NOTE: The dimension of a parameter can also be assigned in the Slots & Properties window. Just scroll down to the Dimension row, and change the value.
Assign a dimension and a reference to the other parameters B and T, just as described above. Of course, the breadth and depth of the ship are defined in meters.
...
This qualification can be provided in the Slots & Properties window.
Select the parameter LPP. In the Slots & Properties window, scroll down to the Determined by row. Change the value to VR: User only, as the parameter LPP is input (instead of defined by a relation), see figure 5.
Figure 5 Let Quaestor know how a parameter should be determined
Notice that the status of LPP has changed to
to show that Quaestor knows enough about this parameter to use it in a computational model.
Make sure that B and T are determined by VR (Value Requested):User only too.
...
We'll add two relations, one for salt water and one for fresh water.
Select Top Goals/Undefined in the knowledge browser,
in the right hand side and select New Relation (Ctrl+N). In the upper part of the new window, delete any proposal (Quaestor may have filled in the last selected parameter), and enter
...
(belonging to salt water), and press Save (figure 6).
Figure 6 Entering a relation
...
Because of entering the relation, the parameter Rho has automatically been created. Furthermore, note and realise that the parameter is created in the Class in focus when saving the relation. For Rho to be a valid parameter, a dimension should be assigned.
Provide a reference for rho and assign it the dimension kg/m^3. Rho is now a valid parameter. Furthermore, make sure rho is determined by SYS: System/Equation, as a relation is used to determine rho.
The following might seem a bit unconventional: a second relation is given for Rho. This is a nice example of how quaestor works: In a calculation, Quaestor can find numerous calculation paths and automatically chooses the most appropiate one based on constraints and available data. An infinite number of relations can be assigned to one particular parameter.
Add the following relation (belonging to fresh water) in a similar way as described above
...
The two relations for the density of the water are only valid for their corresponding watertype. Therefore, a constraint is added to each relation. A constraint is simply a restriction for the validity of the relation.
Double click Top Goals/Undefined in the knowledge browser: all relations in that class are shown (this will work for any class). One can always edit a relation by selecting it and pressing F2 (or
and select edit). This is also a useful method to find out which relation you actually selected.
Now the relation Rho = 1025 and select Constraint->Add New. In the upper part of the new window enter the following constraint:
...
and press Save (figure 7).
Figure 7 Adding a constraint to a relation
The constraint is now added, and a parameter named Watertype$ has been created. The $ at the end of the parameter name makes sure Quaestor recognizes it as a String value, and the dimension Str is automatically assigned (see also Quaestor syntax. We have to assign a determined by value to make it a valid parameter.
Make sure Watertype$ is determined by VR: User Only, as the user should provide the information concerning the water type.
We repeat the process for the other relation:
Add the constraint: Watertype$ = "FW" to the relation Rho=998. Note that the expression editor assist you with the presentation of existing parameters and intrinsic function. When you press enter while an existing parameter or function is blue, this parameter or function is placed in the expression editor.
...
TIP: By selecting a parameter in the knowledge base and then double clicking the box below the knowledge base tree, the relations defining that particular parameter are visible (figure 8).
Moreover, when you select a relation in the knowledge base, and double click that box, the parameters that can be calculated by the selected relation are shown.
When single clicking the box, all connections to the parameter or relation are shown. See also information on the Knowledge Browser.
Figure 8 When selecting a parameter and double clicking the box indicated by the blue arrow, all relations defining that parameter are shown.
...
Because there are only two possible values for Watertype$ (SW or FW), it's easy to integrate a dropdown box.
Select Watertype$ in the knowledge browser, and add the following text as reference text in the frame viewer (figure 9):
...
SW<eq>Saltwater
FW<eq>Freshwater
Figure 9 A dropdown box is created by entering this information in the reference slot of the frame viewer
...
On the basis of the earlier defined parameters and the block coefficient Cb , the displacement of the ship can be calculated.
Add the following relation to the class Main Dimensions:
...
Note that two new parameters are created: the block coefficient Cb and the displacement DISP. In order to keep the knowledgebase meaningful, it is necessary to provide references, dimensions and determined by values for these parameters.
Provide references, dimensions and determined by values for Cb and DISP. Cb has no dimension (-), DISP should be in tons (t). Just press ok if Quaestor notes that tons is no base dimension (kg), it is just to inform you. We covered this by dividing DISP by 1000. The determined by values should be VR: User Only for Cb, and SYS: System/Equation for DISP, as the block coefficient is input and the displacement is determined by a relation.
...
Let's perform our first Quaestor calculation. A solution is always determined by one or more Top Goals. A top goal is a parameter (or object) that is your final calculation target, in this tutorial it's the displacement of the ship.
Select the class Main Dimensions in the knowledge browser. Double click the parameter DISP.
Note that the sign of DISP changed to
, indicating that it's a top goal for the calculation.
Calculations and solutions are managed in the workbase. Here, solutions can be created, redone (with different data), examined and deleted.
In the workbase, click the
button when you use classic buttons or the "Create Solution" button when you use the Workbase buttons to start the calculation with top goal DISP.
The calculation progress is started, and Quaestor first collects all input data (figure 10).
Figure 10 Input data for the calculation
Entering data is easy: just type a value for each selected parameter and press enter to switch to the next one.
Enter the following data for our first calculation:
...
Note that the input of Watertype$ consists of a dropdownbox, which we created in (4), see figure 11.
Figure 11 Watertype$ can be selected in a dropdownbox
After providing the data you have to press the button or "Accept input & Continue" button to continue. The actual calculation is started now, and the right-hand side of the workbase shows the situation of figure 13. During the calculation, the box indicated with the blue arrow shows the status of the calculation.
Because this is a very simple example, the final state is alost immediately shown.
Figure 13 Status of the calculation and solution
...
So far, we created one solution, which is shown in the workbase (figure 14).
Figure 14 All solutions are shown in the workbase
As mentioned in the objective, we'd like to create a dataset of systematically varied ships. We could of course perform several calculations with different input data by hand, but it's much easier to use the ability of Quaestor to create multiple case solutions. To keep the complexity of this example within reason, we will only vary the breadth and length of the vessel. Please note that due to some important conceptual reasons the latest Quaestor release can only perform calculations on ranges of parameters when you alreade have created a solution.
In the workbase, select the solution you have already created (called the same as the top-goal parameter DISP). Restart the solution by pressing the
or "Redo Solution" button in the workbase. Quaestor will present the previous input, change the following input:
...
Quaestor will ask if it should create a case matrix for Lpp (figure 15), click yes (an explanation will follow).
Figure 15 Quaestor asks if a case matrix should be created
You will see that the single value input is still in the list and the multi case values are in the table part of the Workbase. Press the button or "Accept input & Continue" button to continue.
The new solution is now created. The fixed values are again shown in the right hand side of the workbase. The varying parameters (B and Lpp) and the corresponding solution for DISP are shown in the lower part. Each row is a different case, identified by a case number(#1, #2, etc.), see figure 16.
Figure 16 Multiple case solutions are shown in the workbase, each row is a different case
...
Our multiple case solution table is sorted by the breadth of the ship, as shown in figure 16. Suppose we'd like parameter Lpp the leading parameter in this table.
In the knowledge browser, select the parameter Lpp. In the Slots & Properties window, scroll down to the row Output to, and select HEADER (figure 17). Now, refresh the table of the multiple case solution by clicking another solution, and then again the multiple case solution. The table is now leaded by Lpp.
Figure 17 By selecting Output to HEADER, the parameter will 'lead' the multiple case solution table
A lot of cases in our solution don't meet the design criteria: a displacement between 2000 and 3000 ton. We could have fixed this by adding a constraint to DISP, but another way is to use a filter in the solution table.
In the workbase, select the last (multiple case) DISP solution, and click the
or "Filter" button. The filter window shows. For DISP, select Range as filter, fill in 2000 for Lower bound and 3000 for upper bound (figure 18). Click the Applybutton.
Figure 18 With a filter, cases that do not fulfill the filter conditions can be made invisible
...
You can verify your results by comparing it to [Tutorial 1 Finished]