Numerical Framework for the Coupled Analysis of Floating Offshore Multi-Wind Turbines

: Floating offshore multi-wind turbines (FOMWTs) are an interesting alternative to the up-scaling of wind turbines. Since this is a novel concept, there are few numerical tools for its coupled dynamic assessment at the present time. In this work, a numerical framework is implemented for the simulation of multi-rotor systems under environmental excitations. It is capable of analyzing a platform using leaning towers that handle wind turbines with their own features and control systems. This tool is obtained by coupling the seakeeping hydrodynamics solver SeaFEM with the single wind turbine simulation tool OpenFAST. The coupling of SeaFEM provides a higher fidelity hydrodynamic solution, allowing the simulation of any structural design using the finite element method (FEM). Additionally, a methodology is proposed for the extension of the single wind solver, allowing for the analysis of multi-rotor configurations. To do so, the solutions of the wind turbines are computed independently using several OpenFAST instances, performing its dynamic interaction through the floater. This method is applied to the single turbine Hywind concept and the twin-turbine W2Power floating platform, supporting NREL 5-MW wind turbines. The rigid-body response amplitude operators (RAOs) are computed and compared with other numerical tools. The results showed consistency in the developed framework. An agreement was also obtained in simulations with aerodynamic loads. This resulting tool is a complete time-domain aero–hydro–servo–elastic solver that is able to compute the combined response and power generation performance of multi-rotor systems.


Introduction
The offshore wind sector is constantly growing, bringing with it new engineering challenges.Large structures with an increasing variety of concepts are under development, aiming to improve the system's efficiency while decreasing overall costs.The upscaling of wind turbines is the most common method used to increase the power production.However, enlarging the rotor diameter might imply a large increment of the components' mass compared to the energy benefits [1,2].This offset creates economic drawbacks, especially in offshore platforms, requiring more marine operations and higher manufacturing or installation costs [3,4].An interesting alternative is a multi-rotor concept, handling smaller wind turbines attached to the same support structure.In comparison with single turbines, multi-turbine systems provide several advantages.They allow for the use of smaller components while providing the same combined power [4], reducing manufacturing costs since the platform, mooring lines, and network connections are shared between the turbines [5].The lower weight distribution entails a better stability [6].In addition, since they have larger support platforms, they behave more dynamically stable in sea states [7].
Computational methods are essential to assess the performance of floating wind turbines, ensuring their structural integrity.A well-known tool for this purpose is the open time-domain simulation tool OpenFAST [8], an aero-hydro-servo-elastic solver for singleturbine analysis.Most of the existing coupled dynamic solvers for the simulation of FOWTs are based in OpenFAST.Given their linearization, higher fidelity methods employing computational fluid dynamics (CFD) tend to be incorporated, as in ref. [9], by coupling OpenFAST with OpenFOAM, or in ref. [10] by coupling a large-eddy simulation (LES) solver with OpenFAST.
New multi-rotor design solutions are less well-developed, with only a few numerical tools existing for their assessment at the present time.In ref. [5], Bae and Kim proposed a multiple unit floating offshore wind turbine simulation tool by coupling FAST-CHARM3D.The dynamic influences of all the turbines are included in the motion equation through a combined global coefficient matrix and by adding the rotor aerodynamics to the force vector.This is tested in a five-turbine semi-submersible system.Recently, Martin [4] extended the previous approach with the integration of AeroVIEW, an aerodynamic module based on the free wake vortex method.Coupled analyses were performed in a twin-rotor configuration on the OC4 semi-submersible platform.Beshbichi et al. [11] presented an alternative multirotor solver by coupling a FAST aerodynamic module accounting for each turbine into a Modelica framework.The rigid dynamics were analyzed in a two-rotor wind turbine concept deployed on a spar-type platform [12], proving significant mass saving with respect to its equivalent single-rotor configuration.
The dynamic analysis of multiple rotors is frequently addressed by uncoupling the aero-hydrodynamic responses, as in ref. [13].These studies are mainly focused on studying the benefits of its wake interactions, as in refs [14,15], where the power increments due to the interaction of nearby rotors are analyzed, or in refs [15,16] where the fast wake recovery is studied, which allows for a reduction of the wind turbine spacing in farms.Additionally, there are few dynamic assessments of the flexible-body response in multiple rotors.One is the aero-hydro-elastic analysis performed in ref. [17] for a three-rotor semi-submersible concept, obtaining the wet natural mode shapes.
Due to the innovative character of multi-rotor systems, a computational framework is developed to perform time-domain coupled dynamic assessments of these new concepts.This is achieved through the combination of OpenFAST [8] for the aero-servo-elastic computation of the rotor, with SeaFEM [18,19] for the hydro-mooring computation of the platform mooring.Although OpenFAST's current capabilities only allow it to simulate single floating wind turbines, the OpenFAST-SeaFEM-coupled tool is extended for the assessment of multiple turbines using the same platform.Existing multi-rotor solvers have not been verified or validated, given the lack of benchmark data as well as similar numerical strategies.In this work, the OpenFAST extension is verified through an intercode comparison with the SeaFEM kinematics solver, performing a RAOs analysis and a motions study using wind loads.This developed method is able to analyze the power generation during operation and the dynamic response interactions between the floating wind turbine components under combined load cases of wind, waves, and currents.
The present work is structured as follows: first, the methodology for the implementation of the framework is presented.Moreover, the single and twin-rotor cases are analyzed in the results section.Finally, a discussion of the novelties and a concluding summary of the work are given.

