MoorDyn Tension Noise


I am having some trouble postprocessing ANCHTEN outputs from openFAST. I am trying to use Matlab to conduct a cyclic analysis of line tensions for simulations using the 15 MW UMaine semisub platform. I’m using the rainflow function in Matlab. However, there is a lot of high-frequency noise in the tensions that are causing some issues. I’ve found that applying a lowpass filter multiple times to the signal can significantly reduce the noise, but does not remove it altogether. For example, for a simulation involving an irregular wave train with a Tp of 10 s, I am getting a mean cycle period of 4.75 s for the primarily loaded line. From the plot of the line tension, I would expect the mean period to be closer to 10 s, since the platform response appears to be primarily wave dominated. My questions are:

  1. Can you suggest a better methodology for removing the noise from the line tensions so that I can perform a more accurate cyclic analysis? I’ve thought of trying MLife for this, but I’m having problems running it properly and I’m also not sure of it’s filtering capabilities. I’ve also thought to see if Python can do a better job with signal filters.
  2. Why is this noise occurring in the first place?

I can also provide more details and graphics if you need further clarification of the issue.


Hi Katherine,

Is this using the MoorDyn module? In general, MoorDyn requires a certain level of structural damping in the mooring lines to minimize nonphysical resonances in the mooring line nodes. This is usually most easily handled by setting the BA/-zeta option to -1, which means critically damped. Another source of vibrations in MoorDyn is when mooring line nodes touch down on the seabed; this can cause an abrupt tension spike that causes vibrations throughout the line. We usually try to mitigate these sorts of vibrations by adjusting the model rather than post-processing. That way, we know they won’t be affecting the simulation.

I don’t remember vibration issues in the MoorDyn setup for the VolturnUS-S reference design, but I could be wrong. If you’d like more input, feel free to share details of the model setup you’re using and the results that you’re seeing.


Hi Matt,

Yes, this is using MoorDyn. I do have the BA/-zeta option set to -1. The mooring line nodes may be touching down on the seabed, but I’m not sure how to check for that. I’ve included a screenshot of the MoorDyn file below. It’s a chain-poly-chain taut system in 450 m water depth.

I’m also including some plots that better demonstrate the issue I’m having. This is a sample time history for ANCHTEN2 (the primarily loaded anchor) for a 1 hour simulation. As you can see, the wave periods appear to be driving the tension response.

However, when I zoom in on some peaks, you can see the high-frequency noise I’m talking about, which is messing up my rainflow analysis.

From the images I’ve provided, do you have an idea of what may be causing this issue?


Hi Katherine,

I’ve never looked at anchor tensions this closely before, in terms of such small tension fluctuations affecting things. MoorDyn is admittedly limited in its handling of the seabed compared to real life. Seabed friction and embedment are neglected (except a new friction capability should be released soon), and there is of course no modeling of the inverse catenary that a mooring line will take into the seabed where it attaches to an anchor. So I would generally take anchor load results with a high level of uncertainty.

I may be missing something because I haven’t looked at full tension cycles (e.g. showing full y range over zoomed-in x range), but from how small those high-frequency tension fluctuations look I think your filtering approach sounds reasonable and should work. I’d suggest trying higher-order filtering methods (like you mentioned in Python) if you’re still having trouble eliminating the noise.

Your MoorDyn model setup looks pretty good, but if you want to try changes there to eliminate the noise, I’d suggest:

  • Looking at the node displacements along the seabed to try to figure out what sort of vibrations are occurring and what might be causing them.
  • Using fewer chain segments or smaller time step size (just in case those short segments are pushing the integration accuracy).
  • Reducing the seabed stiffness and damping coefficients, in case the nodes are vibrating on the seabed vertically.
  • Lowering the chain EA value. This is deviating from the physics, so a last resort, but it can sometimes be effective at eliminating vibrations with minimal affect on the overall system dynamics.