GMoor 10.6 is Released
18/06/2026
It has been a while since we last did a major update to GMoor with new features, but now the time has come. With the release of GMoor 10.6, we release two major new additions to GMoor; A completely new line dynamics module and an improvement to the way LF motions are calculated.
Line Dynamics
This one has been long in the working, as it turns out it is really difficult to make a generic multi-body solver for the frequency domain that is both fast and brings along a meaningful improvement when it comes to comparison with time domain simulations. We are however pleased to release the new and improved line dynamics model in GMoor 10.6.
It is based on stochastic linearisation of non-linear friction and drag loads in a full 3d solution.
The classic line dynamics module were based on a 2d solution, where the motions of the fairlead was projected down the line. We have continued with the same philosophy of forced fairlead motions, but we now are able to do the calculations in 3d, including seabed friction in the dynamic solution, as well as wave excitation loading on the line itself, all neatly packed in a relatively quick solver.
Static Solution
Funnily enough, with the exception of seabed friction and stochastic linearisation, it is not the frequency domain solution that is the hardest part, it is actually more difficult to create a static solver capable of solving any arbitrary lumped mass mooring line problem that is thrown at it. The first image below shows one of our test examples, where we have a line with 4 buoys. Interesting to note is that the solver found an equilibrium solution in just 12 iterations from a starting point that may be said to be very far from the expected starting point.
A completely unrealistic, but fun test case, is what happens when the fairlead is placed under the seabed for the same line (or in GMoor modelling terms; let the seabed have a slope such that the fairlead is below the seabed)
Interesting to see how this one has only needed 39 iterations to converge, and how that line follows the seabed, until the buoys are strong enough to lift it from the seabed.
Friction Modelling
Stochastic linearisation of friction is another one of those challenges that are deeper than they might seem at face value. Because friction reaches a maximum possible force before it starts to slide, there is a hysteresis in how the mooring line moves at the sea bed.
Linearising this friction model, means that we represent it with an equivalent stiffness and damping (in the stochastic linearised sense), assuming that the response can be reasonably treated as a narrowband gaussian process.
Time Domain Comparison
As part of the validation, we have done comparisons against an independent time domain software, where we have placed the fairlead at a fixed offset and performed a forced motion calculation of the fairlead, in the similar way as what a normal mooring analysis would do. Result comparisons for a simple catenary line are presented in the tables below. It is noted that the sea states used in the comparison are all along the wave steepness limit curve, so basically the lowest Tp for a given Hs that is physically realistic. With the steepness comes higher wave particle acceleration and velocities, so non-linear effects should be significant in the Time Domain runs.
First the fairlead loads:
| Wave Dir | Wave Hs [m] | Wave Tp [s] | Mean TD [kN] | Mean Gmoor [kN] | Ratio Mean [-] | StdDev TD [kN] | StdDev Gmoor [kN] | Ratio StdDev [-] | Mean+Sig TD [kN] | Mean+Sig Gmoor [kN] | Ratio Mean+Sig [-] |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 7 | 8.26 | 1558.7 | 1548.2 | 1.01 | 33.1 | 32.7 | 1.01 | 1624.9 | 1613.6 | 1.01 |
| 0 | 10 | 10.63 | 1662.7 | 1651.9 | 1.01 | 71.4 | 70.4 | 1.01 | 1805.5 | 1792.8 | 1.01 |
| 0 | 13 | 13.49 | 1616.6 | 1606.2 | 1.01 | 128.7 | 130.3 | 0.99 | 1874.1 | 1866.8 | 1.00 |
| 0 | 16 | 16 | 1620.1 | 1609.8 | 1.01 | 195.0 | 201.0 | 0.97 | 2010.2 | 2011.8 | 1.00 |
| 22.5 | 7 | 8.26 | 2332.6 | 2320.3 | 1.01 | 53.3 | 52.5 | 1.01 | 2439.1 | 2425.4 | 1.01 |
| 22.5 | 10 | 10.63 | 2415.5 | 2402.4 | 1.01 | 105.3 | 104.2 | 1.01 | 2626.0 | 2610.8 | 1.01 |
| 22.5 | 13 | 13.49 | 2362.4 | 2349.3 | 1.01 | 208.4 | 210.8 | 0.99 | 2779.1 | 2770.9 | 1.00 |
| 22.5 | 16 | 16 | 2379.0 | 2365.7 | 1.01 | 326.2 | 335.2 | 0.97 | 3031.3 | 3036.1 | 1.00 |
| 45 | 7 | 8.26 | 2731.4 | 2718.2 | 1.00 | 46.8 | 46.6 | 1.00 | 2825.0 | 2811.4 | 1.00 |
| 45 | 10 | 10.63 | 2770.9 | 2757.1 | 1.00 | 118.0 | 117.6 | 1.00 | 3006.9 | 2992.3 | 1.00 |
| 45 | 13 | 13.49 | 2739.6 | 2724.8 | 1.01 | 261.8 | 264.3 | 0.99 | 3263.1 | 3253.4 | 1.00 |
| 45 | 16 | 16 | 2771.0 | 2756.5 | 1.01 | 419.9 | 430.8 | 0.97 | 3610.9 | 3618.1 | 1.00 |
| 67.5 | 7 | 8.26 | 2636.5 | 2623.4 | 1.00 | 51.9 | 51.6 | 1.01 | 2740.2 | 2726.6 | 1.01 |
| 67.5 | 10 | 10.63 | 2833.2 | 2818.8 | 1.01 | 117.1 | 116.4 | 1.01 | 3067.5 | 3051.6 | 1.01 |
| 67.5 | 13 | 13.49 | 2775.0 | 2760.6 | 1.01 | 273.6 | 277.0 | 0.99 | 3322.3 | 3314.7 | 1.00 |
| 67.5 | 16 | 16 | 2808.2 | 2793.7 | 1.01 | 445.5 | 456.6 | 0.98 | 3699.3 | 3707.0 | 1.00 |
| 90 | 7 | 8.26 | 2373.0 | 2360.8 | 1.01 | 93.5 | 92.7 | 1.01 | 2560.0 | 2546.1 | 1.01 |
| 90 | 10 | 10.63 | 2681.5 | 2667.6 | 1.01 | 121.9 | 121.5 | 1.00 | 2925.3 | 2910.6 | 1.01 |
| 90 | 13 | 13.49 | 2552.1 | 2539.0 | 1.01 | 253.1 | 255.5 | 0.99 | 3058.3 | 3050.0 | 1.00 |
| 90 | 16 | 16 | 2564.4 | 2551.4 | 1.01 | 409.8 | 419.8 | 0.98 | 3383.9 | 3391.0 | 1.00 |
Then the anchor loads:
| Wave Dir | Wave Hs [m] | Wave Tp [s] | Mean TD [kN] | Mean Gmoor [kN] | Ratio Mean [-] | StdDev TD [kN] | StdDev Gmoor [kN] | Ratio StdDev [-] | Mean+Sig TD [kN] | Mean+Sig Gmoor [kN] | Ratio Mean+Sig [-] |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 7 | 8.26 | 1569.6 | 1561.0 | 1.01 | 32.6 | 32.1 | 1.01 | 1634.8 | 1625.3 | 1.01 |
| 0 | 10 | 10.63 | 1673.4 | 1664.6 | 1.01 | 70.3 | 69.2 | 1.02 | 1814.0 | 1803.0 | 1.01 |
| 0 | 13 | 13.49 | 1627.5 | 1619.0 | 1.01 | 127.0 | 128.6 | 0.99 | 1881.4 | 1876.1 | 1.00 |
| 0 | 16 | 16 | 1631.0 | 1622.6 | 1.01 | 192.9 | 199.0 | 0.97 | 2016.8 | 2020.6 | 1.00 |
| 22.5 | 7 | 8.26 | 2342.7 | 2332.1 | 1.00 | 52.2 | 51.4 | 1.02 | 2447.2 | 2434.9 | 1.01 |
| 22.5 | 10 | 10.63 | 2425.4 | 2414.1 | 1.00 | 103.7 | 102.4 | 1.01 | 2632.7 | 2619.0 | 1.01 |
| 22.5 | 13 | 13.49 | 2372.4 | 2361.0 | 1.00 | 205.6 | 208.2 | 0.99 | 2783.6 | 2777.5 | 1.00 |
| 22.5 | 16 | 16 | 2388.9 | 2377.4 | 1.00 | 322.7 | 332.2 | 0.97 | 3034.3 | 3041.8 | 1.00 |
| 45 | 7 | 8.26 | 2741.1 | 2729.5 | 1.00 | 45.9 | 45.6 | 1.01 | 2832.9 | 2820.7 | 1.00 |
| 45 | 10 | 10.63 | 2780.5 | 2768.4 | 1.00 | 116.4 | 115.7 | 1.01 | 3013.2 | 2999.8 | 1.00 |
| 45 | 13 | 13.49 | 2749.2 | 2736.2 | 1.00 | 258.6 | 261.1 | 0.99 | 3266.4 | 3258.4 | 1.00 |
| 45 | 16 | 16 | 2780.6 | 2767.8 | 1.00 | 415.7 | 427.3 | 0.97 | 3612.0 | 3622.4 | 1.00 |
| 67.5 | 7 | 8.26 | 2646.3 | 2634.9 | 1.00 | 50.7 | 50.3 | 1.01 | 2747.6 | 2735.4 | 1.00 |
| 67.5 | 10 | 10.63 | 2842.8 | 2830.0 | 1.00 | 115.4 | 114.4 | 1.01 | 3073.5 | 3059.8 | 1.00 |
| 67.5 | 13 | 13.49 | 2784.6 | 2771.9 | 1.00 | 270.3 | 273.7 | 0.99 | 3325.2 | 3319.3 | 1.00 |
| 67.5 | 16 | 16 | 2817.8 | 2805.0 | 1.00 | 441.1 | 452.9 | 0.97 | 3700.1 | 3710.9 | 1.00 |
| 90 | 7 | 8.26 | 2383.0 | 2372.5 | 1.00 | 90.9 | 89.8 | 1.01 | 2564.8 | 2552.1 | 1.00 |
| 90 | 10 | 10.63 | 2691.2 | 2679.0 | 1.00 | 119.4 | 118.7 | 1.01 | 2930.0 | 2916.4 | 1.00 |
| 90 | 13 | 13.49 | 2562.0 | 2550.5 | 1.00 | 249.7 | 252.2 | 0.99 | 3061.3 | 3054.9 | 1.00 |
| 90 | 16 | 16 | 2574.2 | 2562.9 | 1.00 | 405.5 | 416.4 | 0.97 | 3385.1 | 3395.6 | 1.00 |
As can be seen, there is an excellent comparison with the standard deviations, mean forces and the mean plus significant values, pointing to the fact that the wave frequent nonlinearities in the time domain is sufficiently captured in our linearised frequency domain solver.
Currently the new solver is only used in the line dynamics, while the system equilibrium is still done on the basis of analytical cathenaries.
More details can be found in the GMoor manual!
LF Motions
GMoor has since it was conceived assumed that surge and sway motions are perfectly correlated, giving a max-max effect for the line extensions in the frequency domain. The reason is simple; when solving in the frequency domain, you normally loose phase information if you calculate the different degrees of freedom individually. In order to be conservative, GMoor has assumed that the two main directions are perfectly correlated, leading to applying a maximum surge and sway at the same time, which is then projected in the line direction in order to translate it to line extension.
This however may sometimes lead to conservative results. In the spread shown below, where we have a broken line, consider a case where the weather is down the line 6 (240 deg coming from in the normal GMoor convention)
One would expect the rig to mostly move in the axis of south-west to north-east. However, since we do not have phase info, one has to be conservative, and then e.g. lines 2 & 7 would experience the same maximum motion before it is projected down the line. This means that the expectation of a SW-NE motion actually means that the forces in the lines will be predicted with either SW-NE or NW-SE motion, whatever is the worst for the line in question.
In terms of quasi-static line tensions, Gmoor 10.5.15 would give the following Max Fairlead tension when using a Rayleigh distribution for the maxima.
| Line No. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Max Fairlead Tension [kN] | 1151.7 | 1713.2 | 2061.5 | - | 3850.6 | 4129.1 | 2434.2 | 1517.7 |
As can be seen, this line 7 seems to get a significant load even if it is in the NW direction.
If running a LFTD (Low Frequency Time Domain) simulation with GMoor with a single seed, the time trace more or less confirms our gut feeling; motion is predominately in the SW-NE axis
And even more interesting; the quasi-static tensions in this realisation show that the load in line 7 is actually significantly lower than in the FD case
| Line No. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Max Fairlead Tension [kN] | 1139.2 | 1460.0 | 1451.2 | - | 3680.2 | 4402.2 | 1883.0 | 1022.2 |
If we run 10 seeds, and predict a Gumbel MPM value based on them, the numbers looks as below.
| Line No. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| MPM Fairlead Tension [kN] | 1205.3 | 1444.1 | 1455.4 | - | 3554.6 | 4557.9 | 1809.2 | 992.7 |
It is clear that a time domain simulation accurately captures the phasing effect between the different degrees of freedom, causing e.g. line 7 to have a significant lower load than what the FD solution has predicted up until now.
So what is new in GMoor 10.6 I hear you ask?
Using a generalisation of Pinkster's formula for the wave drift loads, as well as a generalisation of the wind loads, we are able to include the phase information between the DOFs, such that when the motion is projected in the line direction, we are able to capture the effect we see in a time domain simulation. GMoor 10.6, predicts the following loads in FD
| Line No. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Max Fairlead Tension [kN] | 1269.4 | 1567.3 | 1506.8 | - | 3589.7 | 4232.3 | 1730.6 | 1031.0 |
As is clear from the results, for e.g. line 7 there is a significantly better agreement with the time domain simulation than what GMoor 10.5.15 would predict.
Naturally, you usually have to perform analyses with weather down each line, so this case would not be the dimensioning case for line 7, that would be the case where you have weather coincident along line 7. However if you have very asymmetric spread, coupled with a big directional difference in the wind/wave conditions, there might be cases where you will now have a smaller max load in the line from the downline environment compared to environment from another direction.
For more details, read the GMoor manual after installation of 10.6.