diff --git a/modules/moordyn/src/MoorDyn_Registry.txt b/modules/moordyn/src/MoorDyn_Registry.txt index e221bb7bfc..7965106d56 100644 --- a/modules/moordyn/src/MoorDyn_Registry.txt +++ b/modules/moordyn/src/MoorDyn_Registry.txt @@ -93,18 +93,18 @@ typedef ^ ^ DbKi CaEnd - # this is the Body type, which holds data for each body object typedef ^ MD_Body IntKi IdNum - - - "integer identifier of this Point" -typedef ^ ^ IntKi typeNum - - - "integer identifying the type. 0=fixed, 1=vessel, 2=point" +typedef ^ ^ IntKi typeNum - - - "integer identifying the type. 0=free, 1=fixed, -1=vessel" typedef ^ ^ IntKi AttachedC {30} - - "list of IdNums of points attached to this body" typedef ^ ^ IntKi AttachedR {30} - - "list of IdNums of rods attached to this body" typedef ^ ^ IntKi nAttachedC - 0 - "number of attached points" typedef ^ ^ IntKi nAttachedR - 0 - "number of attached rods" typedef ^ ^ DbKi rPointRel {3}{30} - - "relative position of point on body" typedef ^ ^ DbKi r6RodRel {6}{30} - - "relative position and orientation of rod on body" -typedef ^ ^ DbKi bodyM - - - "" -typedef ^ ^ DbKi bodyV - - - "" -typedef ^ ^ DbKi bodyI {3} - - "" -typedef ^ ^ DbKi bodyCdA {6} - - "product of drag force and frontal area of point point" "[m^2]" -typedef ^ ^ DbKi bodyCa {6} - - "added mass coefficient of point point" "-" +typedef ^ ^ DbKi bodyM - - - "body mass (seperate from attached objects)" "[kg]" +typedef ^ ^ DbKi bodyV - - - "body volume (for buoyancy calculation)" "[m^3]" +typedef ^ ^ DbKi bodyI {3} - - "body 3x3 inertia matrix diagonals" "[kg-m^2]" +typedef ^ ^ DbKi bodyCdA {6} - - "product of drag force and frontal area of body" "[m^2]" +typedef ^ ^ DbKi bodyCa {6} - - "added mass coefficient of body" "-" typedef ^ ^ DbKi time - - - "current time" "[s]" typedef ^ ^ DbKi r6 {6} - - "position" typedef ^ ^ DbKi v6 {6} - - "velocity" @@ -120,19 +120,19 @@ typedef ^ ^ DbKi OrMat {3}{3} typedef ^ ^ DbKi rCG {3} - - "vector in body frame from ref point to CG (before rods etc..)" # this is the Point type, which holds data for each point object -typedef ^ MD_Point IntKi IdNum - - - "integer identifier of this Point" -typedef ^ ^ CHARACTER(10) type - - - "type of Point: fix, vessel, point" -typedef ^ ^ IntKi typeNum - - - "integer identifying the type. 0=fixed, 1=vessel, 2=point" +typedef ^ MD_Point IntKi IdNum - - - "integer identifier of this point" +typedef ^ ^ CHARACTER(10) type - - - "type of point: fix, vessel, point" +typedef ^ ^ IntKi typeNum - - - "integer identifying the type. 1=fixed, -1=vessel, 0=free" typedef ^ ^ IntKi Attached {10} - - "list of IdNums of lines attached to this point node" typedef ^ ^ IntKi Top {10} - - "list of ints specifying whether each line is attached at 1 = top/fairlead(end B), 0 = bottom/anchor(end A)" typedef ^ ^ IntKi nAttached - 0 - "number of attached lines" -typedef ^ ^ DbKi pointM - - - "" -typedef ^ ^ DbKi pointV - - - "" +typedef ^ ^ DbKi pointM - - - "point mass" "[kg]" +typedef ^ ^ DbKi pointV - - - "point volume" "[m^3]" typedef ^ ^ DbKi pointFX - - - "" typedef ^ ^ DbKi pointFY - - - "" typedef ^ ^ DbKi pointFZ - - - "" -typedef ^ ^ DbKi pointCa - - - "added mass coefficient of point point" "-" -typedef ^ ^ DbKi pointCdA - - - "product of drag force and frontal area of point point" "[m^2]" +typedef ^ ^ DbKi pointCa - - - "added mass coefficient of point" "-" +typedef ^ ^ DbKi pointCdA - - - "product of drag force and frontal area of point" "[m^2]" typedef ^ ^ DbKi time - - - "current time" "[s]" typedef ^ ^ DbKi r {3} - - "position" typedef ^ ^ DbKi rd {3} - - "velocity" @@ -170,8 +170,8 @@ typedef ^ ^ DbKi Cdt - typedef ^ ^ DbKi CdEnd - - - "drag coefficient for rod end" "[-]" typedef ^ ^ DbKi CaEnd - - - "added mass coefficient for rod end" "[-]" typedef ^ ^ DbKi time - - - "current time" "[s]" -typedef ^ ^ DbKi roll - - - "roll relative to vertical" "deg" -typedef ^ ^ DbKi pitch - - - "pitch relative to vertical" "deg" +typedef ^ ^ DbKi roll - - - "roll relative to vertical" "[rad]" +typedef ^ ^ DbKi pitch - - - "pitch relative to vertical" "[rad]" typedef ^ ^ DbKi h0 - - - "submerged length of rod axis, distance along rod centerline from end A to the waterplane (0 <= h0 <= L)" "m" typedef ^ ^ DbKi r {:}{:} - - "node positions" - typedef ^ ^ DbKi rd {:}{:} - - "node velocities" - @@ -280,7 +280,7 @@ typedef ^ MD_OutParmType CHARACTER(10) Name - typedef ^ ^ CHARACTER(10) Units - - - "units string" typedef ^ ^ IntKi QType - - - "type of quantity - 0=tension, 1=x, 2=y, 3=z..." typedef ^ ^ IntKi OType - - - "type of object - 0=line, 1=point" -typedef ^ ^ IntKi NodeID - - - "node number if OType=0. 0=anchor, -1=N=Fairlead" +typedef ^ ^ IntKi NodeID - - - "node number if OType=0. 0=anchor, -1=whole object" typedef ^ ^ IntKi ObjID - - - "number of Point or Line object" ## ============================== Visualization data storage for diameter ============================================================================================================================ @@ -332,8 +332,8 @@ typedef ^ ^ IntKi FreeBodyIs {:} typedef ^ ^ IntKi CpldBodyIs {:}{:} - - "array of coupled body indices in BodyList vector" "" typedef ^ ^ IntKi LineStateIs1 {:} - - "starting index of each line's states in state vector" "" typedef ^ ^ IntKi LineStateIsN {:} - - "ending index of each line's states in state vector" "" -typedef ^ ^ IntKi PointStateIs1 {:} - - "starting index of each line's states in state vector" "" -typedef ^ ^ IntKi PointStateIsN {:} - - "ending index of each line's states in state vector" "" +typedef ^ ^ IntKi PointStateIs1 {:} - - "starting index of each point's states in state vector" "" +typedef ^ ^ IntKi PointStateIsN {:} - - "ending index of each point's states in state vector" "" typedef ^ ^ IntKi RodStateIs1 {:} - - "starting index of each rod's states in state vector" "" typedef ^ ^ IntKi RodStateIsN {:} - - "ending index of each rod's states in state vector" "" typedef ^ ^ IntKi BodyStateIs1 {:} - - "starting index of each body's states in state vector" "" diff --git a/modules/moordyn/src/MoorDyn_Types.f90 b/modules/moordyn/src/MoorDyn_Types.f90 index 9fec575573..debf2292ca 100644 --- a/modules/moordyn/src/MoorDyn_Types.f90 +++ b/modules/moordyn/src/MoorDyn_Types.f90 @@ -109,18 +109,18 @@ MODULE MoorDyn_Types ! ========= MD_Body ======= TYPE, PUBLIC :: MD_Body INTEGER(IntKi) :: IdNum !< integer identifier of this Point [-] - INTEGER(IntKi) :: typeNum !< integer identifying the type. 0=fixed, 1=vessel, 2=point [-] + INTEGER(IntKi) :: typeNum !< integer identifying the type. 0=free, 1=fixed, -1=vessel [-] INTEGER(IntKi) , DIMENSION(1:30) :: AttachedC !< list of IdNums of points attached to this body [-] INTEGER(IntKi) , DIMENSION(1:30) :: AttachedR !< list of IdNums of rods attached to this body [-] INTEGER(IntKi) :: nAttachedC = 0 !< number of attached points [-] INTEGER(IntKi) :: nAttachedR = 0 !< number of attached rods [-] REAL(DbKi) , DIMENSION(1:3,1:30) :: rPointRel !< relative position of point on body [-] REAL(DbKi) , DIMENSION(1:6,1:30) :: r6RodRel !< relative position and orientation of rod on body [-] - REAL(DbKi) :: bodyM !< [-] - REAL(DbKi) :: bodyV !< [-] - REAL(DbKi) , DIMENSION(1:3) :: bodyI !< [-] - REAL(DbKi) , DIMENSION(1:6) :: bodyCdA !< product of drag force and frontal area of point point [[m^2]] - REAL(DbKi) , DIMENSION(1:6) :: bodyCa !< added mass coefficient of point point [-] + REAL(DbKi) :: bodyM !< body mass (seperate from attached objects) [[kg]] + REAL(DbKi) :: bodyV !< body volume (for buoyancy calculation) [[m^3]] + REAL(DbKi) , DIMENSION(1:3) :: bodyI !< body 3x3 inertia matrix diagonals [[kg-m^2]] + REAL(DbKi) , DIMENSION(1:6) :: bodyCdA !< product of drag force and frontal area of body [[m^2]] + REAL(DbKi) , DIMENSION(1:6) :: bodyCa !< added mass coefficient of body [-] REAL(DbKi) :: time !< current time [[s]] REAL(DbKi) , DIMENSION(1:6) :: r6 !< position [-] REAL(DbKi) , DIMENSION(1:6) :: v6 !< velocity [-] @@ -138,19 +138,19 @@ MODULE MoorDyn_Types ! ======================= ! ========= MD_Point ======= TYPE, PUBLIC :: MD_Point - INTEGER(IntKi) :: IdNum !< integer identifier of this Point [-] - CHARACTER(10) :: type !< type of Point: fix, vessel, point [-] - INTEGER(IntKi) :: typeNum !< integer identifying the type. 0=fixed, 1=vessel, 2=point [-] + INTEGER(IntKi) :: IdNum !< integer identifier of this point [-] + CHARACTER(10) :: type !< type of point: fix, vessel, point [-] + INTEGER(IntKi) :: typeNum !< integer identifying the type. 1=fixed, -1=vessel, 0=free [-] INTEGER(IntKi) , DIMENSION(1:10) :: Attached !< list of IdNums of lines attached to this point node [-] INTEGER(IntKi) , DIMENSION(1:10) :: Top !< list of ints specifying whether each line is attached at 1 = top/fairlead(end B), 0 = bottom/anchor(end A) [-] INTEGER(IntKi) :: nAttached = 0 !< number of attached lines [-] - REAL(DbKi) :: pointM !< [-] - REAL(DbKi) :: pointV !< [-] + REAL(DbKi) :: pointM !< point mass [[kg]] + REAL(DbKi) :: pointV !< point volume [[m^3]] REAL(DbKi) :: pointFX !< [-] REAL(DbKi) :: pointFY !< [-] REAL(DbKi) :: pointFZ !< [-] - REAL(DbKi) :: pointCa !< added mass coefficient of point point [-] - REAL(DbKi) :: pointCdA !< product of drag force and frontal area of point point [[m^2]] + REAL(DbKi) :: pointCa !< added mass coefficient of point [-] + REAL(DbKi) :: pointCdA !< product of drag force and frontal area of point [[m^2]] REAL(DbKi) :: time !< current time [[s]] REAL(DbKi) , DIMENSION(1:3) :: r !< position [-] REAL(DbKi) , DIMENSION(1:3) :: rd !< velocity [-] @@ -190,8 +190,8 @@ MODULE MoorDyn_Types REAL(DbKi) :: CdEnd !< drag coefficient for rod end [[-]] REAL(DbKi) :: CaEnd !< added mass coefficient for rod end [[-]] REAL(DbKi) :: time !< current time [[s]] - REAL(DbKi) :: roll !< roll relative to vertical [deg] - REAL(DbKi) :: pitch !< pitch relative to vertical [deg] + REAL(DbKi) :: roll !< roll relative to vertical [[rad]] + REAL(DbKi) :: pitch !< pitch relative to vertical [[rad]] REAL(DbKi) :: h0 !< submerged length of rod axis, distance along rod centerline from end A to the waterplane (0 <= h0 <= L) [m] REAL(DbKi) , DIMENSION(:,:), ALLOCATABLE :: r !< node positions [-] REAL(DbKi) , DIMENSION(:,:), ALLOCATABLE :: rd !< node velocities [-] @@ -303,7 +303,7 @@ MODULE MoorDyn_Types CHARACTER(10) :: Units !< units string [-] INTEGER(IntKi) :: QType !< type of quantity - 0=tension, 1=x, 2=y, 3=z... [-] INTEGER(IntKi) :: OType !< type of object - 0=line, 1=point [-] - INTEGER(IntKi) :: NodeID !< node number if OType=0. 0=anchor, -1=N=Fairlead [-] + INTEGER(IntKi) :: NodeID !< node number if OType=0. 0=anchor, -1=whole object [-] INTEGER(IntKi) :: ObjID !< number of Point or Line object [-] END TYPE MD_OutParmType ! ======================= @@ -366,8 +366,8 @@ MODULE MoorDyn_Types INTEGER(IntKi) , DIMENSION(:,:), ALLOCATABLE :: CpldBodyIs !< array of coupled body indices in BodyList vector [] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: LineStateIs1 !< starting index of each line's states in state vector [] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: LineStateIsN !< ending index of each line's states in state vector [] - INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: PointStateIs1 !< starting index of each line's states in state vector [] - INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: PointStateIsN !< ending index of each line's states in state vector [] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: PointStateIs1 !< starting index of each point's states in state vector [] + INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: PointStateIsN !< ending index of each point's states in state vector [] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: RodStateIs1 !< starting index of each rod's states in state vector [] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: RodStateIsN !< ending index of each rod's states in state vector [] INTEGER(IntKi) , DIMENSION(:), ALLOCATABLE :: BodyStateIs1 !< starting index of each body's states in state vector []