External mooring force calculation module interface

Hello everyone,
I would like to consult about the development of the mooring force calculation module of OpenFAST. Just like the calculation of the OrcaFlex interface module in OpenFast, I want to realize the calculation of external mooring force loads and achieve coupled calculation with OpenFast. I would like to ask if it is possible to customize an external mooring force load calculation interface in the MoorDyn module or define it in the source code. Can this module calculate the external mooring force for transmission using Python, or does it need to be implemented using Fortran?
Best wishes!
Jiang

Dear @Hairui.Jiang,

I’m sure it is possible to coupling a different mooring module into OpenFAST. I would suggest using the OrcaFlex interface as a template to start from.

If the new mooring module is written a programming language other than Fortran, you’ll need to develop a Fortran wrapper around the module in order to interface it to OpenFAST. We’ve developed many such wrappers the other way around–i.e., C-wrappers around Fortran-based OpenFAST modules (e.g., AeroDyn, InflowWind, HydroDyn, SeaState, MoorDyn-F) to use those modules in Python-, C-, or Julia-based solvers. So, you could use those wrappers as a template to start from as well.

Best regards,

Dear @Jason.Jonkman
Thank you for your reply. It has provided great help for my subsequent research work. Can I understand it this way: Firstly, I wrote a mooring load calculation module through Python, then coupled it with OpenFAST through the C-wrapper, and finally formed a floating offshore wind turbine coupling calculation framework of the Python-C-Fortran framework. However, I think it should be rather difficult to achieve data transmission among these three. Also, regarding MoorDyn-F, I couldn’t find it on GitHub. I would like to ask if you could provide a link. I want to systematically learn this implementation process.
Best regards,

Dear @Hairui.Jiang,

I agree, but I would say a Fortran wrapper around your Python mooring module would be needed by OpenFAST (not a C wrapper).

MoorDyn-F is the Fortran-based implementation of MoorDyn interfaced with OpenFAST, in contrast to MoorDyn-C, which is the C-based implementation of MoorDyn uesd by some other codes, such as WEC-Sim for wave-energy devices.

Best regards,