## 2 Simulation Framework
### Simulation Setup  
The simulation set up focused on the buoy, which is the most important component of the point absorber that we tested. _InterFoam_ was used as a dynamic mesh solver for isothermal immiscible fluids by means of the VOF phase fraction coupled to a 6 degrees of freedom (6-DoF) rigid-body motion solver (libraries _sixDoFRigidBodyMotion_[29]). The laminar flow version of the model was selected to avoid the use of a turbulence model in the flow simulation, since wave breaking is not necessary in the simulations. The properties of the two involved fluids are presented in Table 1.  
The NWT was designed with the _blockMesh_ utility, using the numerical domain geometry of 20 m in the \(x\) direction, 5 m in the \(y\) direction, and 6 m in the \(z\) direction with a resolution of \(\Delta x=\Delta y=\Delta z=1\) m. Although the number of mesh elements was reduced at the ends of the NWT to reduce the computational time, a finer mesh was used for the area of interest surrounding the buoy to achieve more accurate results. The bounding box contained the pivot point of the buoy at coordinates (0, 0, 0). The NWT domain is schematized in Figure 1. \begin{table}
\begin{tabular}{c c c c} \hline  & **Units** & **Water** & **Air** \\ \hline Kinematic viscosity & m\({}^{2}\cdot\)s\({}^{-1}\) & \(1.0\times 10^{-6}\) & \(1.48\times 10^{-5}\) \\ Density & kg\(\cdot\)m\({}^{-3}\) & 1024.0 & 1.0 \\ Surface tension between the two phases & N\(\cdot\)m\({}^{-1}\) & & 0.07 \\ \hline \end{tabular}
\end{table} 
Table 1: Properties by phase. Figure 1: NWT for the simulation with a buoy with a 0.25 m radius (R). Wave propagation is in the direction of the positive \(x\)-axis, the free surface elevation coincides with the \(z\) direction, and the length of the buoy is in the \(y\) direction. The wave gauges are placed from \(-10\) to \(10\) in the \(x\) direction at \(y=0\). The buoy was a rigid, cylindrical body with a width \(B=1\) m, and a radius that was changed for the different tests (R = 0.1, 0.25, 0.5, 1.0, and 1.5 m). The buoy was connected to two arms of a constant diameter (0.03 m) and length \(L_{b}\) that changed depending on the buoy's radius (see Table 2). From R\({}_{1}\) to R\({}_{4}\), the ratio R/L\({}_{b}\) increased proportionally to R, while the arms for R\({}_{4}\) and R\({}_{5}\) satisfied the same ratio R/L\({}_{b}\). The buoy's density was \(\rho_{b}=181.44\) kg: m\({}^{-3}\). The buoy was considered as a floating body with two constraints: the first one was a pivot point fixed at (0, 0, 0) to avoid back and forth movements, and, secondly, to only allow rotational movement only in the \(x-z\) plane, i.e., the buoy had one degree of freedom in the rotation mode perpendicular to the direction of the incident wave. Other restraints were not considered, e.g., external forces, linear spring, linear damping, etc. The buoy was previously built in Stereolithography format (.STL file) in the open source software SALOME [30], and it was incorporated into the spatial domain using the _sappyHexMesh_ tool. A detailed view of the buoy is presented in Figure 2 and the summary of the buoy's properties is presented in Table 2.  
For the spatial discretization of the boundary geometry, the inlet, outlet, sides, and top of the NWT were set as the patch type, where there was no geometric or topological information of the mesh; whilst the bottom (seabed) and the buoy were set as the wall type, geometries that interacted as solid objects. Through the inlet domain (at \(x=-10\)), the boundary condition imposed was [PERSON]'s wave theory, where the surface elevation \(\eta\) occurs in the \(z\) coordinate and the wave propagation occurs in the \(x\) direction. Stokes waves propagate over a constant depth (\(h=3\) m). The _activeAbsorption_ was set on the inlet and the _shallowWaterAbsorption_ module was imposed on the outlet to absorb the incoming free surface water waves and prevent wave reflection.