Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 55 additions & 1 deletion .github/workflows/automated-dev-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,61 @@ jobs:
run: |
ctest -VV \
-L openfast -L offshore \
-LE "cpp|linear|python|fastlib|multirotor"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF-offshore
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline

rtest-OF-multirotor:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run 5MW tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV \
-L openfast -L multirotor \
-LE "cpp|linear|python|fastlib"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
Expand All @@ -484,7 +539,6 @@ jobs:
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline


rtest-OF-linearization:
runs-on: ubuntu-24.04
needs: build-all-release
Expand Down
3 changes: 3 additions & 0 deletions modules/aerodyn/src/AeroDyn.f90
Original file line number Diff line number Diff line change
Expand Up @@ -2439,6 +2439,9 @@ subroutine RotCavtCrit(u, p, m, errStat, errMsg)
errStat = ErrID_None
errMsg = ''

! Skip the cavitation check if no wake mod
if ( p%Wake_Mod == WakeMod_none ) return

do iR = 1,size(p%rotors)
if ( p%rotors(iR)%CavitCheck ) then ! Calculate the cavitation number for the airfoil at the node in quesiton, and compare to the critical cavitation number based on the vapour pressure and submerged depth
do j = 1,p%rotors(iR)%numBlades ! Loop through all blades
Expand Down
7 changes: 5 additions & 2 deletions modules/aerodyn/src/AeroDyn_Inflow_C_Binding_Types.f90
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ MODULE AeroDyn_Inflow_C_Binding_Types
!---------------------------------------------------------------------------------------------------------------------------------
USE NWTC_Library
IMPLICIT NONE
INTEGER(IntKi), PUBLIC, PARAMETER :: NumPtsDiskAvg = 144 ! Number of points for disk average velocity calculations [-]
INTEGER(IntKi), PUBLIC, PARAMETER :: NumPtsDiskAvg = 144 ! Number of points for disk average velocity calculations [-]
! ========= DiskAvgVelData =======
TYPE, PUBLIC :: DiskAvgVelData
REAL(ReKi) , DIMENSION(1:3,1:NumPtsDiskAvg) :: DiskWindPosRel = 0.0_ReKi !< Position points for disk average sampling, relative to hub [-]
Expand Down Expand Up @@ -70,7 +70,8 @@ MODULE AeroDyn_Inflow_C_Binding_Types
TYPE(MeshType) , DIMENSION(:), ALLOCATABLE :: BldMesh !< Mesh for motions/loads of external nodes at each blade (sized by number of blades on the rotor) [-]
END TYPE MeshByBladeType
! =======================
CONTAINS

contains
Comment thread
deslaughter marked this conversation as resolved.

subroutine ADI_cbind_CopyDiskAvgVelData(SrcDiskAvgVelDataData, DstDiskAvgVelDataData, CtrlCode, ErrStat, ErrMsg)
type(DiskAvgVelData), intent(in) :: SrcDiskAvgVelDataData
Expand Down Expand Up @@ -576,5 +577,7 @@ subroutine ADI_cbind_UnPackMeshByBladeType(RF, OutData)
end do
end if
end subroutine

END MODULE AeroDyn_Inflow_C_Binding_Types

!ENDOFREGISTRYGENERATEDFILE
2 changes: 0 additions & 2 deletions modules/openfast-library/src/FAST_Subs.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1992,8 +1992,6 @@ SUBROUTINE ValidateInputData(p, m_FAST, ErrStat, ErrMsg)

IF (p%MHK /= MHK_None .and. p%MHK /= MHK_FixedBottom .and. p%MHK /= MHK_Floating) CALL SetErrStat( ErrID_Fatal, 'MHK switch is invalid. Set MHK to 0, 1, or 2 in the FAST input file.', ErrStat, ErrMsg, RoutineName )

IF (p%MHK /= MHK_None .and. p%Linearize) CALL SetErrStat( ErrID_Warn, 'Linearization is not fully implemented for an MHK turbine (buoyancy not included in perturbations, and added mass not included anywhere).', ErrStat, ErrMsg, RoutineName )

IF (p%MHK /= MHK_None .and. p%CompSeaSt == Module_SeaSt .and. p%CompInflow /= Module_IfW) CALL SetErrStat( ErrID_Fatal, 'InflowWind must be activated for MHK turbines when SeaState is used.', ErrStat, ErrMsg, RoutineName )

IF (p%Gravity < 0.0_ReKi) CALL SetErrStat( ErrID_Fatal, 'Gravity must not be negative.', ErrStat, ErrMsg, RoutineName )
Expand Down
2 changes: 1 addition & 1 deletion modules/seastate/src/SeaState.f90
Original file line number Diff line number Diff line change
Expand Up @@ -712,7 +712,7 @@ SUBROUTINE SeaSt_CalcOutput( Time, u, p, x, xd, z, OtherState, y, m, ErrStat, Er
REAL(SiKi) :: WaveAcc(3,p%NWaveKin)
REAL(SiKi) :: WaveAccMCF(3,p%NWaveKin)
REAL(SiKi) :: WaveDynP(p%NWaveKin)
REAL(ReKi) :: AllOuts(MaxOutPts)
REAL(ReKi) :: AllOuts(0:MaxOutPts)
real(ReKi) :: positionXYZ(3), positionXY(2)

REAL(SiKi) :: zeta
Expand Down
19 changes: 7 additions & 12 deletions modules/seastate/src/SeaState_Output.f90
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ subroutine SeaStOut_MapOutputs( p, WaveElev, WaveElev1, WaveElev2, WaveVel, Wav
REAL(SiKi), intent( in ) :: WaveAcc(:,:) ! Instantaneous first order elevation of incident waves at each of the NWaveElev points where the incident wave elevations can be output (meters)
REAL(SiKi), intent( in ) :: WaveAccMCF(:,:) ! Instantaneous first order elevation of incident waves at each of the NWaveElev points where the incident wave elevations can be output (meters)
REAL(SiKi), intent( in ) :: WaveDynP(:) ! Instantaneous second order elevation of incident waves at each of the NWaveElev points where the incident wave elevations can be output (meters)
REAL(ReKi), intent( out ) :: AllOuts(MaxOutpts)
REAL(ReKi), intent( out ) :: AllOuts(0:MaxOutpts)
INTEGER(IntKi), intent( out ) :: ErrStat ! Error status of the operation
CHARACTER(*), intent( out ) :: ErrMsg ! Error message if ErrStat /= ErrID_None

Expand Down Expand Up @@ -916,21 +916,16 @@ SUBROUTINE SetOutParam(OutList, p, ErrStat, ErrMsg )

Indx = FindValidChannelIndx(OutList(I), ValidParamAry, p%OutParam(I)%SignM)

IF ( Indx > 0 ) THEN ! we found the channel name
IF ( InvalidOutput( ParamIndxAry(Indx) ) ) THEN ! but, it isn't valid for these settings
p%OutParam(I)%Indx = 0 ! pick any valid channel (I just picked "Time=0" here because it's universal)
p%OutParam(I)%Units = "INVALID"
p%OutParam(I)%SignM = 0
ELSE
p%OutParam(I)%Indx = ParamIndxAry(Indx)
p%OutParam(I)%Units = ParamUnitsAry(Indx) ! it's a valid output
END IF
ELSE ! this channel isn't valid
! If channel has no index or is invalid
IF ( Indx <= 0 .or. InvalidOutput( ParamIndxAry(Indx) ) ) THEN
p%OutParam(I)%Indx = 0 ! pick any valid channel (I just picked "Time=0" here because it's universal)
p%OutParam(I)%Units = "INVALID"
p%OutParam(I)%SignM = 0 ! multiply all results by zero

CALL SetErrStat(ErrID_Warn, TRIM(p%OutParam(I)%Name)//" is not an available output channel.",ErrStat,ErrMsg,RoutineName)
ELSE
! Channel is invalid
p%OutParam(I)%Indx = ParamIndxAry(Indx)
p%OutParam(I)%Units = ParamUnitsAry(Indx) ! it's a valid output
END IF

END DO
Expand Down
5 changes: 3 additions & 2 deletions reg_tests/CTestList.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ of_regression("5MW_ITIBarge_DLL_WTurb_WavesIrr" "openfast;elastodyn;aerod
of_regression("5MW_TLP_DLL_WTurb_WavesIrr_WavesMulti" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;map;offshore")
of_regression("5MW_OC3Spar_DLL_WTurb_WavesIrr" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;map;offshore")
of_regression("5MW_OC4Semi_WSt_WavesWN" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;moordyn;offshore")
# of_regression("5MW_OC4Semi_WSt_WavesWN_MR" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;moordyn;multirotor;offshore")
of_regression("5MW_MRSemi_DLL_WSt_WavesIrr" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;moordyn;offshore;subdyn;olaf;multirotor")
of_regression("5MW_Land_BD_DLL_WTurb" "openfast;beamdyn;aerodyn;servodyn")
of_regression("5MW_Land_BD_DLL_WTurb_StC" "openfast;beamdyn;aerodyn;servodyn;stc")
of_regression("5MW_Land_BD_Init" "openfast;beamdyn;aerodyn;servodyn")
Expand All @@ -349,6 +349,7 @@ of_regression("StC_test_OC4Semi" "openfast;servodyn;hydrod
of_regression("StC_test_OC4Semi_blade2" "openfast;servodyn;hydrodyn;moordyn;offshore;stc")
of_regression("MHK_RM1_Fixed" "openfast;elastodyn;aerodyn;mhk;offshore")
of_regression("MHK_RM1_Floating" "openfast;elastodyn;aerodyn;hydrodyn;moordyn;mhk;offshore")
of_regression("MHK_RM1_Floating_MR" "openfast;elastodyn;aerodyn;servodyn;hydrodyn;moordyn;multirotor;offshore")
of_regression("MHK_RM1_Floating_wNacDrag" "openfast;elastodyn;aerodyn;hydrodyn;moordyn;mhk;offshore")
of_regression("Tailfin_FreeYaw1DOF_PolarBased" "openfast;elastodyn;aerodyn")
of_regression("Tailfin_FreeYaw1DOF_Unsteady" "openfast;elastodyn;aerodyn")
Expand Down Expand Up @@ -401,7 +402,7 @@ of_regression_linear("StC_test_OC4Semi_Linear_Tow" "" "openfas
of_regression_linear("WP_Stationary_Linear" "" "openfast;linear;elastodyn")
of_regression_linear("5MW_OC3Spar_Linear" "" "openfast;linear;map;hydrodyn")
of_regression_linear("5MW_OC3Mnpl_Linear" "" "openfast;linear;hydrodyn;servodyn;moordyn")
# of_regression_linear("MHK_RM1_Floating_Linear" "-highpass=0.05" "openfast;linear;elastodyn;aerodyn;hydrodyn;moordyn;mhk")
of_regression_linear("MHK_RM1_Floating_MR_Linear" "-highpass=0.05" "openfast;linear;elastodyn;aerodyn;servodyn;hydrodyn;moordyn;multirotor;offshore;mhk")

# FAST Farm regression tests
if(BUILD_FASTFARM)
Expand Down
12 changes: 6 additions & 6 deletions reg_tests/executeOpenfastLinearRegressionCase.py
Original file line number Diff line number Diff line change
Expand Up @@ -442,12 +442,12 @@ def freqFileClose(file_freq_ref,file_freq_new):
exitWithError('See errors below: \n'+'\n'.join(Errors))

# If able to import openfast_toolbox, generate input file for visualization
try:
import openfast_toolbox.linearization as lin
CDDOP, MBCOP = lin.getCampbellDataOP(caseInputFile, writeModes=True, verbose=True)
vizfile = lin.writeVizFile(caseInputFile, verbose=True, VTKLinModes=1, VTKLinScale=10, VTKModes="1", VTKLinTim=2)
except ImportError as e:
pass
# try:
# import openfast_toolbox.linearization as lin
# CDDOP, MBCOP = lin.getCampbellDataOP(caseInputFile, writeModes=True, verbose=True)
# vizfile = lin.writeVizFile(caseInputFile, verbose=True, VTKLinModes=1, VTKLinScale=10, VTKModes="1", VTKLinTim=2)
# except ImportError as e:
# pass

# passing case
sys.exit(0)
Expand Down
2 changes: 1 addition & 1 deletion reg_tests/r-test
Submodule r-test updated 97 files
+13 −13 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_MRSemi_DLL_WSt_WavesIrr.fst
+ glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_MRSemi_DLL_WSt_WavesIrr.outb
+3 −3 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_AeroDyn.dat
+6 −6 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_ElastoDyn_R1.dat
+6 −6 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_ElastoDyn_R2.dat
+0 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_ElastoDyn_Tower.dat
+0 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_ServoDyn_R1.dat
+0 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/5MW_OC4Semi_ServoDyn_R2.dat
+361,800 −278,832 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/HydroData/MRSemi.1
+444,000 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/HydroData/MRSemi.3
+369 −45 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/HydroData/MRSemi.hst
+343 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/MRSemi_HydroDyn.dat
+72 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/MRSemi_MoorDyn.dat
+249 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/MRSemi_SubDyn.dat
+46 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/OLAF.dat
+73 −0 glue-codes/openfast/5MW_MRSemi_DLL_WSt_WavesIrr/SeaState.dat
+0 −98 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/5MW_OC4Semi_BeamDyn.dat
+0 −756 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/5MW_OC4Semi_BeamDyn_Blade.dat
+0 −282 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/5MW_OC4Semi_HydroDyn.dat
+0 −39 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/5MW_OC4Semi_MoorDyn.dat
+0 −289 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/5MW_OC4Semi_SubDyn_MR.dat
+0 −5 glue-codes/openfast/5MW_OC4Semi_WSt_WavesWN_MR/README.md
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0240.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0240_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0247.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0247_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0259.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0259_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0276.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0276_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0329.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0329_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0444.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0444_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0629.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0629_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0864.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_0864_coords.txt
+108 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_1000.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR/Airfoils/NACA6_1000_coords.txt
+38 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_AeroDyn_Blade.dat
+107 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_ElastoDyn_Blade.dat
+4,220 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating.1
+10,080 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating.3
+36 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating.hst
+165 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_AeroDyn.dat
+48 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_AeroDyn_OLAF.dat
+155 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_ElastoDyn_R1.dat
+155 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_ElastoDyn_R2.dat
+46 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_ElastoDyn_Tower.dat
+189 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_HydroDyn.dat
+68 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_InflowWind.dat
+84 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_MR.fst
+ glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_MR.outb
+54 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_MoorDyn.dat
+25 −25 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_SeaState.dat
+103 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_SubDyn.dat
+ glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_TurbSim.bts
+74 −0 glue-codes/openfast/MHK_RM1_Floating_MR/MHK_RM1_Floating_TurbSim.dat
+18 −0 glue-codes/openfast/MHK_RM1_Floating_MR/README.md
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0240.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0240_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0247.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0247_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0259.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0259_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0276.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0276_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0329.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0329_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0444.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0444_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0629.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0629_coords.txt
+560 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0864.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_0864_coords.txt
+108 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_1000.dat
+47 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/Airfoils/NACA6_1000_coords.txt
+38 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_AeroDyn_Blade.dat
+107 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_ElastoDyn_Blade.dat
+4,220 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating.1
+10,080 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating.3
+36 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating.hst
+165 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_AeroDyn.dat
+48 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_AeroDyn_OLAF.dat
+155 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_ElastoDyn_R1.dat
+155 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_ElastoDyn_R2.dat
+46 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_ElastoDyn_Tower.dat
+189 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_HydroDyn.dat
+68 −71 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_InflowWind.dat
+3,066 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_MR_Linear.1.lin
+84 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_MR_Linear.fst
+ glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_MR_Linear.outb
+54 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_MoorDyn.dat
+73 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_SeaState.dat
+103 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/MHK_RM1_Floating_SubDyn.dat
+17 −0 glue-codes/openfast/MHK_RM1_Floating_MR_Linear/README.md