Methodology
The proposed method starts with the implementation of the single wind turbine solver by defining the coupling strategy between the two independent tools.This strategy is later extended to cover multi-wind turbine configurations.The entire framework configuration is explained in detail, given its relevance in the communication and synchronization.

Wind Turbine Solver
FOWTs are normally analyzed using fully coupled dynamic tools.The main analysis tools for this purpose are OpenFAST by NREL, Bladed-SESAM by DNV, Qblade, and Orcaflex.However, OpenFAST is the most widely used, since it is a complete framework and a developing open-source code.The existing multi-turbine tools are also derived from OpenFAST, and QBlade is the only alternative solver including these capabilities.This is why the floating multi-wind turbine dynamics solver implemented in this work is based on coupling SeaFEM with OpenFAST.
The former is a seakeeping hydrodynamics simulation tool developed by CIMNE [20] in collaboration with CompassIS [21].This numerical tool solves the potential equations and wave diffraction-radiation problem in the time domain, providing efficient handling of the non-linear hydrodynamic effects.It is able to simulate the up to second-order Stokes regular-irregular waves, as well as currents effects.It includes a dynamic cable multisegment model for the analysis of mooring systems.It also uses the finite element method, which allows for the simulation of more complex geometries through unstructured meshes.A rigid-body dynamic analysis can be performed for a multibody system.Currently, hydroelastic capabilities have been implemented with a reduced order model (MOR) based on a modal analysis [22].
OpenFAST is a wind turbine multi-physic solver in the time domain.It allows solving the aerodynamic effects using either the Blade Element Momentum Theory (BEMT), or the Free-Vortex Wake Method (FVW).The hydrodynamic effects can be modeled with a potential flow solution, introducing viscous effects using the Morison's equations [8].Structural elasticity is characterized by a linear modal representation using beam theory for the computation of tower, blades, and platform deflections [23].Its code structure is composed of different numerical modules for hydrodynamics (HydroDyn), mooring dynamics (MoorDyn), aerodynamics (AeroDyn), electrical system dynamics (ServoDyn), and structural dynamics (ElastoDyn), among others.These modules exchange information through a glue code (see Figure 1), where an input-output solution between modules is established.This facilitates the replacement of the hydrodynamic and mooring dynamic modules using SeaFEM.
configuration is explained in detail, given its relevance in the communication and synchronization.

