diff --git a/docs/source/user/hydrodyn/appendix.rst b/docs/source/user/hydrodyn/appendix.rst index 24a2e1b35..b58c4717b 100644 --- a/docs/source/user/hydrodyn/appendix.rst +++ b/docs/source/user/hydrodyn/appendix.rst @@ -12,9 +12,13 @@ structure:: False Echo - Echo the input file data (flag) ---------------------- FLOATING PLATFORM --------------------------------------- [unused with WaveMod=6] 1 PotMod - Potential-flow model {0: none=no potential flow, 1: frequency-to-time-domain transforms based on WAMIT output, 2: fluid-impulse theory (FIT)} (switch) - 1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE] + 1 ExctnMod - Wave-excitation model {0: no wave-excitation calculation, 1: DFT, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ssexctn INPUT FILE; if PtfmYMod=1, need ExctnMod=0 or 1] 0 ExctnDisp - Method of computing Wave Excitation {0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch) 10 ExctnCutOff - Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] [used only when PotMod=1, ExctnMod>0, and ExctnDisp=2]) [only used when PotMod=1 and ExctnMod>0 and SeaState's WaveMod>0]} (switch) + 0 PtfmYMod - Model for large platform yaw offset {0: Static reference yaw offset based on PtfmRefY, 1: dynamic reference yaw offset based on low-pass filtering the PRP yaw motion with cutoff frequency PtfmYCutOff} (switch) + 0 PtfmRefY - Constant (if PtfmYMod=0) or initial (if PtfmYMod=1) platform reference yaw offset (deg) + 0.01 PtfmYCutOff - Cutoff frequency for the low-pass filtering of PRP yaw motion when PtfmYMod=1 [>0.0; unused when PtfmYMod=0] (Hz) + 36 NExctnHdg - Number of evenly distributed platform yaw/heading angles over the range of [-180, 180) deg for which the wave excitation shall be computed [>=2; unused when PtfmYMod=0] (-) 1 RdtnMod - Radiation memory-effect model {0: no memory-effect calculation, 1: convolution, 2: state-space} (switch) [only used when PotMod=1; STATE-SPACE REQUIRES *.ss INPUT FILE] 60 RdtnTMax - Analysis time for wave radiation kernel calculations (sec) [only used when PotMod=1 and RdtnMod>0; determines RdtnDOmega=Pi/RdtnTMax in the cosine transform; MAKE SURE THIS IS LONG ENOUGH FOR THE RADIATION IMPULSE RESPONSE FUNCTIONS TO DECAY TO NEAR-ZERO FOR THE GIVEN PLATFORM!] 0.0125 RdtnDT - Time step for wave radiation kernel calculations (sec) [only used when PotMod=1 and ExctnMod>0 or RdtnMod>0; DT<=RdtnDT<=0.1 recommended; determines RdtnOmegaMax=Pi/RdtnDT in the cosine transform] @@ -32,8 +36,8 @@ structure:: ---------------------- 2ND-ORDER FLOATING PLATFORM FORCES ---------------------- [unused with WaveMod=0 or 6, or PotMod=0 or 2] 0 MnDrift - Mean-drift 2nd-order forces computed {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, MnDrift /=8] 0 NewmanApp - Mean- and slow-drift 2nd-order forces computed with Newman's approximation {0: None; [7, 8, 9, 10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If NBody>1, NewmanApp/=8. Used only when WaveDirMod=0] - 0 DiffQTF - Full difference-frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero] - 0 SumQTF - Full summation -frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} + 0 DiffQTF - Full difference-frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [Only one of MnDrift, NewmanApp, or DiffQTF can be non-zero. If PtfmYMod=1, need DiffQTF=0] + 0 SumQTF - Full summation -frequency 2nd-order forces computed with full QTF {0: None; [10, 11, or 12]: WAMIT file to use} [If PtfmYMod=1, need SumQTF=0] ---------------------- PLATFORM ADDITIONAL STIFFNESS AND DAMPING -------------- [unused with PotMod=0 or 2] 0 AddF0 - Additional preload (N, N-m) [If NBodyMod=1, one size 6*NBody x 1 vector; if NBodyMod>1, NBody size 6 x 1 vectors] 0 @@ -60,7 +64,7 @@ structure:: 0 0 0 0 0 0 0 0 0 0 0 0 ---------------------- STRIP THEORY OPTIONS -------------------------------------- - 0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch) + 0 WaveDisp - Method of computing Wave Kinematics {0: use undisplaced position, 1: use displaced position) } (switch) [If PtfmYMod=1, need WaveDisp=1] 0 AMMod - Method of computing distributed added-mass force. (0: Only and always on nodes below SWL at the undisplaced position. 2: Up to the instantaneous free surface) [overwrite to 0 when WaveMod = 0 or 6 or when WaveStMod = 0 in SeaState] ---------------------- AXIAL COEFFICIENTS -------------------------------------- 2 NAxCoef - Number of axial coefficients (-) diff --git a/docs/source/user/hydrodyn/input_files.rst b/docs/source/user/hydrodyn/input_files.rst index df6d5fdc2..49c0593d6 100644 --- a/docs/source/user/hydrodyn/input_files.rst +++ b/docs/source/user/hydrodyn/input_files.rst @@ -58,6 +58,20 @@ computed and printed to the calling terminal. **NSteps** specifies the number of simulation time steps, and **TimeInterval** specifies the time between steps. +Motion of the structure can be specified in different ways according to +**PRPInputsMod**. Irrespective of the choice of **PRPInputsMod** (which +are explained below), the translational displacement, velocity, and +acceleration are always specified in the global inertial-frame coordinate +system. With OpenFAST now updated to support potentially large platform +rotation, the specification of rotation differs from previous versions. +HydroDyn now describes body rotation using Tait-Bryan roll, pitch, and +yaw angles with the convention of intrinsic (about body-fixed axis) yaw +rotation first, followed by pitch rotation, and roll last. Furthermore, +HydroDyn now expects the first and second time derivatives of the +Tait-Bryan roll, pitch, and yaw angles in place of angular velocity and +acceleration. The standalone HydroDyn driver will convert these inputs +to angular velocity and acceleration internally. + Setting **PRPInputsMod** = 0 forces all platform reference point (PRP) input motions to zero for all time. If you set **PRPInputsMod** = 1, then you must set the steady-state inputs in the PRP STEADY STATE @@ -67,25 +81,24 @@ time-series input file whose name is specified via the 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 -:numref:`hd-prp_input_table`. All motions are specified in the global -inertial-frame coordinate system. +:numref:`hd-prp_input_table`. .. _hd-prp_input_table: .. table:: PRP Inputs Time-Series Data File Contents (**PRPInputsMod** = 2) :widths: auto - ============= ================================================================================ ====================================== - Column Number Input Units - ============= ================================================================================ ====================================== - 1 Time step value .. math:: s - 2-4 Translational displacements along *X*, *Y*, and *Z* .. math:: m - 5-7 Rotational displacements about *X*, *Y*, and *Z* (small angle assumptions apply) .. math:: \text{radians} - 8-10 Translational velocities along *X*, *Y*, and *Z* .. math:: \frac{m}{s} - 11-13 Rotational velocities about *X*, *Y*, and *Z* .. math:: \frac{\text{radians}}{s} - 14-16 Translational accelerations along *X*, *Y*, and *Z* .. math:: \frac{m}{s^{2}} - 17-19 Rotational accelerations about *X*, *Y*, and *Z* .. math:: \frac{\text{radians}}{s^{2}} - ============= ================================================================================ ====================================== + ============= ====================================================================== ====================================== + Column Number Input Units + ============= ====================================================================== ====================================== + 1 Time step value .. math:: s + 2-4 Translational displacements along *X*, *Y*, and *Z* .. math:: m + 5-7 Tait-Bryan roll, pitch, and yaw angles .. math:: \text{radians} + 8-10 Translational velocities along *X*, *Y*, and *Z* .. math:: \frac{m}{s} + 11-13 First time derivatives of the Tait-Bryan roll, pitch, and yaw angles .. math:: \frac{\text{radians}}{s} + 14-16 Translational accelerations along *X*, *Y*, and *Z* .. math:: \frac{m}{s^{2}} + 17-19 Second time derivatives of the Tait-Bryan roll, pitch, and yaw angles .. math:: \frac{\text{radians}}{s^{2}} + ============= ====================================================================== ====================================== With **PRPInputsMod** = 1 or 2, any potential-flow bodies and strip-theory members defined in the primary HydroDyn input file will follow the prescribed @@ -110,18 +123,18 @@ with respect to time. .. table:: PRP Inputs Time-Series Data File Contents (**PRPInputsMod** < 0) :widths: auto - ============= ================================================================================================================ ======================== - Column Number Input Units - ============= ================================================================================================================ ======================== - 1 Time step value .. math:: s - 2-4 Translational displacements of the PRP along *X*, *Y*, and *Z* .. math:: m - 5-7 Rotational displacements of the PRP about *X*, *Y*, and *Z* (small angle assumptions apply) .. math:: \text{radians} - 8-10 Translational displacements of the 1st potential-flow body along *X*, *Y*, and *Z* .. math:: m - 11-13 Rotational displacements of the 1st potential-flow body about *X*, *Y*, and *Z* (small angle assumptions apply) .. math:: \text{radians} - 14-16 Translational displacements of the 2nd potential-flow body along *X*, *Y*, and *Z* .. math:: m - 17-19 Rotational displacements of the 2nd potential-flow body about *X*, *Y*, and *Z* (small angle assumptions apply) .. math:: \text{radians} - ... ... ... - ============= ================================================================================================================ ======================== + ============= =================================================================================== ======================== + Column Number Input Units + ============= =================================================================================== ======================== + 1 Time step value .. math:: s + 2-4 Translational displacements of the PRP along *X*, *Y*, and *Z* .. math:: m + 5-7 Tait-Bryan roll, pitch, and yaw angles of the PRP .. math:: \text{radians} + 8-10 Translational displacements of the 1st potential-flow body along *X*, *Y*, and *Z* .. math:: m + 11-13 Tait-Bryan roll, pitch, and yaw angles of the 1st potential-flow body .. math:: \text{radians} + 14-16 Translational displacements of the 2nd potential-flow body along *X*, *Y*, and *Z* .. math:: m + 17-19 Tait-Bryan roll, pitch, and yaw angles of the 2nd potential-flow body .. math:: \text{radians} + ... ... ... + ============= =================================================================================== ======================== .. _hd-primary-input: @@ -200,6 +213,83 @@ motion to prevent double counting the contributions from first-order structural motion already included in the second-order potential-flow wave excitation. +HydroDyn now supports large but slow (well below wave frequencies) +transient platform yaw motion with both strip-theory only and hybrid +potential-flow models. To enable this capability, the inputs +**PtfmYMod**, **PtfmRefY**, **PtfmYCutoff**, and **NExctnHdg** must +be set appropriately. Note that HydroDyn still requires the platform +roll and pitch angles to be small, i.e., within +/-15 deg. + +To conform with the first- and second-order potential-flow theory, +which limits the structure to small displacement about a reference +mean position, a constant or slowly varying reference platform yaw +orientation must be established. + +Setting **PtfmYMod** = 0 lets HydroDyn use a constant reference yaw +angle given by **PtfmRefY** in degrees. In this case, the platform +yaw rotation during the simulation, as given by the **PRPYaw** +output channel, must stay within +/-15 deg of **PtfmRefY** specified +by the user. A severe warning will be displayed if this requirement +is not met at any point during the simulation, while still allowing +the simulation to continue if possible. With a hybrid potential-flow +model, the potential-flow wave excitation input file needs to cover +a suitable range of wave headings relative to the platform after a +yaw offset of **PtfmRefY** is applied. + +Alternatively, **PtfmYMod** = 1 lets HydroDyn update the reference +yaw position **PtfmRefY** dynamically based on the low-pass-filtered +platform yaw rotation, analogous to the modeling of slow-drift motion +with **ExctnDisp** = 2 above. In this case, the **PtfmRefY** input +allows the user to specify the initial reference yaw position at +**t** = 0. The cutoff frequency of the first-order low-pass filter +for platform yaw rotation can be set with **PtfmYCutoff** in Hz. +Ideally, **PtfmYCutoff** should be placed between the wave frequency +region and the characteristic frequency of any slow but large change +in platform heading to filter out as much wave-frequency platform +motion as possible while minimizing the phase shift in the low-frequency +heading change. Throughout the simulation, the instantaneous +platform yaw rotation should stay within +/-15 deg of the now +time-dependent **PtfmRefY**. A severe warning will be displayed if +this requirement is not met at any point during the simulation, while +still allowing the simulation to continue if possible. + +With **PtfmYMod** = 1, HydroDyn requires the first- and second-order +(mean- or slow-drift loads from Newman's approximation only) +potential-flow wave excitation input file(s) to cover the full range +of possible wave headings with the first (smallest) wave heading being +exactly -180 deg and the last (largest) wave heading being exactly ++180 deg (the duplicated wave headings of +/-180 deg are intentional). +HydroDyn will error out if this requirement is not met by the input files. +HydroDyn uses this information to precompute the wave excitation on +the platform for **NExctnHdg** evenly distributed platform yaw/heading +angles over the range of [-180,+180) deg. For instance, with +**NExctnHdg** = 36, HydroDyn will precomupte the wave excitation for 0, +10, 20, ..., 350 deg platform heading. The instantaneous wave excitation +applied on the platform during the time-domain simulation is interpolated +from this data based on the instantaneous **PtfmRefY**. **NExctnHdg** +should be set appropriately to ensure adequate angular resolution in +platform heading. However, a high **NExctnHdg** can increase memory use +by OpenFAST substantially. + +Additional constraints on HydroDyn inputs apply when **PtfmYMod** = 1. +The strip-theory hydrodynamic load must be evaluated using the wave +kinematics and dynamic pressure at the displaced structure position +by setting **WaveDisp** = 1. State-space wave excitation cannot be used. +**ExctnMod** must be either 0 (no wave excitation) or 1 (frequency-to-time +domain transform using inverse discrete Fourier transform). Lastly, +full difference- and sum-frequency QTFs are not supported, requiring +both **DiffQTF** and **SumQTF** to be set to 0. However, mean- or +slow-drift loads based on Newman's approximation can be included through +the **MnDrift** or **NewmanApp** inputs explained below. + +Note that the inputs **PtfmYMod** and **PtfmRefY** also affect the +strip-theory hydrodynamic load. This is because the orientation of +the strip-theory members is updated based on **PtfmRefY** instead +of the instantaneous platform yaw rotation. Behavior of previous +versions of HydroDyn can be approximately recovered by setting +**PtfmYMod** = 0 and **PtfmRefY** = 0 deg, in which case, the +inputs **PtfmYCutoff** and **NExctnHdg** are not used. + HydroDyn has two methods for calculating the radiation memory effect. Set **RdtnMod** to 1 for the convolution method, 2 for the linear state-space model, or 0 to disable the memory effect calculation. For diff --git a/modules/hydrodyn/src/HydroDyn.f90 b/modules/hydrodyn/src/HydroDyn.f90 index fc18cd2cf..eb668763b 100644 --- a/modules/hydrodyn/src/HydroDyn.f90 +++ b/modules/hydrodyn/src/HydroDyn.f90 @@ -1260,7 +1260,7 @@ SUBROUTINE HydroDyn_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, END IF IF ( (ABS( WrapToPi(PRPRotation(3)-PtfmRefY) ) > LrgAngle) .AND. FrstWarn_LrgY ) THEN ErrStat2 = ErrID_Severe - ErrMsg2 = 'Yaw angle at PRP relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff in ElastoDyn. Simulation continuing, but future warnings will be suppressed.' + ErrMsg2 = 'Yaw angle at PRP relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff. Simulation continuing, but future warnings will be suppressed.' call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) FrstWarn_LrgY = .FALSE. END IF diff --git a/modules/hydrodyn/src/HydroDyn_Input.f90 b/modules/hydrodyn/src/HydroDyn_Input.f90 index b7aff180f..96c4152a1 100644 --- a/modules/hydrodyn/src/HydroDyn_Input.f90 +++ b/modules/hydrodyn/src/HydroDyn_Input.f90 @@ -157,7 +157,7 @@ SUBROUTINE HydroDyn_ParseInput( InputFileName, OutRootName, FileInfo_In, InputFi call ParseVar( FileInfo_In, CurLine, 'PtfmYCutOff', InputFileData%PtfmYCutOff, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return - ! NExctnHdg - Number of PRP headings/yaw offset evenly distributed in the range of [-180, 180) deg to precompute [used only when PtfmYMod = 1 in the HD driver or ElastoDyn] + ! NExctnHdg - Number of PRP headings/yaw offset evenly distributed in the range of [-180, 180) deg to precompute [used only when PtfmYMod = 1] call ParseVar( FileInfo_In, CurLine, 'NExctnHdg', InputFileData%WAMIT%NExctnHdg, ErrStat2, ErrMsg2, UnEc ) if (Failed()) return; InputFileData%WAMIT2%NExctnHdg = InputFileData%WAMIT%NExctnHdg @@ -2226,11 +2226,11 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS CALL SetErrStat( ErrID_Fatal, 'PtfmYCutOff must be greater than 0 Hz.',ErrStat,ErrMsg,RoutineName) end if if ( InputFileData%Morison%WaveDisp == 0 .AND. InputFileData%Morison%NMembers > 0 ) then - call SetErrStat( ErrID_Fatal,'Dynamic reference yaw offset (PtfmYMod=1) in ElastoDyn or HydroDyn driver cannot be used with WaveDisp=0. Set WaveDisp=1.',ErrStat,ErrMsg,RoutineName) + call SetErrStat( ErrID_Fatal,'Dynamic reference yaw offset (PtfmYMod=1) cannot be used with WaveDisp=0. Set WaveDisp=1.',ErrStat,ErrMsg,RoutineName) return end if if ( InputFileData%PotMod > 0 .AND. InputFileData%WAMIT%ExctnMod == 2 ) then - call SetErrStat( ErrID_Fatal, 'Dynamic reference yaw offset (PtfmYMod=1) in ElastoDyn or HydroDyn driver cannot be used with State-space wave excitations. Set ExctnMod=0 or 1.', ErrStat, ErrMsg, RoutineName ) + call SetErrStat( ErrID_Fatal,'Dynamic reference yaw offset (PtfmYMod=1) cannot be used with state-space wave excitations. Set ExctnMod=0 or 1.', ErrStat, ErrMsg, RoutineName ) return end if if ( InputFileData%PotMod > 0 .AND. InputFileData%WAMIT%NExctnHdg < 2 ) then @@ -2238,7 +2238,7 @@ SUBROUTINE HydroDynInput_ProcessInitData( InitInp, Interval, InputFileData, ErrS return end if if ( InputFileData%WAMIT2%SumQTFF .OR. InputFileData%WAMIT2%DiffQTFF ) then - call SetErrStat( ErrID_Fatal, 'Dynamic reference yaw offset (PtfmYMod=1) in ElastoDyn or HydroDyn driver cannot be used with full sum-frequency or difference-frequency QTFs. Set SumQTF and DiffQTF to 0.', ErrStat, ErrMsg, RoutineName ) + call SetErrStat( ErrID_Fatal, 'Dynamic reference yaw offset (PtfmYMod=1) cannot be used with full sum-frequency or difference-frequency QTFs. Set SumQTF and DiffQTF to 0.', ErrStat, ErrMsg, RoutineName ) return end if END IF diff --git a/modules/hydrodyn/src/WAMIT.f90 b/modules/hydrodyn/src/WAMIT.f90 index 8b4043f4d..d04c5a823 100644 --- a/modules/hydrodyn/src/WAMIT.f90 +++ b/modules/hydrodyn/src/WAMIT.f90 @@ -1026,7 +1026,7 @@ SUBROUTINE WAMIT_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, ErrS END DO ELSE IF ( InitInp%PtfmYMod == 1 ) THEN IF ( (.not. EqualRealNos( HdroWvDir(1),REAL(-180,SiKi))) .OR. (.not. EqualRealNos( HdroWvDir(NInpWvDir),REAL(180,SiKi))) ) THEN - ErrMsg2 = 'With PtfmYMod=1 in ElastoDyn or HydroDyn driver, we need the lowest and highest wave headings to be exactly -180 deg and 180 deg, respectively, in "' & + ErrMsg2 = 'With PtfmYMod=1, we need the lowest and highest wave headings to be exactly -180 deg and 180 deg, respectively, in "' & //TRIM(InitInp%WAMITFile)//'.3" (inclusive).' CALL SetErrStat( ErrID_Fatal, ErrMsg2, ErrStat, ErrMsg, RoutineName) CALL Cleanup() @@ -1995,7 +1995,7 @@ SUBROUTINE WAMIT_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, Er END IF IF ( (ABS( WrapToPi(rotDisp(3)-u%PtfmRefY) ) > LrgAngle) .AND. FrstWarn_LrgY ) THEN ErrStat2 = ErrID_Severe - ErrMsg2 = 'Yaw angle of a potential-flow body relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff in ElastoDyn. Simulation continuing, but future warnings will be suppressed.' + ErrMsg2 = 'Yaw angle of a potential-flow body relative to the reference yaw position (PtfmRefY) violated the small angle assumption. The solution might be inaccurate. Consider using PtfmYMod=1 and adjust PtfmYCutoff. Simulation continuing, but future warnings will be suppressed.' call SetErrStat( ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName ) FrstWarn_LrgY = .FALSE. END IF diff --git a/modules/hydrodyn/src/WAMIT.txt b/modules/hydrodyn/src/WAMIT.txt index b23009b17..0d07cfe54 100644 --- a/modules/hydrodyn/src/WAMIT.txt +++ b/modules/hydrodyn/src/WAMIT.txt @@ -34,7 +34,7 @@ typedef ^ ^ INTEGER typedef ^ ^ INTEGER ExctnMod - - - "" - typedef ^ ^ INTEGER ExctnDisp - - - "0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0]" - typedef ^ ^ ReKi ExctnCutOff - - - "Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] " Hz -typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1 in the HydroDyn driver or in ElastoDyn]" +typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1]" typedef ^ ^ DbKi RdtnTMax - - - "" - typedef ^ ^ CHARACTER(1024) WAMITFile - - - "" - typedef ^ ^ Conv_Rdtn_InitInputType Conv_Rdtn - - - "" - @@ -110,7 +110,7 @@ typedef ^ ^ INTEGER typedef ^ ^ INTEGER ExctnMod - - - "" - typedef ^ ^ INTEGER ExctnDisp - - - "0: use undisplaced position, 1: use displaced position, 2: use low-pass filtered displaced position) [only used when PotMod=1 and ExctnMod>0]" - typedef ^ ^ ReKi ExctnCutOff - - - "Cutoff (corner) frequency of the low-pass time-filtered displaced position (Hz) [>0.0] " Hz -typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1 in the HydroDyn driver or in ElastoDyn]" +typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1]" typedef ^ ^ ReKi ExctnFiltConst - - - "Low-pass time filter constant computed from ExctnCutOff" typedef ^ ^ SiKi WaveExctn {:}{:}{:} - - "" - typedef ^ ^ SiKi WaveExctnGrid {:}{:}{:}{:}{:} - - "WaveExctnGrid dimensions are: 1st: wavetime, 2nd: X, 3rd: Y, 4th: PRP Yaw, 5th: Force component for eac WAMIT Body" - diff --git a/modules/hydrodyn/src/WAMIT2.txt b/modules/hydrodyn/src/WAMIT2.txt index c2b948f61..ad3ec0d6f 100644 --- a/modules/hydrodyn/src/WAMIT2.txt +++ b/modules/hydrodyn/src/WAMIT2.txt @@ -33,7 +33,7 @@ typedef ^ ^ ReKi Gravity typedef ^ ^ SeaSt_WaveFieldType *WaveField - - - "Pointer to wave field" typedef ^ ^ INTEGER PtfmYMod - - - "Large yaw model" - typedef ^ ^ ReKi PtfmRefY - - - "Initial reference yaw offset" (rad) -typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1 in the HydroDyn driver or in ElastoDyn]" +typedef ^ ^ IntKi NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1]" #[note: only one of MnDriff / NewmanApp / DiffQTF can be non-zero typedef ^ ^ INTEGER MnDrift - - - "Calculate the mean drift force {0: no mean drift; [7,8,9,10,11, or 12]: WAMIT file to use}" - @@ -74,7 +74,7 @@ typedef ^ ^ LOGICAL NewmanAppF typedef ^ ^ LOGICAL DiffQTFF - - - "Flag indicating the full difference QTF should be calculated" - typedef ^ ^ LOGICAL SumQTFF - - - "Flag indicating the full sum QTF should be calculated" - typedef ^ ^ INTEGER PtfmYMod - - - "Large yaw model" - -typedef ^ ^ INTEGER NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1 in the HydroDyn driver or in ElastoDyn]" +typedef ^ ^ INTEGER NExctnHdg - - - "Number of PRP headings/yaw offset evenly distributed over the region [-180, 180) deg to be used when precomputing the wave excitation [only used when PtfmYMod=1]" # ..... Outputs ................................................................................................................... # Define outputs that are contained on the mesh here: