Numerical damping is applied to Heave and Pitch by default to damp the oscillations that can result from rapid acceleration at the beginning of a run. However, this may also result in masking porpoising behavior. For that reason it is good practice, once the vessel has converged to equilibrium, to remove the damping and continue the run for some period of time to be sure that there isn’t any porpoising behavior. Because porpoising is a dynamic behavior, it is also good practice to reduce the size of the time step and increase the number of iterations. The best way to do this is to change the Numerical Option from Medium (Steady) to Conservative (Steady). 

After going through the steps described below and observing the heave and pitch to look for porpoising behavior, you may want to go one step further and induce a pitching moment and see whether the resulting pitching motion dies out or continues (or even grows). Generally there is enough numerical "noise" in the simulation so that if the boat has a tendency to porpoise it will be evident once you have removed the damping, but adding this pitching moment and waiting to see if the boat naturally damps out the oscillation will give you more confidence that the boat will not porpoise. The methodology is described in this article: Simulating Unsteady Dynamics By Perturbing the Steady Solution in the section on External Force/Moment.

This can be done manually with the following steps:

1.     With the run stopped, select the Model tab, and click on the “Translation (1 DOF) marineHeave” model.

2.     In the Properties pane, select the Model tab, and enter 0 for the Damping Coefficient.

3.     Go back and select the “Rotation (1 DOF) marinePitch” model, and then in the Properties pane set that Damping Coefficient to 0.

4.     Select the Marine module, and in the Properties pane under Analysis Type, change the Numerical Option to Conservative (Steady). 

5.     Re-start the analysis and note whether the heave and pitch remain converged (or just show a small, regular oscillation), or whether they show diverging behavior. Diverging behavior indicates a porpoising issue.

This process may be automated, which can be useful if you are running the analysis unattended (e.g., overnight). Using the expression editor, you can define a function for the Heave damping coefficient and the Pitch damping coefficient which varies with time. In the following example, it’s assumed from previous runs that the results will converge after 10 seconds. We will gradually reduce the damping coefficients as a linear function of time until 12 seconds, after which they will be 0. In this example, you might extend the run to a total of 16 seconds (and there is no harm in making it longer). Note that you will need to change the Numerical Option to Conservative (Steady) before starting the run with this approach.

1.     With the run stopped, select the Model tab, and click on the “Translation (1 DOF) marineHeave” model.

2.     In the Properties pane, select the Model tab, and enter a variable name (e.g., Heave_dc) for the Damping Coefficient. Then click on the Expression Editor icon (circled in the image below) to open the Expression Editor.

For your specific simulations, substitute your default damping coefficient values (they were 1241938 and 145149 in this example but will be different in yours) and the time at which the damping coefficients begin to reduce (10 in this example) and the time at which they reach 0 (12 in this example). This expression means:

               If Time<= 10



                              If Time < 12

                                             Reduce Heave_dc in a straight line until Time =12





The same approach is used for Pitch, so now go to the Model tab and select “Rotation (1 DOF) marinePitch.” In the Properties pane, change the Damping Coefficient to Pitch_dc.


If you would like to have the values of Pitch_dc and Heave_dc displayed on the screen during the analysis, click on View in the Properties Pane.

Expand Global Parameters, and in Text Label enter

               HeaveDamping Coefficient = {Heave_dc}

In the next Text Label, enter

               PitchDamping Coefficient = {Pitch_dc}

You can click on the text in the view in order to move it to a new location if you wish.