4.2.8.2. Input Files
The user configures the hydrodynamic model parameters as well as the substructure geometry and properties via a primary HydroDyn input file. When used in standalone mode, an additional driver input file is required. This driver file specifies initialization inputs normally provided to HydroDyn by OpenFAST, as well as the pertimestep inputs to HydroDyn.
No lines should be added or removed from the input files, except in tables where the number of rows is specified.
4.2.8.2.1. Units
HydroDyn uses the SI system (kg, m, s, N).
4.2.8.2.2. HydroDyn Driver Input File
The driver input file is only needed for the standalone version of HydroDyn and contains inputs normally generated by OpenFAST, and are necessary to control the hydrodynamic simulation for uncoupled models. A sample HydroDyn driver input file is given in Appendix B.
Set the Echo flag in this file to TRUE if you wish to have
HydroDynDriver
echo the contents of the driver input file (useful
for debugging errors in the driver file). The echo file has the naming
convention of OutRootName.dvr.ech
. OutRootName is specified
in the HYDRODYN section of the driver input file. Set the gravity
constant using the Gravity parameter. HydroDyn expects a magnitude,
so in SI units this would be set to 9.80665 \(\frac{m}{s^{2}}\).
WtrDens specifies the water density and must be a value greater than
or equal to zero; a typical value of seawater is around 1025
kg/m^{3}. WtrDpth specifies the water depth (depth of the flat
seabed), based on the reference MSL, and must be a value greater than
zero. MSL2SWL is the offset between the MSL and SWL, positive
upward. This parameter is useful when simulating the effect of tides or
stormsurge sealevel variations without having to alter the
substructure geometry information. This parameter is unused with
WaveMod = 6 and must be set to zero if you are using a
potentialflow model (PotMod = 1 or 2). WaveMod and PotMod are
specified in the HydroDyn primary input file.
HDInputFile is the filename of the primary HydroDyn input file. This name should be in quotations and can contain an absolute path or a relative path. All HydroDyngenerated output files will be prefixed with OutRootName. If this parameter includes a file path, the output will be generated in that folder. NSteps specifies the number of simulation time steps, and TimeInterval specifies the time between steps.
Setting WAMITInputsMod = 0 forces all WAMIT reference point (WRP) input motions to zero for all time. If you set WAMITInputsMod = 1, then you must set the steadystate inputs in the WAMIT STEADY STATE INPUTS section of the file. Setting WAMITInputsMod = 2, requires the timeseries input file whose name is specified via the WAMITInputsFile parameter. The WAMIT inputs file is a textformatted file. This file has no header lines. Each data row corresponds to a given time step, and the whitespace separated columns of floating point values represent the necessary motion inputs as shown in Table 4.6. All motions are specified in the global inertialframe coordinate system.
Column Number 
Input 
Units 

1 
Time step value 
\[s\]

24 
Translational displacements along X, Y, and Z 
\[m\]

57 
Rotational displacements about X, Y, and Z (small angle assumptions apply) 
\[\text{radians}\]

810 
Translational velocities along X, Y, and Z 
\[\frac{m}{s}\]

1113 
Rotational velocities about X, Y, and Z 
\[\frac{\text{radians}}{s}\]

1416 
Translational accelerations along X, Y, and Z 
\[\frac{m}{s^{2}}\]

1719 
Rotational accelerations about X, Y, and Z 
\[\frac{\text{radians}}{s^{2}}\]

