Hi,
It seems that
resets rRefDub to the original local point position stored in
m%PointList(m%CpldPointIs(l,iTurb))%r
even though the transformation from local to global coordinates is applied immediately beforehand to
m%PointList(m%CpldPointIs(l,iTurb))%r
in the following section:
|
DO l = 1,p%nCpldPoints(iTurb) ! keeping this one simple for now, positioning at whatever is specified by glue code <<< |
|
J = J + 1 |
|
|
|
! set reference position as per input file <<< what about turbine positions in array? |
|
rRef(1:3) = m%PointList(m%CpldPointIs(l,iTurb))%r |
|
|
|
! set absolute initial positions in MoorDyn |
|
CALL MeshPositionNode(u%CoupledKinematics(iTurb), J, rRef(1:3), ErrStat2, ErrMsg2) |
|
! calculate initial point relative position, adjusted due to initial platform rotations and translations <<< could convert to array math |
|
u%CoupledKinematics(iTurb)%TranslationDisp(1,J) = InitInp%PtfmInit(1,iTurb) + OrMat(1,1)*rRef(1) + OrMat(2,1)*rRef(2) + OrMat(3,1)*rRef(3) - rRef(1) |
|
u%CoupledKinematics(iTurb)%TranslationDisp(2,J) = InitInp%PtfmInit(2,iTurb) + OrMat(1,2)*rRef(1) + OrMat(2,2)*rRef(2) + OrMat(3,2)*rRef(3) - rRef(2) |
|
u%CoupledKinematics(iTurb)%TranslationDisp(3,J) = InitInp%PtfmInit(3,iTurb) + OrMat(1,3)*rRef(1) + OrMat(2,3)*rRef(2) + OrMat(3,3)*rRef(3) - rRef(3) |
|
m%PointList(m%CpldPointIs(l,iTurb))%r = u%CoupledKinematics(iTurb)%Position(:,J) + u%CoupledKinematics(iTurb)%TranslationDisp(:,J) + p%TurbineRefPos(:,iTurb) |
|
CALL MeshConstructElement(u%CoupledKinematics(iTurb), ELEMENT_POINT, ErrStat2, ErrMsg2, J) |
|
|
|
! lastly, do this to set the attached line endpoint positions: |
|
rRefDub = rRef(1:3) |
|
CALL Point_SetKinematics(m%PointList(m%CpldPointIs(l,iTurb)), rRefDub, m%zeros6(1:3), m%zeros6(1:3), 0.0_DbKi, m) |
|
END DO |
I obtained NaNs during mooring-line initialization when using the attached MoorDyn input file. After changing line 2506 from
to
rRefDub = m%PointList(m%CpldPointIs(l,iTurb))%r
the initialization completed successfully.
I am not sure whether this behavior is intentional or if it may indicate a bug.
ESOMOOR-Dual-Shared-Mooring.txt
Best regards
Hi,
It seems that
resets
rRefDubto the original local point position stored ineven though the transformation from local to global coordinates is applied immediately beforehand to
in the following section:
openfast/modules/moordyn/src/MoorDyn.f90
Lines 2490 to 2508 in 2895884
I obtained NaNs during mooring-line initialization when using the attached MoorDyn input file. After changing line 2506 from
to
rRefDub = m%PointList(m%CpldPointIs(l,iTurb))%rthe initialization completed successfully.
I am not sure whether this behavior is intentional or if it may indicate a bug.
ESOMOOR-Dual-Shared-Mooring.txt
Best regards