We are often asked if it is possible and advantageous to start a resistance run with the results of a lower speed run or a self-propelled run with the results of a lower RPM run, rather than starting from a velocity of 0 each time. This is possible, and the results below show that there is some time savings, although the savings are not large. It may be more advantageous to automate multiple speeds or RPMs using a Python script (described in a separate article), so that the simulation doesn't have to be monitored for convergence.
We will look at some examples, and then discuss the procedure.
It is important to note that this method can only be used for exactly the same hull geometry, at exactly the same flotation condition.
Resistance Analyses
Planing Hulls
First, the Eastport 32 planing hull was run at both 20 and 30 knots, in each case starting from 0 knots. Below are the settings that template provided, and the run-time to reach equilibrium based on observation of the Resistance, Heave, and Pitch (note that this is usually less than the Default Simulation Time determined by the marine template).
Simulations Starting from 0 Speed | |||
Speed | 20 | 25 | 30 |
Default Simulation Time (s) | 10 | 8 | 7 |
# of Time Steps | 2000 | 1600 | 1400 |
Time Step size (s) | 0.005 | 0.005 | 0.005 |
Simulation Time to Convergence (s) | 6.5 | 6 | 5 |
Clock time to convergence (hours) | 14.5 | 15 | 12.5 |
20 knots, starting from 0 knots:
25 knots, starting from 0 knots:
30 knots, starting from 0 knots.
Next, a simulation was run at 25 knots starting with the results from 6.5 seconds into the 20-knot run. When that had converged, a simulation was run at 30 knots, starting with the results from 6 seconds into the 25-knot run.
While the run accelerating from 20 knots to 25 knots took about 5 seconds to converge, starting from 0 and accelerating to 25 knots took about 5.5 seconds, so there was about 10% savings in simulation time savings by using the previous run. Similarly, starting the 30 knot run from 25 knots saved about 10% in simulation time.
Simulations Starting from Previous Speed | |||
Speed | 20 (from 0) | 25 (from 20) | 30 (from 25) |
Default Simulation Time (s) | 10 | 8 | 7 |
# of Time Steps | 2000 | 1600 | 1400 |
Time Step size | 0.005s | 0.005s | 0.005 |
Simulation Time to Convergence | 6.5 | 5 | 4.5 |
Clock time to convergence (hours) | 14.5 | 13 | 9 |
25 knots, starting from 20 knots:
30 knots, starting from 25 knots:
What if the speed increase is not as large? To investigate that, we ran an analysis at 22 knots, starting from 20:
From this, we can see that the convergence from 0 to 20 took about 6.5 seconds, as previously noted. The 22-knot run was begun at 7.75 seconds, and took about 6 seconds to converge, saving about 8% in run time.
Perhaps the rapid acceleration makes the situation worse, by making the model take longer to come to equilibrium. To see if a more gradual acceleration would reduce the time that it takes to reach equilibrium, we tried an acceleration function that would gradually increase for a period, and then gradually decrease as the new speed was being reached. In this case, a logistic function was used over the period of 1 second from 7.5 to 8.5 seconds, resulting in this speed profile:
Pitch and Heave converged at about 14 seconds, or a 6.5 second convergence time. This is actually longer than it took to converge with a 0.1 second linear acceleration period.
Displacement Hulls
Compared to planing hulls, displacement hulls have less natural dynamic stabilizing forces, and it takes longer for the Heave and Pitch oscillations due to acceleration to settle out. To study the possibility of saving time by accelerating from one speed to the next, rather than starting from rest for each analysis, we did multiple runs for an example 160m ship, at 10 knots and 15 knots (corresponding to Froude numbers of 0.13 and 0.20 respectively). Then, the 15-knot run was repeated, but this time it was accelerated to 15 knots starting with the converged results of the 10-knot run.
Simulations Starting from 0 Speed | ||
Speed | 10 | 15 |
Default Simulation Time (s) | 480 | 330 |
# of Time Steps | 3840 | 1320 |
Time Step size (s) | 0.125 | 0.25 |
Simulation Time to Convergence (s) | 250 | 120 |
Clock time to convergence (hours) | 8.33 | 3.25 |
10 Knots, starting from 0:
15 knots, starting from 0:
Simulations Starting from Previous Speed | ||
Speed | 15 (from 0) | 15 (from 10) |
Default Simulation Time (s) | 330 | 330 |
# of Time Steps | 1320 | 1320 |
Time Step size | 0.25 | 0.25 |
Simulation Time to Convergence | 120 | 100 |
Clock time to convergence (hours) | 3.25 | 3.15 |
Determining convergence on this type of run is a matter of interpretation, as there are normally low frequency oscillations in the heave, pitch, and resistance time histories. But this example indicates that there is not a significant time savings to be had by starting an analysis by accelerating from a lower speed.
Self-propelled Analyses
Planing Vessels
First, the Eastport 32 planing hull was run at both 1500 and 2200 RPM, in each case starting from 0 speed. Below are the settings that template provided, and the run-time to reach equilibrium based on observation of the Resistance, Heave, and Pitch (note that this is usually less than the Default Simulation Time determined by the marine template, but in the case of 1500 RPM it required more than the template initially suggested).
In the discussion below, convergence is determined by examining plots of the moving average of heave, pitch, and resistance. The plots shown below are simply the time history; by plotting the moving average and zooming in on the curve, the time at which the curves becomes constant or begins a steady oscillation can be determined. When looking at the plots below, without zooming in, because the scale is relatively large it can be tempting to assume that the simulation has converged earlier than it really has. It’s important to zoom in to get a better understanding of the time history.
Simulations Starting from 0 Speed | ||
RPM | 1500 | 2200 |
Default Simulation Time (s) | 8 | 10 |
# of Time Steps | 1600 | 2000 |
Time Step size (s) | 0.005 | 0.005 |
Simulation Time to Convergence (s) | 11.0 | 9.0 |
Clock time to convergence (hours) | 29.6 | 22.25 |
1500 RPM Starting from 0 Speed
2200 RPM Starting from 0 Speed
Next, a simulation was run at 2200 RPM starting with the results from 14.1 seconds into the 1500 RPM run.
While the run accelerating from 1500 to 2200 RPM took about 7 seconds to converge, starting from 0 and accelerating with 2200 RPM took about 9 seconds, so there was about 20% savings in simulation time savings by using the previous run.
Simulations Starting from Previous RPM | ||
RPM | 2200 (from 0 speed) | 2200 (from 1500 RPM) |
Default Simulation Time (s) | 10 | 8 |
# of Time Steps | 2000 | 1600 |
Time Step size | 0.005 | 0.005 |
Simulation Time to Convergence | 9.0 | 7.19 |
Clock time to convergence (hours) | 22.25 | 16.0 |
Conclusions
While there are some time savings to be had by starting a simulation from a previous speed or RPM, in many cases they are not significant. The methodology requires that the user monitor each run to determine convergence, stop the simulation, set up a new one, and re-start (it is good practice to save the project in a new folder with a new name, so that the Orca3D reporting function can access each speed/RPM individually). This is straightforward but doesn’t help if you are running a series of speeds or RPMs using a Python script to automate multiple runs.
How to Set Up a Run from a Previous Run
- When the initial simulation is complete, be sure to Save the project.
- If you are loading a project that was previously run, be sure to select Load Results and load the latest results (.sres) file.
- Use Save As to save the project with a new name in a new folder. This is important so that there are two separate sets of data for the Orca3D reporting function to read when creating a report. If both simulations were simply stored in the same file, then the reporting function would only include the data from the latest speed/RPM.
- In the Model tab, select the Marine module.
- Change to the new Speed or RPM
- To change the Speed, in the Properties tab change the Target Velocity. Remember that this value is in m/s.
- To change the RPM, open the Expression Editor, and change the value for prpm1 (and for prpm2, etc. if you have multiple propellers defined; if you are running a symmetric run with two propellers, you will only see one defined here)
- Click the Start button (the Continuation run radio button should be selected). This will continue the run, adding to the Simulation time.