In a similar fashion, the input motions for the Morison members (striptheory model) are set to zero if MorisonInputsMod = 0. If you select MorsionInputsMod = 1 then the motions at each substructure joint are set to the steadystate values given in the MORISON STEADY STATE INPUTS section. Currently, option 2 is unavailable for the Morison inputs.
The standalone HydroDyn does not check for physical consistency between motions specified for the WRP and Morison members in the driver file.
Setting WaveElevSeriesFlag to TRUE enables the outputting of a grid
of wave elevations to a textbased file with the name
OutRootName.WaveElev.out
. The grid consists of WaveElevNX by
WaveElevNY wave elevations (centered at X = 0, Y = 0 i.e.,
(0,0)) with a dX and dY spacing in the global inertialframe
coordinate system. These wave elevations are distinct and output
separately from the wave elevations determined by NWaveElev in the
HydroDyn primary input file, such that the total number of wave
elevation outputs is NWaveElev + ( WaveElevNX × WaveElevNY
). The waveelevation output file OutRootName.WaveElev.out
contains the total wave elevation, which is the sum of the first and
secondorder terms (when the secondorder wave kinematics are optionally
enabled).
4.2.8.2.3. HydroDyn Primary Input File
The HydroDyn input file defines the substructure geometry, hydrodynamic coefficients, incident wave kinematics and current, potentialflow solution options, flooding/ballasting and marine growth, and auxiliary parameters. The geometry of striptheory members is defined by joint coordinates of the undisplaced substructure in the global reference system, with the origin at the intersection of the undeflected tower centerline with MSL. A member connects two joints; multiple members can use a common joint. The hydrodynamic loads are computed at nodes, which are the resultant of member refinement into multiple (MDivSize input) elements (nodes are located at the ends of each element), and they are calculated by the module. Member properties include outer diameter, thickness, and dynamicpressure, addedmass and viscousdrag coefficients. Member properties are specified at the joints; if properties change from one joint to the other, they will be linearly interpolated for the inner nodes.
The file is organized into several functional sections. Each section corresponds to an aspect of the hydrodynamics model or the submerged substructure. A sample HydroDyn primary input file is given in Appendix A: OC4 Semisubmersible Input File.
If this manual refers to an ID in a table entry, this is an integer identifier for the table entry, and these IDs do not need to be consecutive or increasing, but they must be unique for a given table entry.
The input file begins with two lines of header information which is for your use, but is not used by the software. On the next line, set the Echo flag to TRUE if you wish to have HydroDyn echo the contents of the HydroDyn input file (useful for debugging errors in the input file). The echo file has the naming convention of OutRootName.HD.ech. OutRootName is either specified in the HYDRODYN section of the driver input file when running HydroDyn standalone, or by FAST when running a coupled simulation.
4.2.8.2.3.1. Environmental Conditions
Environmental conditions are now specified in the driver input file but are left in the primary input file for legacy compatibility. Use the keyword DEFAULT to pass in values specified by the driver input file. Otherwise, values given in the primary input file will overwrite those given in the driver input file. WtrDens specifies the water density and must be a value greater than or equal to zero; a typical value of seawater is around 1025 kg/m^{3}. WtrDpth specifies the water depth (depth of the flat seabed), based on the reference MSL, and must be a value greater than zero. MSL2SWL is the offset between the MSL and SWL, positive upward. This parameter is useful when simulating the effect of tides or stormsurge sealevel variations without having to alter the substructure geometry information. This parameter is unused with WaveMod = 6 and must be set to zero if you are using a potentialflow model (PotMod = 1 or 2).
4.2.8.2.3.2. Waves
The WAVES section of the input file controls the internal generation of firstorder waves or the use of externally generated waves, used by both the striptheory and potentialflow solutions. The wave spectrum settings in this section only pertain to the firstorder wave frequency components. When secondorder terms are optionally enabled—see the 2ndOrder Waves and 2ndOrder Floating Platform Forces sections below—the secondorder terms are calculated using the firstorder wavecomponent amplitudes and extra energy is added to the wave spectrum (at the difference and sum frequencies).
WaveMod specifies the incident wave kinematics model. The options are:
0: none = still water
1: regular (periodic) waves
1P#: regular (periodic) waves with userspecified phase, for example 1P20.0 for regular waves with a 20˚ phase (without P#, the phase will be random, based on WaveSeed); 0˚ phase represents a cosine function, starting at the peak and decreasing in time
2: Irregular (stochastic) waves based on the JONSWAP or PiersonMoskowitz frequency spectrum
3: Irregular (stochastic) waves based on a whitenoise frequency spectrum
4: Irregular (stochastic) waves based on a userdefined frequency spectrum from routine UserWaveSpctrm(); see Appendix D for compiling instructions
5: Externally generated waveelevation time series
6: Externally generated full wavekinematics time series
Option 4 requires that the UserWaveSpctrm() subroutine of the Waves.f90 source file be implemented by the user, and will require recompiling either the standalone HydroDyn program or FAST. Option 5 allows the use of externally generated waveelevation time series, from which the hydrodynamic loads in the potentialflow solution or the wave kinematics used in the striptheory solution are derived internally. Option 6 allows the use of full externally generated wave kinematics for use with the striptheory solution (but not the potentialflow solution). With options 5 and 6, the externally generated wave data is provided through input files, all of which have the root name given by the WvKinFile parameter below.
This version does not include the ability to model stretching of internally generated incident wave kinematics to the instantaneous free surface; you must set WaveStMod = 0.
WaveTMax sets the length of the incident wave kinematics time series, but it also determines the frequency step used in the inverse FFT, from which the internal wave time series are derived (Δω = 2π/WaveTMax). If WaveTMax is less than the total simulation time, HydroDyn implements repeating wave kinematics that have a period of WaveTMax; WaveTMax must not be less than the total simulation time when WaveMod = 5. WaveDT determines the time step for the wave kinematics time series, but it also determines the maximum frequency in the inverse FFT (ωmax = π/WaveDT). When modeling irregular sea states, we recommend that WaveTMax be set to at least 1 hour (3600 s) and that WaveDT be a value in the range between 0.1 and 1.0 s to ensure sufficient resolution of the wave spectrum and wave kinematics. When HydroDyn is coupled to FAST, WaveDT may be specified arbitrarily independently from the glue code time step of FAST (the wave kinematics will be interpolated in time as necessary); WaveDT must equal the glue code time step of FAST when WaveMod = 6.
For internally generated waves, the wave height (cresttotrough, twice the amplitude) for regular waves and the significant wave height for irregular waves is set using WaveHs (only used when WaveMod = 1, 2, or 3). The wave period for regular waves and the peakspectral wave period for irregular waves is controlled with the WaveTp parameter (only used when WaveMod = 1 or 2). WavePkShp is the peakshape parameter of JONSWAP irregular wave spectrum (only used when WaveMod = 2). Set WavePkShp to DEFAULT to obtain the value recommended in the IEC 614003 Annex B, derived based on the peakspectral period and significant wave height [IEC, 2009]. Set WavePkShp to 1.0 for the PiersonMoskowitz spectrum.
WvLowCOff and WvHiCOff control the lower and upper cutoff frequencies (in rad/s) of the firstorder wave spectrum; the firstorder wavecomponent amplitudes are zeroed below and above these cutoff frequencies, respectively. WvLowCOff may be set lower than the lowenergy limit of the firstorder wave spectrum to minimize computational expense. Setting a proper upper cutoff frequency (WvHiCOff) also minimizes computational expense and is important to prevent nonphysical effects when approaching of the breakingwave limit and to avoid nonphysical wave forces at high frequencies (i.e., at short wavelengths) when using a striptheory solution. WvLowCOff and WvHiCOff are unused when WaveMod = 0, 1, or 6.
WaveDir (unused when WaveMod = 0 or 6) is the mean wave propagation heading direction (in degrees), and must be in the range (180,180]. A heading of 0 corresponds to wave propagation in the positive Xaxis direction. And a heading of 90 corresponds to wave propagation in the positive Yaxis direction. WaveDirMod specifies the wave directional spreading model (only used when WaveMod = 2, 3, or 4). Setting WaveDirMod to 0 disables directional spreading, resulting in longcrested (planeprogressive) sea states propagating in the WaveDir direction. Setting WaveDirMod to 1 enables the modeling of shortcrested sea states, with a mean propagation direction of WaveDir, through the commonly used cosine spreading function (COS:sup:2S) to define the directional spreading spectrum, based on the spreading coefficient (S) defined via WaveDirSpread. The wave directional spreading spectrum is discretized with an equalenergy method using WaveNDir number of equalenergy bins. WaveNDir is an oddvalued integer greater or equal to 1 (1 or 3 or 5…), but HydroDyn may slightly increase the specified value of WaveNDir to ensure that there is the same number of wave components within each direction bin; setting WaveNDir = 1 is equivalent to setting WaveDirMod = 0. The range of the directional spread (in degrees) is defined via WaveDirSpread. The equalenergy method assumes that the directional spreading spectrum is the product of a frequency spectrum and a spreading function i.e. S(ω,β) = S(ω)D(β). Directional spreading is not permitted when using Newman’s approximation of the secondorder differencefrequency potentialflow loads.
WaveSeed(1) and WavedSeed(2) (unused when WaveMod = 0, 5, or 6) combined determine the initial seed (starting point) for the internal pseudorandom number generator (pRNG) needed to derive the internal wave kinematics from the wave frequency and direction spectra. If both are numeric values, the Fortran intrinsic pRNG is used. If WaveSeed(2) is the string “RANLUX”, an alternative pRNG included with the NWTC Library is used and the value of WaveSeed(1) is the seed. If you want to run different timedomain realizations for given boundary conditions (of significant wave height, and peakspectral period, etc.), you should change one or both seeds between simulations. While the phase of each wave frequency and direction component of the wave spectrum is always based on a uniform distribution (except when using the 1P# WaveMod option), the amplitude of the wave frequency spectrum can also be randomized (following a normal distribution) by setting WaveNDAmp to TRUE. Setting WaveNDAmp to FALSE means that the amplitude of the wave frequency spectrum always matches the target spectrum. WaveNDAmp is only used with WaveMod = 2, 3, or 4.
When using externally generated wave data (WaveMod = 5 or 6), input parameter WvKinFile should be set to the root name of the input file(s) (without extension) containing the data.
Using externally generated waveelevation time series (WaveMod = 5) requires a textformatted input data file with the extension .Elev containing two columns of data—the first is time (starting at zero) (in s) and the second is the wave elevation at (0,0) (in m), separated by whitespace. Header lines (identified as those not beginning with a number) are ignored. The time series must be at least WaveTMax in length and not less than the total simulation time and the time step must match WaveDT. The waveelevation time series specified is assumed to be of first order and longcrested, but is not checked for physical correctness. When secondorder terms are optionally enabled—see the 2^{ND}ORDER WAVES and 2^{ND}ORDER FLOATING PLATFORM FORCES sections below—the secondorder terms are calculated using the wavecomponent amplitudes derived from the provided waveelevation time series and extra energy is added to the wave spectrum (at the difference and sum frequencies).
Using full externally generated wave kinematics (WaveMod = 6) requires eight textformatted input data files, all without headers. Seven files with extensions .Vxi, .Vyi, .Vzi, .Axi, .Ayi, .Azi, and .DynP correspond to the X, Y, and Z velocities (in m/s) and accelerations (in m/s^{2}) in the global inertialframe coordinate system and the dynamic pressure (in Pa) time series. Each of these files must have exactly WaveTMax/DT rows and N whitepaceseparated columns, where N is the total number of internal HydroDyn analysis nodes (corresponding exactly to those written to the HydroDyn summary file). Time is absent from the files, but is assumed to go from zero to WaveTMax – WaveDT in steps of WaveDT. To use this feature, it is the burden of the user to generate wave kinematics data at each of HydroDyn’s time steps and analysis nodes. HydroDyn will not interpolate the data; as such, when HydroDyn is coupled to FAST, WaveDT must equal the glue code time step of FAST. A numerical value (including 0) in a file is assumed to be valid data (with 0 corresponding to 0 m/s, 0 m/s^{2}, or 0 Pa); a nonnumeric string will designate that the node is outside of the water at that time step (above the instantaneous water elevation or below the seabed)—externally generated wave kinematics used with WaveMod = 6 are not limited to the domain between a flat seabed and SWL and may consider wave stretching, higherorder wave theories, or an uneven seabed. All seven files must have nonnumeric strings in the same locations within the file. The eighth file, with extension .Elev, must contain the wave elevation (in m) at each of the NWaveElev points on the SWL where wave elevations can be output—see below; this data is required for output purposes only and is not used by HydroDyn for other means. This file must have exactly WaveTMax/DT rows and NWaveElev whitepaceseparated columns and only valid numeric data is allowed (the file will have NWaveElev + ( WaveElevNX × WaveElevNY ) columns when HydroDyn is operated in standalone mode). The data in these files is not processed (filtered, etc.) or checked for physical correctness (other than for consistency in the location of the nonnumeric strings). Full externally generated wave kinematics (WaveMod = 6) cannot be used in conjunction with the potentialflow solution.
You can generate up to 9 wave elevation outputs. NWaveElev determines the number (between 0 and 9), and the whitespaceseparated lists of WaveElevxi and WaveElevyi determine the locations of these NWaveElev number of points on the SWL plane in the global inertialframe coordinate system.
4.2.8.2.3.3. 2^{nd}Order Waves
The 2^{ND}ORDER WAVES section (unused when WaveMod = 0 or 6) of the input file allows the option of adding secondorder contributions to the wave kinematics used by the striptheory solution. When secondorder terms are optionally enabled, the secondorder terms are calculated using the firstorder wavecomponent amplitudes and extra energy is added to the wave spectrum (at the difference and sum frequencies). The secondorder terms cannot be computed without also including the firstorder terms from the WAVES section above. Enabling the secondorder terms allows one to capture some of the nonlinearities of real surface waves, permitting more accurate modeling of sea states and the associated wave loads at the expense of greater computational effort (mostly at HydroDyn initialization).
While the cutoff frequencies in this section apply to both the secondorder wave kinematics used by strip theory and the secondorder diffraction loads in potentialflow theory, the secondorder terms themselves are enabled separately. The secondorder wave kinematics used by strip theory are enabled in this section while the secondorder diffraction loads in potentialflow theory are enabled in the 2ndOrder Floating Platform Forces section below. While the secondorder effects are included when enabled, the wave elevations output from HydroDyn will only include the secondorder terms when the secondorder wave kinematics are enabled in this section.
To use secondorder wave kinematics in the striptheory solution, set WvDiffQTF and/or WvSumQTF to TRUE. When WvDiffQTF is set to TRUE, secondorder differencefrequency terms, calculated using the full differencefrequency QTF, are incorporated in the wave kinematics. When WvSumQTF is set to TRUE, secondorder sumfrequency terms, calculated using the full sumfrequency QTF, are incorporated in the wave kinematics. The full difference and sumfrequency wave kinematics QTFs are implemented analytically following [Sharma and Dean, 1981], which extends Stokes secondorder theory to irregular multidirectional waves. A setting of FALSE disregards the secondorder contributions to the wave kinematics in the striptheory solution.
WvLowCOffD and WvHiCOffD control the lower and upper cutoff frequencies (in rad/s) of the secondorder differencefrequency terms; the secondorder differencefrequency terms are zeroed below and above these cutoff frequencies, respectively. The cutoffs apply directly to the physical difference frequencies, not the two individual firstorder frequency components of the difference frequencies. When enabling secondorder potentialflow theory, a setting of WvLowCOffD = 0 is advised to avoid eliminating the meandrift term (secondorder wave kinematics do not have a nonzero mean). WvHiCOffD need not be set higher than the peakspectral frequency of the firstorder wave spectrum (ωp = 2π/WaveTp) to minimize computational expense.
Likewise, WvLowCOffS and WvHiCOffS control the lower and upper cutoff frequencies (in rad/s) of the secondorder sumfrequency terms; the secondorder sumfrequency terms are zeroed below and above these cutoff frequencies, respectively. The cutoffs apply directly to the physical sum frequencies, not the two individual firstorder frequency components of the sum frequencies. WvLowCOffS need not be set lower than the peakspectral frequency of the firstorder wave spectrum (ωp = 2π/WaveTp) to minimize computational expense. Setting a proper upper cutoff frequency (WvHiCOffS) also minimizes computational expense and is important to (1) ensure convergence of the secondorder summations, (2) avoid unphysical “bumps” in the wave troughs, (3) prevent nonphysical effects when approaching of the breakingwave limit, and (4) avoid nonphysical wave forces at high frequencies (i.e., at short wavelengths) when using a striptheory solution.
Because the secondorder terms are calculated using the firstorder wavecomponent amplitudes, the secondorder cutoff frequencies (WvLowCOffD, WvHiCOffD, WvLowCOffS, and WvHiCOffS) are used in conjunction with the firstorder cutoff frequencies (WvLowCOff and WvHiCOff) from the WAVES section. However, the secondorder cutoff frequencies are not used by Newman’s approximation of the secondorder differencefrequency potentialflow loads, which are derived solely from firstorder effects.
4.2.8.2.3.4. Current
You can include water velocity due to a current model by setting CurrMod = 1. If CurrMod is set to zero, then the simulation will not include current. CurrMod = 2 requires that the UserCurrent() subroutine of the Current.f90 source file be implemented by the user, and will require recompiling either the standalone HydroDyn program or FAST. Current induces steady hydrodynamic loads through the viscousdrag terms (both distributed and lumped) of striptheory members. Current is not used in the potentialflow solution or when WaveMod = 6.
HydroDyn’s standard current model includes three submodels: nearsurface, subsurface, and depthindependent, as illustrated in Fig. 4.48. All three currents are vector summed, along with the wave particle kinematics velocity.
The subsurface current model follows a power law,
where \(Z\) is the local depth below the SWL (negative downward), \(d\) is the water depth (equal to WtrDpth + MSL2SWL), and \(U_{0_{SS}}\) is the current velocity at SWL, corresponding to CurrSSV0. The heading of the subsurface current is defined using CurrSSDir following the same convention as WaveDir.
The nearsurface current model follows a linear relationship down to a reference depth such that,
otherwise,
where \(h_{ref}\) is the reference depth corresponding to CurrNSRef and must be positive valued. \(U_{0_{NS}}\) is the current velocity at SWL, corresponding to CurrNSV0. The heading of the nearsurface current is defined using CurrNSDir, following the same convention as WaveDir.
The depthindependent current velocity everywhere equals CurrDIV. This current has a heading direction CurrDIDir, following the same convention as WaveDir.
4.2.8.2.3.5. Floating Platform
This and the next few sections of the input file have “Floating Platform” in the title, but the input parameters control the potentialflow model, regardless of whether the substructure is floating or not. The potentialflow solution cannot be used in conjunction with nonzero MSL2SWL or WaveMod = 6.
If the load contributions from potentialflow theory are to be used, set PotMod to 1 for the use of frequencytotimedomain transforms based on WAMIT output or 2 for the use of FIT (FIT is not yet documented in this manual). With PotMod = 1, include the root name (without extensions) for the WAMITrelated output files in PotFile. These files consist of the .1, .3,.hst and secondorder files. These are written by the WAMIT program and should not include any file headers. When the linear statespace model is used in placed of convolution, the .ss file generated by SS_Fitting must have the same root name as the other WAMITrelated files (see RdtnMod below). The remaining parameters in this section are only used when PotMod = 1.
The output files from WAMIT are in a standard nondimensional form that HydroDyn will dimensionalize internally upon input. WAMITULEN is the characteristic body length scale used to redimensionalize the WAMIT output. The body motions and forces in these files are in relation to the WAMIT reference point (WRP) in HydroDyn, which for the undisplaced substructure is the same as the origin of the global inertialframe coordinate system (0,0,0). The .hst file contains the 6x6 linear hydrostatic restoring (stiffness) matrix of the platform. The .1 file contains the 6x6 frequencydependent hydrodynamic addedmass and damping matrix of the platform from the radiation problem. The .3 file contains the 6x1 frequency and directiondependent firstorder waveexcitation force vector of the platform from the linear diffraction problem. While HydroDyn expects hydrodynamic coefficients derived from WAMIT, if you are not using WAMIT, it is recommended that you reformat your data according to the WAMIT format (including nondimensionalization) before inputting them to HydroDyn. Information on the WAMIT format is available from Chapter 4 of the WAMIT User’s Guide [LN06].
PtfmVol0 is the displaced volume of water when the platform is in
its undisplaced position. This value should be set equal to the value
computed by WAMIT as output in the WAMIT .out
file. PtfmCOBxt and
PtfmCOByt are the X and Y offsets of the center of buoyancy from
the WRP.
HydroDyn has two methods for calculating the radiation memory effect. Set RdtnMod to 1 for the convolution method, 2 for the linear statespace model, or 0 to disable the memory effect calculation. For the convolution method, RdtnTMax determines how long to track the memory effect (truncating the convolutions at t – RdtnTMax, where t is the current simulation time), but it also determines the frequency step used in the cosine transform, from which the timedomain radiation kernel (radiation impulseresponse function) is derived. A RdtnTMax of 60 s is usually more than sufficient because the radiation kernel decays to zero after a short amount of time; setting RdtnTMax much greater than this will cause HydroDyn to run significantly slower. (RdtnTMax does not need to match or exceed the total simulation length.) Setting RdtnTMax to 0 s disables the memory effect, akin to setting RdtnMod to 0. For the convolution method, RdtnDT is the time step for the radiation calculations (numerical convolutions), but also determines the maximum frequency in the cosine transform. For the statespace model, RdtnDT is the time step to use for time integration of the linear statespace model. In this version of HydroDyn, RdtnDT must match the glue code (FAST/driver program) simulation time step; the DEFAULT keyword can be used for this.
4.2.8.2.3.6. 2^{nd}Order Floating Platform Forces
The 2^{ND}ORDER FLOATING PLATFORM FORCES section of the input file allows the option of adding secondorder contributions to the potentialflow solution. When secondorder terms are optionally enabled, the secondorder terms are calculated using the firstorder wavecomponent amplitudes and extra energy is added to the wave spectrum (at the difference and sum frequencies). The secondorder terms cannot be computed without also including the firstorder terms from the FLOATING PLATFORM section above (PotMod = 1). Enabling the secondorder terms allows one to capture some of the nonlinearities of real surface waves, permitting more accurate modeling of sea states and the associated wave loads at the expense of greater computational effort (mostly at HydroDyn initialization).
While the cutoff frequencies in the 2ndOrder Waves section above apply to both the secondorder wave kinematics used by strip theory and the secondorder diffraction loads in potentialflow theory, the secondorder terms themselves are enabled separately. The secondorder wave kinematics used by strip theory are enabled in the 2ndOrder Waves section above while the secondorder diffraction loads in potentialflow theory are enabled in this section. While the secondorder effects are included when enabled, the wave elevations output from HydroDyn will only include the secondorder terms when the secondorder wave kinematics are enabled in the 2ndOrder Waves section above.
The secondorder differencefrequency potentialflow terms can be enabled in one of three ways. To compute only the meandrift term, set MnDrift to a nonzero value; to estimate the mean and slowdrift terms using Standing et al.’s extension to Newman’s approximation, based only on firstorder effects, set NewmanApp to a nonzero value; or to compute the mean and slowdrift terms using the full differencefrequency QTF set DiffQTF to a nonzero value. Valid values of MnDrift are 0, 7, 8, 9, 10, 11, or 12 corresponding to which WAMIT output file the meandrift terms will be calculated from. Valid values of NewmanApp are 0, 7, 8, 9, 10, 11, or 12 corresponding to which WAMIT output file the Newman’s approximation will be calculated from. Newman’s approximation cannot be used in conjunction with directional spreading (WaveDirMod must be 0) and the secondorder cutoff frequencies do not apply to Newman’s approximation. Valid values of DiffQTF are 0, 10, 11, or 12 corresponding to which WAMIT output file the full differencefrequency potentialflow solution will be calculated from. Only one of MnDrift, NewmanApp, and DiffQTF can be nonzero; a setting of 0 disregards the secondorder differencefrequency contributions to the potentialflow solution.
The .7 WAMIT file refers to the meandrift loads (diagonal of the differencefrequency QTF) in all 6 DOFs derived from the controlsurface integration method based on the firstorder solution. The .8 WAMIT file refers to the meandrift loads (diagonal of the differencefrequency QTF) only in surge, sway, and roll derived from the momentum conservation principle based on the firstorder solution. The .9 WAMIT file refers to the meandrift loads (diagonal of the differencefrequency QTF) in all six DOFs derived from the pressure integration method based on the firstorder solution. For the differencefrequency terms, 10, 11, and 12 refer to the WAMIT .10d, .11d, and .12d files, corresponding to the full QTF of (.*10d*) loads in all 6 DOFs associated with the quadratic interaction of firstorder quantities, (.*11d*) total (quadratic plus secondorder potential) loads in all 6 DOFs derived by the indirect method, and (.*12d*) total (quadratic plus secondorder potential) loads in all 6 DOFs derived by the direct method, respectively.
The secondorder sumfrequency potentialflow terms can only be enabled using the full sumfrequency QTF, by setting SumQTF to a nonzero value. Valid values of SumQTF are 0, 10, 11, or 12 corresponding to which WAMIT output file the full sumfrequency potentialflow solution will be calculated from; a setting of 0 disregards the secondorder sumfrequency contributions to the potentialflow solution. For the sumfrequency terms, 10, 11, and 12 refer to the WAMIT .10s, .11s, and .12s files, corresponding to the full QTF of (.*10s*) loads in all 6 DOFs associated with the quadratic interaction of firstorder quantities, (.*11s*) total (quadratic plus secondorder potential) loads in all 6 DOFs derived by the indirect method, and (.*12s*) total (quadratic plus secondorder potential) loads in all 6 DOFs derived by the direct method, respectively.
4.2.8.2.3.7. Platform Additional Stiffness and Damping
The vectors and matrices of this section are used to generate additional loads on the platform (in addition to other hydrodynamic terms calculated by HydroDyn), per the following equation.
where \(\overrightarrow{F}_{0}\) corresponds to the AddF0 6x1 static load (preload) vector, \([C]\) corresponds to the AddCLin 6x6 linear restoring (stiffness) matrix, \([B]\) corresponds to the AddBLin 6x6 linear damping matrix, \([B_{quad}]\) corresponds to the AddBQuad 6x6 quadratic drag matrix, and \(\overrightarrow{q}\) corresponds to the WRP 6x1 (sixDOF) displacement vector (three translations and three rotations), where the overdot refers to the first timederivative.
These terms can be used, e.g., to model a linearized mooring system, to augment striptheory members with a linear hydrostatic restoring matrix (see Section 4.2.8.4.8.3), or to “tune” HydroDyn to match damping to experimental results, such as freedecay tests. While likely most useful for floating systems, these matrices can also be used for fixedbottom systems; in both cases, the resulting load is applied at the WRP, which when HydroDyn is coupled to FAST, get applied to the platform in ElastoDyn (bypassing SubDyn for fixedbottom systems). See Modeling Considerations for addition guidance for where these terms are necessary.
4.2.8.2.3.8. Axial Coefficients
This and the next several sections of the input file control the striptheory model for both fixedbottom and floating substructures.
HydroDyn computes lumped viscousdrag, addedmass, fluidinertia, and static pressure loads at member ends (joints). The hydrodynamic coefficients for the lumped the lumped loads at joints are referred to as “axial coefficients” and include viscousdrag coefficients, AxCd, addedmass coefficients, AxCa, and dynamicpressure coefficients, AxCp. AxCa influences both the addedmass loads and the scattering component of the fluidinertia loads. Any number of separate axial coefficient sets, distinguished by AxCoefID, may be specified by setting NAxCoef > 1.
Axial viscousdrag loads will be calculated for all specified member joints. Axial addedmass, fluidinertia, and staticpressure loads will only be calculated for member joints of members not modeled with potential flow (PropPot = FALSE). Axial loads are only calculated at userspecified joints. Axial loads are not calculated at joints HydroDyn may automatically create as part its solution process. For example, if you want axial effects at a marinegrowth boundary (where HydroDyn automatically adds a joint), you must explicitly set a joint at that location.
4.2.8.2.3.9. Member Joints
The striptheory model is based on a substructure composed of joints interconnected by members. NJoints is the userspecified number of joints and determines the number of rows in the subsequent table. Because a member connects two nodes, NJoints must be exactly zero or greater than or equal to two. Each joint listed in the table is identified by a unique integer, JointID. The (X,Y,Z) coordinate of each joint is specified in the global inertialframe coordinate system via Jointxi, Jointyi, and Jointzi, respectively. JointAxID corresponds to an entry in the AXIAL COEFFICIENTS table and sets the axial coefficients for a joint. This version of HydroDyn cannot calculate joint overlap when multiple members meet at a common joint; therefore JointOvrlp must be set to 0. Future releases will enable joint overlap calculations.
Modeling a fixedbottom substructure embedded into the seabed (e.g., through piles or suction buckets) requires that the lowest member joint(s) lie below the water depth. Placing a joint at or above the water depth results in static pressure loads being applied.
4.2.8.2.3.10. Member CrossSections
Members in HydroDyn are assumed to be straight circular (and possibly tapered) cylinders. Apart from the hydrodynamic coefficients, the circular crosssection properties needed for the hydrodynamic load calculations are member outer diameter, PropD, and member thickness, PropThck. You will need to create an entry in this table, distinguished by PropSetID, for each unique combination of these two properties. The member propertyset table contains NPropSets rows. The member property sets are referred to by their PropSetID in the MEMBERS table, as described in Section 4.2.8.2.3.12 below. PropD determines the static buoyancy loads exterior to a member, as well as the area used in the viscousdrag calculation and the volume used in the addedmass and fluidinertia calculations. PropThck determines the interior volume for fluidfilled (flooded/ballasted) members.
4.2.8.2.3.11. Hydrodynamic Coefficients
HydroDyn computes distributed viscousdrag, addedmass, fluidinertia, and static buoyancy loads along members.
The hydrodynamic coefficients for the distributed striptheory loads are specified using any of three models, which we refer to as the simple model, a depthbased model, and a memberbased model. All of these models require the specification of both transverse and axial hydrodynamic coefficients for viscous drag, added mass, and dynamic pressure (axial viscous drag is not yet available). The addedmass coefficient influences both the addedmass loads and the scattering component of the fluidinertia loads. There are separate set of hydrodynamic coefficients both with and without marine growth. A given element will either use the marine growth or the standard version of a coefficient, but never both. Note that input members are split into elements, one of the splitting rules guarantees the previous statement is true. Which members have marine growth is defined by the MARINE GROWTH table of Section 4.2.8.2.3.14. You can specify only one model type, MCoefMod, for any given member in the MEMBERS table. However, different members can specify different coefficient models.
In the hydrodynamic coefficient input parameters, Cd, Ca, and Cp refer to the viscousdrag, addedmass, and dynamicpressure coefficients, respectively, MG identifies the coefficients to be applied for members with marine growth (the standard values are identified without MG), and Ax identifies the axial coefficients to be applied for tapered members (the transverse coefficients are identified without Ax). It is noted that for the transverse coefficients, , the inertia coefficient.
While the striptheory solution assumes circular cross sections, the hydrodynamic coefficients can include shape corrections; however, there is no distinction made in HydroDyn between different transverse directions.
4.2.8.2.3.11.1. Simple Model
This table consists of a single complete set of hydrodynamic coefficients as follows: SimplCd, SimplCdMG, SimplCa, SimplCaMG, SimplCp, SimplCpMG, SimplAxCa, SimplAxCaMG, SimplAxCp, and SimplAxCpMG. These hydrodynamic coefficients are referenced in the members table of Section 4.2.8.2.3.12 by selecting MCoefMod = 1.
4.2.8.2.3.11.2. DepthBased Model
The depthbased coefficient model allows you to specify a series of depthdependent coefficients. NCoefDpth is the userspecified number of depths and determines the number of rows in the subsequent table. Currently, this table requires that the rows are ordered by increasing depth, Dpth; this is equivalent to a decreasing global Zcoordinate. The hydrodynamic coefficients at each depth are as follows: DpthCd, DpthCdMG, DpthCa, DpthCaMG, DpthCp, DpthCpMG, DpthAxCa, DpthAxCaMG, DpthAxCp, and DpthAxCpMG. Members use these hydrodynamic coefficients by setting MCoefMod = 2. The HydroDyn module will interpolate coefficients for a node whose Zcoordinate lies between table Zcoordinates.
4.2.8.2.3.11.3. MemberBased Model
The memberbased coefficient model allows you to specify a hydrodynamic coefficients for each particular member. NCoefMembers is the userspecified number of members with memberbased coefficients and determines the number of rows in the subsequent table. The hydrodynamic coefficients for a member distinguished by MemberID are as follows: MemberCd1, MemberCd2, MemberCdMG1, MemberCdMG2, MemberCa1, MemberCa2, MemberCaMG1, MemberCaMG2, MemberCp1, MemberCp2, MemberCpMG1, MemberCpMG2, MemberAxCa1, MemberAxCa2, MemberAxCaMG1, MemberAxCaMG2, MemberAxCp1, MemberAxCp2, MemberAxCpMG1, and MemberAxCpMG2, where 1 and 2 identify the starting and ending joint of the member, respectively. Members use these hydrodynamic coefficients by setting MCoefMod = 3.
4.2.8.2.3.12. Members
NMembers is the userspecified number of members and determines the number of rows in the subsequent table. For each member distinguished by MemberID, MJointID1 specifies the starting joint and MJointID2 specifies the ending joint, corresponding to an identifier (JointID) from the MEMBER JOINTS table. Likewise, MPropSetID1 corresponds to the starting crosssection properties and MProSetID2 specify the ending crosssection properties, allowing for tapered members. MDivSize determines the maximum spacing (in meters) between simulation nodes where the distributed loads are actually computed; the smaller the number, the finer the resolution and longer the computational time. Each member in your model will have hydrodynamic coefficients, which are specified using one of the three models (MCoefMod). Model 1 uses a single set of coefficients found in the SIMPLE HYDRODYNAMIC COEFFICIENTS section. Model 2 is depthbased, and is determined via the table found in the DEPTHBASED HYDRODYNAMIC COEFFICIENTS section. Model 3 specifies coefficients for a particular member, by referring to the MEMBERBASED HYDRODYNAMIC COEFFICIENTS section. The PropPot flag indicates whether the corresponding member coincides with the body represented by the potentialflow solution. When PropPot = TRUE, only viscousdrag loads, and ballasting loads will be computed for that member.
4.2.8.2.3.13. Filled Members
Members—whether they are also modeled with potentialflow or not—may be fluidfilled, meaning that they are flooded and/or ballasted. Fluidfilled members introduce interior buoyancy that subtracts from the exterior buoyancy and a mass. Both distributed loads along a member and lumped loads at joints are applied. The volume of fluid in the member is derived from the outer diameter and thickness of the member and a fluidfilled freesurface level. The fluid in the member is assumed to be compartmentalized such that it does not slosh. Rotational inertia of the fluid in the member is ignored. A member’s filled configuration is defined by the filledfluid density and the freesurface level. Filled members that have the same configuration are collected into fill groups.
NFillGroups specifies the number of fluidfilled member groups and determines the number of rows in the subsequent table. FillNumM specifies the number of members in the fill group. FillMList is a list of FillNumM whitespaceseparated MemberIDs. FillFSLoc specifies the Zheight of the freesurface (0 for MSL). FillDens is the density of the fluid. If FillDens = DEFAULT, then FillDens = WtrDens.
4.2.8.2.3.14. Marine Growth
Members not also modeled with potentialflow theory may be modeled with marine growth. Marine growth causes three effects. First, marine growth introduces a static weight and mass to a member, applied as distributed loads along the member. Second, marine growth increases the outer diameter of a member, which impacts the diameter used in the viscousdrag, addedmass, fluidinertia, and static buoyancy load calculations. Third, the hydrodynamic coefficients for viscous drag, added mass, and dynamic pressure are specified distinctly for marine growth. Rotational inertia of the marine growth is ignored and marine growth is not added to member ends.
Marine growth is specified using a depthbased table with NMGDepths rows. This table must have exactly zero or at least 2 rows. The columns in the table include the local depth, MGDpth, the marine growth thickness, MGThck, and marine growth density, MGDens. Marine growth for a particular location in the substructure geometry is added by linearly interpolating between the marinegrowth table entries. The smallest and largest values of MGDpth define the marine growth region. Outside this region the marine growth thickness is set to zero. If you want subregions of zero marine growth thickness within these bounds, you must generate depth entries which explicitly set MGThck to zero. The hydrodynamic coefficient tables contain coefficients with and without marine growth. If MGThck = 0 for a particular node, the coefficients not associated with marine growth are used.
4.2.8.2.3.15. Member Output List
HydroDyn can output distributed load and wave kinematic quantities at up to 9 locations on up to 9 different members, for a total of 81 possible local member output locations. NMOutputs specifies the number of members. You must create a table entry for each requested member. Within a table entry, MemberID is the ID specified in the MEMBERS table, and NOutLoc specifies how many output locations are generated for this member. NodeLocs specifies those locations as a normalized distance from the starting joint (0.0) to the ending joint (1.0) of the member. If the chosen location does not align with a calculation node, the results at the two surrounding nodes will be linearly interpolated. The outputs specified in Appendix C. List of Output Channels determines which quantities are actually output at these locations.
4.2.8.2.3.16. Joint Output List
HydroDyn can output lumped load and wave kinematic quantities at up to 9 different joints. JOutLst contains a list of NJOutputs number of JointIDs. The outputs specified in Appendix C. List of Output Channels determines which quantities are actually output at these joints.
4.2.8.2.3.17. Output
Specifying HDSum = TRUE causes HydroDyn to generate a summary file with name OutRootname.HD.sum. OutRootName is either specified in the HYDRODYN section of the driver input file when running HydroDyn standalone, or by the FAST program when running a coupled simulation. See Section 4.2.8.3.3 for summary file details.
For this version, OutAll must be set to FALSE. In future versions, setting OutAll = TRUE will cause HydroDyn to autogenerate outputs for every joint and member in the input file.
If OutSwtch is set to 1, outputs are sent to a file with the name
OutRootname.HD.out
. If OutSwtch is set to 2, outputs are
sent to the calling program (FAST) for writing. If OutSwtch is set
to 3, both file outputs occur. In standalone mode, setting OutSwitch
to 2 results in no output file being produced.
The OutFmt and OutSFmt parameters control the formatting for the output data and the channel headers, respectively. HydroDyn currently does not check the validity of these format strings. They need to be valid Fortran format strings. Since the OutSFmt is used for the column header and OutFmt is for the channel data, in order for the headers and channel data to align properly, the width specification should match. For example,
"ES11.4" OutFmt
"A11" OutSFmt
4.2.8.2.3.18. Output Channels
This section controls output quantities generated by HydroDyn. Enter one or more lines containing quoted strings that in turn contain one or more output parameter names. Separate output parameter names by any combination of commas, semicolons, spaces, and/or tabs. If you prefix a parameter name with a minus sign, ““, underscore, “_”, or the characters “m” or “M”, HydroDyn will multiply the value for that channel by –1 before writing the data. The parameters are not necessarily written in the order they are listed in the input file. HydroDyn allows you to use multiple lines so that you can break your list into meaningful groups and so the lines can be shorter. You may enter comments after the closing quote on any of the lines. Entering a line with the string “END” at the beginning of the line or at the beginning of a quoted string found at the beginning of the line will cause HydroDyn to quit scanning for more lines of channel names. Member and jointrelated quantities are generated for the requested Member Output List and Joint Output List. If HydroDyn encounters an unknown/invalid channel name, it warns the users but will remove the suspect channel from the output file. Please refer to Appendix C for a complete list of possible output parameters.