There are many shareware graphics programs that can be used to view pcx files and to convert them to other graphic formats if necessary.
When Michlet is run, it reads in a file named in.mlt and clears all output files in the directory where the Michlet executable files reside. If you do not save previous output, old results will be overwritten and lost. If your results are important, do not leave them in the same directory as the executable files: save them immediately to a safe directory, floppy disk, or to a compact disk.
At this stage, it is probably a good idea to have an example in.mlt file loaded into your text editor, or to have a printout of one handy.
Comments can be placed in the file by preceding them with the # symbol which should appear in the first column of the line. Comments should be no longer than 79 characters, and should not be placed within a column of numbers. For example, it is quite Ok to add comments before a table of offsets, but it is not advisable to use them between the rows of the offset table.
If errors are encountered while the in.mlt file is being read, a message will be printed on-screen and also written to the out.mlt file before the program terminates. Tracking down errors in the in.mlt file can be a little tricky. Sometimes an error in one input line will cause an error to be reported for a line further on in the in.mlt file. If an error is encountered, and no immediate reason for the error can be discerned, check a few lines back in the file to see if something was improperly specified.
A number of example files are included with this version of Michlet and these are described in more detail in another manual.
The Input File Type and Input File Subtype are used to control the types of input file that can be used. In this version of Michlet, leave them both set to 0. Similarly, Output File Type and Output File Subtype are used to control the types of output files that are generated. In this version of Michlet, use 0 for both.
The Course Particulars parameter is reserved for submarines, the sailboat VPP, and other ship voyage management applications. Leave it set to 0 in this version.
The number of hulls for the vessel or ensemble must be an integer equal to 1, 2, 3, 4 or 5.
The gravitational acceleration (in ms-2) should be entered as a decimal. Most Michlet examples use a value of g = 9.80665 ms-2.
Water density (in kg m-3) must be entered as a decimal. Most example files use a value of 1025.9 kg m-3, the density of sea water at 15 degrees, or 999.0 kg m-3, the density of fresh water at 15 degrees.
Water kinematic viscosity (in m2s-1 X 10-6) must be entered as a decimal. Most example files use a value of 1.18831 (sea water at 15 degrees), or 1.13902 (fresh water at 15 degrees). Note the units that are used.
The (non-dimensional) base eddy kinematic viscosity, nuB, must be entered as a decimal. Most example files use a value of 10.0. This quantity, which is not a property of water alone, depends on the nature of a particular flow.
The main effect of eddy viscosity is to damp high frequency waves. However, if a wave pattern seems to be corrupted by spurious, very high frequency waves, it could be because the value for Ntheta (see below) is too small. First try increasing the value of Ntheta, then, if that doesn't fix the problem (and if it is actually a problem) increase the size of the base eddy viscosity.
The eddy kinematic viscosity in version 8.xx of Michlet is used in a slightly
different way to earlier releases. In version 8.xx, the actual (dimensional)
eddy viscosity, nuT, is calculated according to the formula
nuT = nu+L*U*nuB
where
L is the length of the vessel, U is the ship speed, and
nu is the kinematic viscosity of water.
Water depth (in metres) must be entered as a decimal. To simulate infinite depth use a large value (e.g. 10000.0 metres). You must ensure that hulls (in their squatted attitudes) do not run aground!
The next four parameters are not used in any calculations in this version, however the program expects appropriate values to be present.
Air density (in kg m-3) must be entered as a decimal. Most example files use a value of 1.26 kg m-3.
Air kinematic viscosity (in m2s-1 X 10-6) must be entered as a decimal. Most example files use a value of 14.4.
Wind speed (ms-1) must be entered as a decimal.
Wind direction (degrees) must be entered as a decimal. 0 degrees corresponds to a head wind; 180 degrees should be used for a tail wind.
The next three parameters specify the speeds (in ms-1) at which to calculate the resistance and wave elevations, via the minimum speed, Umin, the maximum speed, Umax, and the number of speeds, Nu. The minimum speed and maximum speed must be decimals. Nu must be an integer greater than or equal to 2 and less than or equal to 101.
Leeway parameters (Crippled).
Leave it set to 0.
The number of stations, Nx, used to represent the hull surface must be an odd integer greater than or equal to 5 and less than or equal to 81. The number of waterlines, Nz, must be an odd integer greater than or equal to 5 and less than or equal to 81. The actual bow and stern ends are counted as stations.
The Ship Loading Type determines the formula to be used in the
calculation of the distance from the baseline to the centre of gravity of
the ship (i.e KG, in naval architectural parlance). In this version of
Michlet, the only allowable value is 3, which requires three comma-separated
Ship Loading Formula Parameters to be specified on a separate line.
Suppose that these three parameters are a,b and c. The three-parameter
formula used in this version of Michlet is:
KGOA = a * (TOA+ b* LOA ^ c)
where
TOA is the maximum draft, and LOA is the overall length of the ship. For
monohulls TOA and LOA are just the draft and length of the hull, respectively.
If you are unsure of where the centre of gravity is located for your vessel,
a reasonable rough estimate is the maximum draft. In this case, use the
following line in the input file
1.0,0.0,0.0
Remember to take into account the fact that you have used a rough estimate
when interpreting your results!
Wave drag Nntheta
Ntheta, is used in the calculation of the wave integrals,
(see Tuck, 1987). It must be an even integer greater than or equal to 10
and less than or equal to 4096. For reasonable accuracy (2-3 figures) of wave
resistance calculations Ntheta should be set to at least
160 for monohulls, 320 for dihulls, 640 for trihulls, 960 for tetrahulls, and
1280 for pentahulls. The value should be set to larger values for wave elevation
calculations far from the ship. Note that some example files distributed with
Michlet use smaller values than these recommendations. The purpose of the
examples is to provide quick demonstrations of certain features; accuracy is
of secondary importance.
Before embarking on your own design problem, check that Ntheta is large enough to ensure accurate solutions, but not too large so that run times are unbearably long.
Before calculating wave resistance and other ship wave quantities, Michlet first adds an estimate of the boundary layer displacement thickness to the hull offsets. In general, the effect of the boundary layer is small, except for small model-sized hulls. For larger ships travelling at high speeds the effect is negligible. The default in Michlet is to include boundary layer effects, and these can increase execution time. To perform calculations without boundary layer effects use a negative value for Ntheta. For example, if the value -160 is input, this will cause Michlet to use 160 intervals of theta in all wave calculations and the boundary layer displacement thickness will not be added to the hull offsets.
Choices for the Skin friction method are:
Form factors can be applied separately to the viscous drag component and to the wave drag component,
The viscous drag form factor can be useful for analysing (and designing for) the effects of hull fouling. For example, if we assume (by rule of thumb!) that there is a 0.1% increase in friction resistance per day, then after 6 months we should make an allowance of approximately 18% beyond the usual ITTC friction. In this case, use a value of 1.18 for the viscous form factor.
It is important to note that the ITTC line is not a skin friction line. An excellent history of the ITTC line and its inadequacies can be found in Grigson (2000). The ITTC line is considered to be a correlation line and as such it contains some allowance for three dimensional (i.e. form) effects. If further form effects are included, there is a danger of double-counting. In some cases, (e.g. correlating experiments and computer estimates) this will not necessarily be a problem.
There are very few times when it would be necessary to use an additional wave drag form factor. Best leave it set to 1.0 unless you have very good reasons not to.
Pressures exerted by the vessel onto the bottom of the ocean can stir up sediments and trigger some types of anti-ship mines.
Choices for the Pressure signature method are:
Note that bottom pressures calculated using the slender body approximation have not been verified against experimental data. Use all results at your own risk!
Wave elevations can be calculated over two differently-shaped domains.
![]() |
In the figure above, the co-ordinate origin is at the centre of Hull 1 (refer back to Figure 3.1).
The sectorial patch on the left of Figure 6.1 requires five parameters. R0 and R1 (both decimals greater than 0.0) determine the (radial) extent of the wave elevation patch. The value of Beta determines the angular extent of the patch either side of the track of hull 1. The number of radial nodes, NR and the number of beta nodes, NBeta, (both integers between 2 and 200, inclusive) determine the fineness of the grid for the calculation of wave elevations. A value of 100 for both parameters gives reasonable results for reasonable running times.
Calculation of wave elevations can be quite time-consuming, and it is best to first calculate on a coarse grid (i.e. use a small number for NR and NBeta) until you are satisfied with the location of the patch, and the aspect ratio of the plot. The number of grid points can be changed on-screen when Michlet is running.
The rectangular patch on the right of Figure 6.1 requires six parameters; x0, x1, y0, y1, Nx, and Ny. The co-ordinate origin is the same as given in Figure 3.1. For this plot, elevations will be calculated at Nx x Ny points in the patch.
Note that the wave-height estimates are not accurate close to the ship. The patch in which elevations are calculated should be no closer than about one shiplength astern of the stern of the aftmost hull in the ensemble. In some cases, it might be even better to use one wavelength behind the stern of the aftmost hull. For infinite depth, the wavelength, lambda can be estimated using the formula
lambda = 2*pi*U2/g
where U is the ship speed in ms-1 and g is gravitational acceleration. The situation is more complex for finite depth water, and will not be dealt with in this manual.
Also note that more intervals of theta (see above) are necessary when the patch is located a very long way behind the ship. It is imperative that you first try a few test runs to see what value of Ntheta gives results that are of sufficient accuracy for your particular application. If you use a value that is larger than is necessary, computation times will be longer than necessary. If too few are used, accuracy could be compromised.
The beaches and walls section of the input file is reserved for future use, however the program expects valid values to be present.
After the draft has been specified, the longitudinal and lateral separation distances (relative to the first hull) must be specified. For a monohull, these will both be set to 0.0, irrespective of the values entered by the user (refer to Figure 3.1).
The Loading Type determines the formula to be used in the calculation of the distance from the baseline to the centre of gravity. The method to be used is identical to that used for the Ship Loading Type, described above. Here though, the loading applies to the hulls individually. For a multihull, the individual hulls can be loaded using one formula, and the KG of the ensemble as a whole can be calculated using another formula. This can lead to interesting results during the optimisation of multihulls.
Trim and Sinkage can be specified in a variety of ways.
Trim must be specified in degrees (positive bow up) and must lie between
-10 degrees and 10 degrees. Sinkage is positive when draft is increased,
negative when the hull rises out of the water. If experimental values
are to be input, they must be given as the fraction of the untrimmed,
unsunk, hull maximum draft. E.g. 0.1 means that the hull will be
'sunk' by 10% of the (untrimmed, unsunk) hull draft; -0.1 means
that the hull will rise out of the water by 10%.
Sinkage must lie between -1.0 and 1.0, inclusive. Also note, that trimmed
and sunk offsets will be poorly approximated if the number of stations
and/or waterlines is small. You should use at least 11 of each, preferably
21 or more of each, for reasonable estimates. For hulls with small
immersed transom sterns, more waterlines might be necessary.
When a positive sinkage is specified, the hull is pushed downwards. If no offsets are available for the above-water portion, it will be assumed by the program that the above water portion has the same shape as the waterplane. (Clearly this simplification can lead to considerable inaccuracies for hulls with very flared sections when large trim and sinkage values are used.) Offsets can be specified for the portion of the hull that is above the undisturbed free surface, as long as the draft is specified as the distance from the lowest portion of the hull to the top of the hull: negative values of sinkage can then be used to 'lift' the hull into its static position.
For example, suppose that the cross-sections of our hull are semi-circles of draft 1.0m. If we specify a positive sinkage, say 0.25, the program will 'push' the semi-circular cross-section downwards by 25% of the draft, i.e. by 0.25 x 1.0m = 0.25m, and it will also assume that the offsets above the waterline are the same as the offsets of the semi-circle at the waterline. The underwater offsets will be comprised of a semicircular bottom portion, and a vertical-sided portion above that.
Now suppose that we use the offsets for a full circle instead of a semi-circular cross-section, and we also use a draft of 2.0m. A (negative) sinkage of -0.5 will cause the circular cross-sections to be 'lifted' out of the water by 50% of the full draft, (0.5 x 2.0m = 1.0m). In other words, the underwater offsets will be the same as those of the semi-circular cross-section. The advantage is that any sinkage larger than -0.5, e.g. -0.25, will in effect cause the hull to be pushed downwards relative to the -0.5 sinkage we specified. In this case, however, the program does not assume that there are no above-water offsets, since those offsets are available. The obvious disadvantage of this method is that the displacement volume must be specified for the fully-submerged hull, i.e. from the lowest point to the top. In the present simple example, we would have to double the displacement used for the semicircular hull.
The options and parameters for trim are as follows. (Sinkage is specified in the same manner). The only valid value for the Trim type is 3. (Other methods are crippled in this version).
After the trim type, specify the number of speeds at which trim values will be specified.
Trim can be specified for an ascending sequence of speeds and does not have to be given at equally-spaced intervals. For example, the following lines could be used to specify trim at four speeds.
# Trim Method
3
# Trim: Number of speeds (integer: greater than or equal to 2)
4
# Trim: speed, angle
0.5,0.0
5.0,0.2
6.0,0.3
10.0,0.35
The line containing "3" tells Michlet we want trim type 3; the line containing "4" specifies that we will give values at 4 speeds. The four pairs of comma-separated values contain the speed and the trim at that speed. Trim at speeds other than those specified will be interpolated.
Sinkage is specified in a similar way to trim.
Heel is not used in this version, but valid values are expected by the program. Use the default values supplied in the example files.
The Number of Appendages should be left as 0 in the present version of Michlet. This field is used in some customised versions to calculate the lift and induced drag of fins, keels, etc.
The Other Particulars field is reserved for special applications and should be left as 0 in this version of Michlet.
If the number of hulls was set as 1 earlier in the in.mlt file, any further lines in the input file will not be read. If the number of hulls is 2 or more, then the details of the second hull, and the displacement volume, hull length, and hull draft, etc of the second hull are also required.
Similarly, for the third, fourth and fifth hulls.