Skip to content

MoorDyn Initiazation in FAST.Farm #3342

@zhilongwei

Description

@zhilongwei

Hi,

It seems that

rRefDub = rRef(1:3)

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

rRefDub = rRef(1:3)

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions