From e69fda3422c0eabbe281af347cafb6beff438605 Mon Sep 17 00:00:00 2001 From: andrew-platt Date: Tue, 23 Jul 2024 11:08:04 -0600 Subject: [PATCH] MD: remove extra internal read for linear damping on rods --- modules/moordyn/src/MoorDyn.f90 | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/modules/moordyn/src/MoorDyn.f90 b/modules/moordyn/src/MoorDyn.f90 index c5e331d55..fffcd3d13 100644 --- a/modules/moordyn/src/MoorDyn.f90 +++ b/modules/moordyn/src/MoorDyn.f90 @@ -127,7 +127,6 @@ SUBROUTINE MD_Init(InitInp, u, p, x, xd, z, other, y, m, DTcoupling, InitOut, Er CHARACTER(40) :: TempString5 ! CHARACTER(40) :: TempStrings(6) ! Array of 6 strings used when parsing comma-separated items ! CHARACTER(1024) :: FileName ! - CHARACTER(20) :: TempString6 ! Linear damping (transverse direction) for rod element REAL(DbKi) :: depth ! local water depth interpolated from bathymetry grid [m] @@ -730,28 +729,22 @@ SUBROUTINE MD_Init(InitInp, u, p, x, xd, z, other, y, m, DTcoupling, InitOut, Er IF (ErrStat2 == 0) THEN READ(Line,*,IOSTAT=ErrStat2) m%RodTypeList(l)%name, m%RodTypeList(l)%d, m%RodTypeList(l)%w, & m%RodTypeList(l)%Cdn, m%RodTypeList(l)%Can, m%RodTypeList(l)%CdEnd, m%RodTypeList(l)%CaEnd,& - tempString6 ! Linear damping coefficient - read(tempString6,*) tempString6 ! remove trailing comments, if any + m%RodTypeList(l)%LinDamp ! Linear damping coefficient - if (ErrStat2 .ne. 0) then + if (ErrStat2 == 0) then + m%RodTypeList(l)%isLinDamp = .TRUE. ! linear damping was read + else ! Linear damping not present, so reread the line without it READ(Line,*,IOSTAT=ErrStat2) m%RodTypeList(l)%name, m%RodTypeList(l)%d, m%RodTypeList(l)%w, & m%RodTypeList(l)%Cdn, m%RodTypeList(l)%Can, m%RodTypeList(l)%CdEnd, m%RodTypeList(l)%CaEnd - tempString6 = '' + m%RodTypeList(l)%LinDamp = 0.0 + m%RodTypeList(l)%isLinDamp = .FALSE. end if m%RodTypeList(l)%Cdt = 0.0_DbKi ! not used m%RodTypeList(l)%Cat = 0.0_DbKi ! not used - if (len(trim(tempString6)) .gt. 0) then - read(tempString6, *) m%RodTypeList(l)%LinDamp - m%RodTypeList(l)%isLinDamp = .TRUE. - else - m%RodTypeList(l)%LinDamp = 0.0 - m%RodTypeList(l)%isLinDamp = .FALSE. - end if - END IF ! specify IdNum of rod type for error checking