Wind Turbine Solver
FOWTs are normally analyzed using fully coupled dynamic tools.The main analysis tools for this purpose are OpenFAST by NREL, Bladed-SESAM by DNV, Qblade, and Orcaflex.However, OpenFAST is the most widely used, since it is a complete framework and a developing open-source code.The existing multi-turbine tools are also derived from OpenFAST, and QBlade is the only alternative solver including these capabilities.This is why the floating multi-wind turbine dynamics solver implemented in this work is based on coupling SeaFEM with OpenFAST.
The former is a seakeeping hydrodynamics simulation tool developed by CIMNE [20] in collaboration with CompassIS [21].This numerical tool solves the potential equations and wave diffraction-radiation problem in the time domain, providing efficient handling of the non-linear hydrodynamic effects.It is able to simulate the up to second-order Stokes regular-irregular waves, as well as currents effects.It includes a dynamic cable multi-segment model for the analysis of mooring systems.It also uses the finite element method, which allows for the simulation of more complex geometries through unstructured meshes.A rigid-body dynamic analysis can be performed for a multibody system.Currently, hydro-elastic capabilities have been implemented with a reduced order model (MOR) based on a modal analysis [22].
OpenFAST is a wind turbine multi-physic solver in the time domain.It allows solving the aerodynamic effects using either the Blade Element Momentum Theory (BEMT), or the Free-Vortex Wake Method (FVW).The hydrodynamic effects can be modeled with a potential flow solution, introducing viscous effects using the Morison's equations [8].Structural elasticity is characterized by a linear modal representation using beam theory for the computation of tower, blades, and platform deflections [23].Its code structure is composed of different numerical modules for hydrodynamics (HydroDyn), mooring dynamics (MoorDyn), aerodynamics (AeroDyn), electrical system dynamics (ServoDyn), and structural dynamics (ElastoDyn), among others.These modules exchange information through a glue code (see Figure 1), where an input-output solution between modules is established.This facilitates the replacement of the hydrodynamic and mooring dynamic modules using SeaFEM.The aero-servo-elastic numerical models from OpenFAST are coupled with SeaFEM, as shown in Figure 2, providing a solution for the rigid-body kinematics as well as the aerodynamic loads on the rotor blades, including the control of the servo-motor.Meanwhile, SeaFEM computes the seakeeping loads and the effects of the mooring lines.This tight coupling is performed by imposing the rigid-body motions of the whole system The aero-servo-elastic numerical models from OpenFAST are coupled with SeaFEM, as shown in Figure 2, providing a solution for the rigid-body kinematics as well as the aerodynamic loads on the rotor blades, including the control of the servo-motor.Meanwhile, SeaFEM computes the seakeeping loads and the effects of the mooring lines.This tight coupling is performed by imposing the rigid-body motions of the whole system obtained from OpenFAST as boundary conditions for the seakeeping hydrodynamics problem in SeaFEM.Then, the loads computed within SeaFEM are sent to ElastoDyn's module.Within this module, additionally, the loads coming from the turbine computed by AeroDyn are received.This total balance of loads is used to solve the motion equation in OpenFAST based on Kane's method, providing a solution to the kinematics received by SeaFEM to update the platform position.
obtained from OpenFAST as boundary conditions for the seakeeping hydrodynamics problem in SeaFEM.Then, the loads computed within SeaFEM are sent to ElastoDyn's module.Within this module, additionally, the loads coming from the turbine computed by AeroDyn are received.This total balance of loads is used to solve the motion equation in OpenFAST based on Kane's method, providing a solution to the kinematics received by SeaFEM to update the platform position.The data exchange happens for every iteration and time step at the global reference point (0,0,0) located in the mean sea level.SeaFEM solves with respect to the total center of gravity; hence, the exchanged data are constantly translated from coordinate systems.The relationship between ElastoDyn's kinematics and SeaFEM's loads is linearized in each time step by computing a Jacobian matrix.SeaFEM is informed when this Jacobian matrix needs to be updated.The tight coupling scheme is based on a fourth-order Runge-Kutta predictor-corrector solution algorithm, with the number of correction steps defined by the user.
The linking of both codes is configured by compiling SeaFEM [21] as an executable (.exe) and OpenFAST v.3.5.0 as a dynamic link library (.dll).The communication between executions is achieved through C++/Fortran interfaces with shared functions, having one in each code.This is necessary to ensure data type compatibility in the imported procedures, since both codes do not share the same programming language.The exchange subroutines are exported from SeaFEM and imported into OpenFAST.This allows the code flow to jump from one code to another, enabling the interaction between both, as shown in the flow chart in Figure 3. SeaFEM's executable initializes OpenFAST, which dominates the simulation timeline and accesses SeaFEM when needed.The information is exchanged by coupling the subroutines following a logical order.In process 1, OpenFAST sends the turbine loads to The data exchange happens for every iteration and time step at the global reference point (0,0,0) located in the mean sea level.SeaFEM solves with respect to the total center of gravity; hence, the exchanged data are constantly translated from coordinate systems.The relationship between ElastoDyn's kinematics and SeaFEM's loads is linearized in each time step by computing a Jacobian matrix.SeaFEM is informed when this Jacobian matrix needs to be updated.The tight coupling scheme is based on a fourth-order Runge-Kutta predictor-corrector solution algorithm, with the number of correction steps defined by the user.
The linking of both codes is configured by compiling SeaFEM [21] as an executable (.exe) and OpenFAST v.3.5.0 as a dynamic link library (.dll).The communication between executions is achieved through C++/Fortran interfaces with shared functions, having one in each code.This is necessary to ensure data type compatibility in the imported procedures, since both codes do not share the same programming language.The exchange subroutines are exported from SeaFEM and imported into OpenFAST.This allows the code flow to jump from one code to another, enabling the interaction between both, as shown in the flow chart in Figure 3.
obtained from OpenFAST as boundary conditions for the seakeeping hydrodynamics problem in SeaFEM.Then, the loads computed within SeaFEM are sent to ElastoDyn's module.Within this module, additionally, the loads coming from the turbine computed by AeroDyn are received.This total balance of loads is used to solve the motion equation in OpenFAST based on Kane's method, providing a solution to the kinematics received by SeaFEM to update the platform position.The data exchange happens for every iteration and time step at the global reference point (0,0,0) located in the mean sea level.SeaFEM solves with respect to the total center of gravity; hence, the exchanged data are constantly translated from coordinate systems.The relationship between ElastoDyn's kinematics and SeaFEM's loads is linearized in each time step by computing a Jacobian matrix.SeaFEM is informed when this Jacobian matrix needs to be updated.The tight coupling scheme is based on a fourth-order Runge-Kutta predictor-corrector solution algorithm, with the number of correction steps defined by the user.
The linking of both codes is configured by compiling SeaFEM [21] as an executable (.exe) and OpenFAST v.3.5.0 as a dynamic link library (.dll).The communication between executions is achieved through C++/Fortran interfaces with shared functions, having one in each code.This is necessary to ensure data type compatibility in the imported procedures, since both codes do not share the same programming language.The exchange subroutines are exported from SeaFEM and imported into OpenFAST.This allows the code flow to jump from one code to another, enabling the interaction between both, as shown in the flow chart in Figure 3. SeaFEM's executable initializes OpenFAST, which dominates the simulation timeline and accesses SeaFEM when needed.The information is exchanged by coupling the subroutines following a logical order.In process 1, OpenFAST sends the turbine loads to SeaFEM's executable initializes OpenFAST, which dominates the simulation timeline and accesses SeaFEM when needed.The information is exchanged by coupling the subroutines following a logical order.In process 1, OpenFAST sends the turbine loads to SeaFEM in a separate process due to the interest of receiving them before solving the kinematics.In process 2, OpenFAST sends the kinematics variables, and SeaFEM computes and returns the hydrodynamics and mooring loads.In process 3, it temporarily synchronizes the two codes, and SeaFEM is notified to update its time step when OpenFAST proceeds to the next one.In process 4, it ends the computation when the maximum simulation time is reached.The calling of the same subroutine order is repeated in every iteration during the simulation.
The current calculation state in OpenFAST is communicated to SeaFEM through state tags following the simulation order (see Table 1).These tags are updated depending on the subroutine executed by OpenFAST that calls SeaFEM.Based on these, SeaFEM decides which process to follow, either to proceed to the next time step or to compute wave and mooring loads.In this way, SeaFEM is used as an external load calculator, being accessed only when needed by OpenFAST.

Multi-Turbine Extension
The extension for the multi-wind turbine solution is performed by coupling one execution of SeaFEM with as many OpenFAST instances as turbines placed on the platform.In this way, the aerodynamic components regarding each turbine are taken into account in the load balance.Additionally, the turbines operate with their own servo control, being possible to simulate a platform containing several turbines with different features.
The OpenFAST instances solve each turbine independently so that the dynamic interaction is performed through the floater.In Figure 4, a chart with the exchanged information between the OpenFAST modules and SeaFEM is displayed.It shows how the turbine loads and rigid-body motions are provided to SeaFEM, whereas SeaFEM returns the computed hydrodynamic loads including the additional turbine loads.With this approach, the aerodynamic wake interferences between adjacent turbines are neglected.However, for turbines placed side-by-side, this interference is assumed to be a non-dominant effect.Although the present methodology can be used for an arbitrary number of turbines on the same platform, it is presented in this work for the W2Power twin turbine concept.As there are two OpenFAST executions coupled, one regarding each turbine, the equation of motion is solved twice, obtaining a kinematic solution for each one.Given that the entire structure is considered as a single rigid body, both kinematic solutions should be equal.Although the present methodology can be used for an arbitrary number of turbines on the same platform, it is presented in this work for the W2Power twin turbine concept.As there are two OpenFAST executions coupled, one regarding each turbine, the equation of motion is solved twice, obtaining a kinematic solution for each one.Given that the entire structure is considered as a single rigid body, both kinematic solutions should be equal.To avoid small numerical differences, in every iteration, the platform motions are averaged according to Equation (1): .. q, .q, q = ∑ 2 n=1 .. q n , .
q n , q n 2 ( . q, q are the averaged accelerations, velocities, and displacements in the platform's six DOFs, and n the number of OpenFAST instances or turbines. When OpenFAST solves a single floating wind turbine, it deals with the turbine, tower, and platform mass properties.For the implementation of multi-turbine capabilities, the additional tower and turbine mass components need to be included.These mass matrices are taken into account as part of the floater M Floater , which groups the platform M Platform , all the towers M 1,2 Tower , and the additional wind turbines M Nacelle and M Rotor .The turbine definition is maintained in OpenFAST, while the tower is neglected.The reason for this is found in ElastoDyn's simulation capabilities, which are restricted to straight towers, as multi-turbine concepts are generally characterized by having leaning towers.If it is coupled with SubDyn, tilted towers can be modeled.The floater gravity center is computed regarding each OpenFAST execution, as shown in Figure 5.The mass matrix M of the floater is composed as shown in Equations ( 2) and ( 3), considered within OpenFAST as the platform.The index used to indicate the components is based on the lower and upper rotors or the OpenFAST instances.
The addition of turbines operating on the same platform implies a set of extra loads acting over the rigid-body response.These loads need to be taken into account within the total load balance.OpenFAST internally considers the aerodynamic loads of its own turbine F . The SeaFEM loads F include the platform seakeeping and mooring loads.The loads from all the additional turbines F _ are regarded as external loads to be added to the SeaFEM loads F , as shown in Equation ( 4).These resulting loads are then returned to the OpenFAST executions F → , which are added to their own turbine loads F , composing the total load balance F , as shown in Equation ( 5).In this way, the additional loads acting on the other turbines are considered as external loads on the floater, reaching a dynamic influence between turbines.The index used to indicate the components is based on the lower and upper rotors or the OpenFAST instances.
The addition of turbines operating on the same platform implies a set of extra loads acting over the rigid-body response.These loads need to be taken into account within the total load balance.OpenFAST internally considers the aerodynamic loads of its own turbine F Turb .The SeaFEM loads F SF include the platform seakeeping and mooring loads.The loads from all the additional turbines F Add_Turb are regarded as external loads to be added to the SeaFEM loads F SF , as shown in Equation ( 4).These resulting loads are then returned to the OpenFAST executions F SF→OF , which are added to their own turbine loads F Turb , composing the total load balance F Tot , as shown in Equation (5).In this way, the additional loads acting on the other turbines are considered as external loads on the floater, reaching a dynamic influence between turbines.
The index indicates the reference system and corresponding OpenFAST instance.SeaFEM terms are referred at the total center of gravity, and the resulting loads are translated to each OpenFAST origin.
SeaFEM's origin is used as the global reference system.For the W2power platform, this origin of coordinates is located at the mean sea level and at the center of the upwind column.The X-axis is oriented along the downwind direction, with the Z-direction facing upwards.The turbine loads acting on top of the tower are sent to the local hub reference systems.The kinematics are obtained through the OpenFAST global references placed at the mean sea level and on a perpendicular line passing through the yaw axis of the corresponding turbine.SeaFEM computes the seakeeping hydrodynamics and mooring loads with respect to the total center of gravity.The exchanged data are related by constantly translating them from the coordinate system of the sender to the one at the receiver.The reference frame layout is presented in Figure 6.For the twin-turbine extension, two OpenFAST dlls are required to be linked with SeaFEM, as displayed in Figure 7.The initialization of both dlls is parallelized within the SeaFEM code using two OpenMP threads in charge of launching each OpenFAST execution.There is no direct communication between the dlls, as the information flow is centralized in SeaFEM's interface.The first OpenFAST execution controls the time-loop, while SeaFEM plays the role of a calculator, called from OpenFAST when necessary.Within the SeaFEM interface, a synchronization is performed to keep both OpenFAST flows at the same point of execution, avoiding overlapping and time lags.The parallelization does not finish until the total simulation time is reached, having two mixed flows accessing SeaFEM simultaneously.To avoid interferences between them, the shared processes are duplicated.For the twin-turbine extension, two OpenFAST dlls are required to be linked with SeaFEM, as displayed in Figure 7.The initialization of both dlls is parallelized within the SeaFEM code using two OpenMP threads in charge of launching each OpenFAST execution.There is no direct communication between the dlls, as the information flow is centralized in SeaFEM's interface.The first OpenFAST execution controls the time-loop, while SeaFEM plays the role of a calculator, called from OpenFAST when necessary.Within the SeaFEM interface, a synchronization is performed to keep both OpenFAST flows at the same point of execution, avoiding overlapping and time lags.The parallelization does not finish until the total simulation time is reached, having two mixed flows accessing SeaFEM simultaneously.To avoid interferences between them, the shared processes are duplicated.
while SeaFEM plays the role of a calculator, called from OpenFAST when necessary.Within the SeaFEM interface, a synchronization is performed to keep both OpenFAST flows at the same point of execution, avoiding overlapping and time lags.The parallelization does not finish until the total simulation time is reached, having two mixed flows accessing SeaFEM simultaneously.To avoid interferences between them, the shared processes are duplicated.A synchronization strategy is performed to avoid overlays or time lags between threads, ensuring common execution points.This is implemented at the SeaFEM interface, where it is possible to identify the thread that is accessing.State labels are associated with each thread depending on the simulation stage.The thread flow is stopped and waits until the other has finished a specific task, being informed by the state tag.As represented in the block diagram in Figure 8, the OpenFAST1 controls the total time line, giving A synchronization strategy is performed to avoid overlays or time lags between threads, ensuring common execution points.This is implemented at the SeaFEM interface, where it is possible to identify the thread that is accessing.State labels are associated with each thread depending on the simulation stage.The thread flow is stopped and waits until the other has finished a specific task, being informed by the state tag.As represented in the block diagram in Figure 8, the OpenFAST1 controls the total time line, giving permission to SeaFEM and OpenFAST2 to update its time step.Additionally, after each communication process is performed by OpenFAST2, its thread flow is stopped, waiting for permission to be given after the same process is finished by OpenFAST1.Process 2 is split to gather all the kinematic solutions for its average before computing the SeaFEM loads.The tasks that need to be carried out once remain in charge of the dominant OpenFAST, while the other one waits to avoid task repetition.In this way, the temporal synchronization for the three coupled instances is achieved without interference between them.
permission to SeaFEM and OpenFAST2 to update its time step.Additionally, after each communication process is performed by OpenFAST2, its thread flow is stopped, waiting for permission to be given after the same process is finished by OpenFAST1.Process 2 is split to gather all the kinematic solutions for its average before computing the SeaFEM loads.The tasks that need to be carried out once remain in charge of the dominant OpenFAST, while the other one waits to avoid task repetition.In this way, the temporal synchronization for the three coupled instances is achieved without interference between them.

Results: Intercode Comparison
The solver capabilities are tested for single turbine and a twin-turbine concepts.Given the lack of numerical benchmark data regarding multi-turbine configurations, a methodology is proposed for the verification of the implemented framework.The seakeeping performance is contrasted with that computed using only SeaFEM and that obtained using the present tool, computed using the OpenFAST rigid-body solution.Simulations with only wave excitations and combined load cases including wind are analyzed.

Results: Intercode Comparison
The solver capabilities are tested for single turbine and a twin-turbine concepts.Given the lack of numerical benchmark data regarding multi-turbine configurations, a methodology is proposed for the verification of the implemented framework.The seakeeping performance is contrasted with that computed using only SeaFEM and that obtained using the present tool, computed using the OpenFAST rigid-body solution.Simulations with only wave excitations and combined load cases including wind are analyzed.

OC3 Hywind
The floating spar-buoy concept "Hywind", belonging to the OC3 project, is used as a benchmark model to compare the numerical results against other strategies.As part of phase IV, the coupled dynamic response of the NREL 5-MW reference wind turbine installed on the Hywind platform with catenary mooring lines is analyzed.The technical descriptions of the NREL-5MW turbine and the Hywind platform are found in refs [24,25], respectively.In Table 2, the OC3-Hywind platform specifications are summarized.The response amplitude operators (RAOs) are compared to FAST using its own hydrodynamic model and coupled with the results computed by WAMIT.The RAOs' computed solution is obtained for the rigid floating system subjected to a simplified case with no wind or currents.In the present tool, the prediction of the wave-body interaction is performed with a time-domain simulation using a white noise wave spectrum.The extracted RAOs referred at the origin are compared to those previously published by NREL [26].The RAO comparison for the relevant degrees of freedom is shown in Figure 9.Only small differences are observed in surge peak amplitude and pitch frequency at their natural frequencies.This can be due to small differences in the numerical parameters of the different analyses, which have not been reported in the consulted references.The transfer of turbine loads is verified, in contrast with SeaFEM's own rigid-body solution.A case with a steady wind condition in the absence of waves is computed.The wind force along the upwind direction over the rotors is extracted from the present framework simulation.The same case configuration is computed in SeaFEM, in which the previously extracted load is introduced as a precomputed external load.The surge motions are compared between both simulations, since they are the most excited.The results are presented in Figure 10 for the OC3-Hywind, showing that both solutions coincide and hence proving that the data exchange works properly.The response amplitude operators (RAOs) are compared to FAST using its own hydrodynamic model and coupled with the results computed by WAMIT.The RAOs' computed solution is obtained for the rigid floating system subjected to a simplified case with no wind or currents.In the present tool, the prediction of the wave-body interaction is performed with a time-domain simulation using a white noise wave spectrum.The extracted RAOs referred at the origin are compared to those previously published by NREL [26].The RAO comparison for the relevant degrees of freedom is shown in Figure 9.Only small differences are observed in surge peak amplitude and pitch frequency at their natural frequencies.This can be due to small differences in the numerical parameters of the different analyses, which have not been reported in the consulted references.The response amplitude operators (RAOs) are compared to FAST using its own hydrodynamic model and coupled with the results computed by WAMIT.The RAOs' computed solution is obtained for the rigid floating system subjected to a simplified case with no wind or currents.In the present tool, the prediction of the wave-body interaction is performed with a time-domain simulation using a white noise wave spectrum.The extracted RAOs referred at the origin are compared to those previously published by NREL [26].The RAO comparison for the relevant degrees of freedom is shown in Figure 9.Only small differences are observed in surge peak amplitude and pitch frequency at their natural frequencies.This can be due to small differences in the numerical parameters of the different analyses, which have not been reported in the consulted references.The transfer of turbine loads is verified, in contrast with SeaFEM's own rigid-body solution.A case with a steady wind condition in the absence of waves is computed.The wind force along the upwind direction over the rotors is extracted from the present framework simulation.The same case configuration is computed in SeaFEM, in which the previously extracted load is introduced as a precomputed external load.The surge motions are compared between both simulations, since they are the most excited.The results are presented in Figure 10 for the OC3-Hywind, showing that both solutions coincide and hence proving that the data exchange works properly.The transfer of turbine loads is verified, in contrast with SeaFEM's own rigid-body solution.A case with a steady wind condition in the absence of waves is computed.The wind force along the upwind direction over the rotors is extracted from the present framework simulation.The same case configuration is computed in SeaFEM, in which the previously extracted load is introduced as a precomputed external load.The surge motions are compared between both simulations, since they are the most excited.The results are presented in Figure 10 for the OC3-Hywind, showing that both solutions coincide and hence proving that the data exchange works properly.

W2Power
As part of the H2020 European Project FIBREGY [27], the full-scale W2Power platform concept design in fiber-reinforced polymers (FRP) is tested.This semisubmersible platform holds two towers inclined outwards, with the wind turbines placed side-by-side.The mooring system is arranged in a single point at the front column and allows the platform to align itself towards the wind.The W2Power concept specifications, as well as the results plot axis, cannot be shown due to confidentiality reasons.More information can be found in ref. [28].The FRP-W2Power platform with the NREL 5-MW reference wind turbines installed on each tower is used for the intercode verification of the multi-turbine extension.A comparison of its dynamic response is analyzed, considering a water depth of 200 m. Figure 11 provides a scheme of the system's platform turbines.The RAOs are computed using the multi-turbine-extended tool and compared with SeaFEM using its own rigid-body dynamics solver.A time-domain simulation using a white noise head wave spectrum is performed in the absence of wind. Figure 12 displays a comparison of the RAOs for the relevant degrees of freedom referred at the center of mass.A good agreement is observed between both rigid-body solutions.

W2Power
As part of the H2020 European Project FIBREGY [27], the full-scale W2Power platform concept design in fiber-reinforced polymers (FRP) is tested.This semisubmersible platform holds two towers inclined outwards, with the wind turbines placed side-by-side.The mooring system is arranged in a single point at the front column and allows the platform to align itself towards the wind.The W2Power concept specifications, as well as the results plot axis, cannot be shown due to confidentiality reasons.More information can be found in ref. [28].The FRP-W2Power platform with the NREL 5-MW reference wind turbines installed on each tower is used for the intercode verification of the multi-turbine extension.A comparison of its dynamic response is analyzed, considering a water depth of 200 m. Figure 11 provides a scheme of the system's platform turbines.

W2Power
As part of the H2020 European Project FIBREGY [27], the full-scale W2Power platform concept design in fiber-reinforced polymers (FRP) is tested.This semisubmersible platform holds two towers inclined outwards, with the wind turbines placed side-by-side.The mooring system is arranged in a single point at the front column and allows the platform to align itself towards the wind.The W2Power concept specifications, as well as the results plot axis, cannot be shown due to confidentiality reasons.More information can be found in ref. [28].The FRP-W2Power platform with the NREL 5-MW reference wind turbines installed on each tower is used for the intercode verification of the multi-turbine extension.A comparison of its dynamic response is analyzed, considering a water depth of 200 m. Figure 11 provides a scheme of the system's platform turbines.The RAOs are computed using the multi-turbine-extended tool and compared with SeaFEM using its own rigid-body dynamics solver.A time-domain simulation using a white noise head wave spectrum is performed in the absence of wind. Figure 12 displays a comparison of the RAOs for the relevant degrees of freedom referred at the center of mass.A good agreement is observed between both rigid-body solutions.The RAOs are computed using the multi-turbine-extended tool and compared with SeaFEM using its own rigid-body dynamics solver.A time-domain simulation using a white noise head wave spectrum is performed in the absence of wind. Figure 12 displays a comparison of the RAOs for the relevant degrees of freedom referred at the center of mass.A good agreement is observed between both rigid-body solutions.A verification of the exchanged turbine loads is also performed following the same methodology and load case condition as for the OC3-Hywind, with a constant wind velocity without waves.The wind force in surge over the rotors is extracted from the present coupled simulation framework.The same case is computed afterwards in SeaFEM, introducing the sum of the extracted loads in both turbines as an external load.The displacement, velocity, and acceleration in surge are presented in Figure 13.Both solutions agree, showing that the coupling strategy is properly implemented.

Discussion
The present solver is designed to compute the coupled dynamic analysis of the twoway fluid-structure interaction of the wind loads acting over the rotor and the wave loads on the platform.The current multi-turbine approach is implemented for the analysis of twin turbine concepts, being easily extended to an arbitrary number of turbines by applying the same methodology.Since it has several OpenFAST executions, it is possible to analyze a platform handling turbines with their own features and control systems in different operation conditions.For the present application, the aerodynamic wake interferences are not considered, since it is assumed to be a non-dominant effect in turbines placed sideby-side.This implies a limitation when analyzing nearby or not co-planar rotors.As a future research line, these effects can be implemented, being particularly interesting for the analysis of the in-field blockage effect in multi-rotor concepts or configurations with downstream turbines.A verification of the exchanged turbine loads is also performed following the same methodology and load case condition as for the OC3-Hywind, with a constant wind velocity without waves.The wind force in surge over the rotors is extracted from the present coupled simulation framework.The same case is computed afterwards in SeaFEM, introducing the sum of the extracted loads in both turbines as an external load.The displacement, velocity, and acceleration in surge are presented in Figure 13.Both solutions agree, showing that the coupling strategy is properly implemented.A verification of the exchanged turbine loads is also performed following the same methodology and load case condition as for the OC3-Hywind, with a constant wind velocity without waves.The wind force in surge over the rotors is extracted from the present coupled simulation framework.The same case is computed afterwards in SeaFEM, introducing the sum of the extracted loads in both turbines as an external load.The displacement, velocity, and acceleration in surge are presented in Figure 13.Both solutions agree, showing that the coupling strategy is properly implemented.

Discussion
The present solver is designed to compute the coupled dynamic analysis of the twoway fluid-structure interaction of the wind loads acting over the rotor and the wave loads on the platform.The current multi-turbine approach is implemented for the analysis of twin turbine concepts, being easily extended to an arbitrary number of turbines by applying the same methodology.Since it has several OpenFAST executions, it is possible to analyze a platform handling turbines with their own features and control systems in different operation conditions.For the present application, the aerodynamic wake interferences are not considered, since it is assumed to be a non-dominant effect in turbines placed sideby-side.This implies a limitation when analyzing nearby or not co-planar rotors.As a future research line, these effects can be implemented, being particularly interesting for the analysis of the in-field blockage effect in multi-rotor concepts or configurations with downstream turbines.

Discussion
The present solver is designed to compute the coupled dynamic analysis of the twoway fluid-structure interaction of the wind loads acting over the rotor and the wave loads on the platform.The current multi-turbine approach is implemented for the analysis of twin turbine concepts, being easily extended to an arbitrary number of turbines by applying the same methodology.Since it has several OpenFAST executions, it is possible to analyze a platform handling turbines with their own features and control systems in different operation conditions.For the present application, the aerodynamic wake interferences are not considered, since it is assumed to be a non-dominant effect in turbines placed side-by-side.This implies a limitation when analyzing nearby or not co-planar rotors.As a future research line, these effects can be implemented, being particularly interesting for the analysis of the in-field blockage effect in multi-rotor concepts or configurations with downstream turbines.
The seakeeping hydrodynamic solution and its handling of non-linear effects is upgraded with the coupling of SeaFEM in the OpenFAST framework.Using the finite element method, versatility is provided in the structural designs that can be analyzed.This implies an improvement regarding other methods, designed for standardized concepts and restricted to cylindrical sections and beam models.Hence, the present tool can cover the range of innovation and future proposals in the increasing variety of multi-rotor systems.
It is also able to compute structural concepts with leaning towers, which is a common feature of multi-rotor platforms.Additionally, multi-rotor configurations are characterized by having large platforms where elastic deformations might be significant.In this work, these effects cannot be assessed for the platform and towers, since SeaFEM is coupled to ElastoDyn, where the structural solution of the platform is restricted to rigid body motions.If coupled with SubDyn, the platform elasticity could be modeled, allowing us to perform a hydro-elastic analysis.Furthermore, the present method can be easily combined with SeaFEM's hydro-elastic capabilities.This solution can execute a detailed structural analysis and is suitable to simulate the elastic behavior and accumulated fatigue damage of an offshore wind platform.Although the structural assessment is a main concern in floating offshore platforms, rigid-body dynamic analyses are mainly performed in multi-rotor concepts.Therefore, the present work aims to set the numerical framework for a complete simulation tool, including elastic effects and covering the entire multi-physic problem.

Conclusions
This work presents a methodology for the development of a numerical solver addressed to single and multi-turbine offshore platforms.This tool allows us to perform a coupled analysis of these platforms, covering its combined structural response and power production.The present time-domain numerical framework is able to compute the aerohydro-servo-elastic solution of these structures subjected to environmental loads.It is based on the turbine dynamics simulator OpenFAST, tightly coupled with the seakeeping hydrodynamics solver SeaFEM.
An assessment method is proposed following an intercode comparison process of the seakeeping rigid-body response in single and multi-turbine platforms.The natural frequencies and peak amplitudes of the response amplitude operators are well predicted.The results are consistent across surge motions under wind conditions.The developed multi-rotor tool is tested on the FRP design of the full-scale W2Power platform, showing a good agreement between the contrasted numerical strategies.

Figure 3 .
Figure 3. Coupling strategy and time synchronization.

Figure 3 .
Figure 3. Coupling strategy and time synchronization.

Figure 3 .
Figure 3. Coupling strategy and time synchronization.

Figure 4 .
Figure 4. Twin-turbine extension strategy for the simulation of the W2Power platform.

Figure 4 .
Figure 4. Twin-turbine extension strategy for the simulation of the W2Power platform.

15 Figure 6 .
Figure 6.Location of the reference frames for a twin turbine solution (left, front view; right, top section view).

Figure 6 .
Figure 6.Location of the reference frames for a twin turbine solution (left, front view; right, top section view).

Figure 7 .
Figure 7. Linking configuration and interface communication.

Figure 7 .
Figure 7. Linking configuration and interface communication.

Figure 8 .
Figure 8. Extension strategy and thread synchronization.

Figure 8 .
Figure 8. Extension strategy and thread synchronization.

Table 1 .
State tags used for synchronization.