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
3 changes: 2 additions & 1 deletion modules/aerodisk/src/AeroDisk.f90
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ subroutine Init_InitY(ErrStat3,ErrMsg3)
InitOut%WriteOutputUnt(i) = p%OutParam(i)%Units
end do
! Version
InitOut%Ver = ADsk_Ver
InitOut%Ver = ADsk_Ver
InitOut%AirDens = p%AirDens
end subroutine Init_InitY
END SUBROUTINE ADsk_Init

Expand Down
1 change: 1 addition & 0 deletions modules/aerodisk/src/AeroDisk_Registry.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ typedef ^ InitInputType FlowFieldType *FlowField - -
typedef ^ InitOutputType CHARACTER(ChanLen) WriteOutputHdr {:} - - "Names of the output-to-file channels" -
typedef ^ InitOutputType CHARACTER(ChanLen) WriteOutputUnt {:} - - "Units of the output-to-file channels" -
typedef ^ InitOutputType ProgDesc Ver - - - "This module's name, version, and date" -
typedef ^ InitOutputType ReKi AirDens - - - "Air density" "kg/m^3"


# ..... Inputs ....................................................................................................................
Expand Down
4 changes: 4 additions & 0 deletions modules/aerodisk/src/AeroDisk_Types.f90
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ MODULE AeroDisk_Types
CHARACTER(ChanLen) , DIMENSION(:), ALLOCATABLE :: WriteOutputHdr !< Names of the output-to-file channels [-]
CHARACTER(ChanLen) , DIMENSION(:), ALLOCATABLE :: WriteOutputUnt !< Units of the output-to-file channels [-]
TYPE(ProgDesc) :: Ver !< This module's name, version, and date [-]
REAL(ReKi) :: AirDens = 0.0_ReKi !< Air density [kg/m^3]
END TYPE ADsk_InitOutputType
! =======================
! ========= ADsk_InputType =======
Expand Down Expand Up @@ -634,6 +635,7 @@ subroutine ADsk_CopyInitOutput(SrcInitOutputData, DstInitOutputData, CtrlCode, E
call NWTC_Library_CopyProgDesc(SrcInitOutputData%Ver, DstInitOutputData%Ver, CtrlCode, ErrStat2, ErrMsg2)
call SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
if (ErrStat >= AbortErrLev) return
DstInitOutputData%AirDens = SrcInitOutputData%AirDens
end subroutine

subroutine ADsk_DestroyInitOutput(InitOutputData, ErrStat, ErrMsg)
Expand Down Expand Up @@ -663,6 +665,7 @@ subroutine ADsk_PackInitOutput(RF, Indata)
call RegPackAlloc(RF, InData%WriteOutputHdr)
call RegPackAlloc(RF, InData%WriteOutputUnt)
call NWTC_Library_PackProgDesc(RF, InData%Ver)
call RegPack(RF, InData%AirDens)
if (RegCheckErr(RF, RoutineName)) return
end subroutine

Expand All @@ -677,6 +680,7 @@ subroutine ADsk_UnPackInitOutput(RF, OutData)
call RegUnpackAlloc(RF, OutData%WriteOutputHdr); if (RegCheckErr(RF, RoutineName)) return
call RegUnpackAlloc(RF, OutData%WriteOutputUnt); if (RegCheckErr(RF, RoutineName)) return
call NWTC_Library_UnpackProgDesc(RF, OutData%Ver) ! Ver
call RegUnpack(RF, OutData%AirDens); if (RegCheckErr(RF, RoutineName)) return
end subroutine

subroutine ADsk_CopyInput(SrcInputData, DstInputData, CtrlCode, ErrStat, ErrMsg)
Expand Down
84 changes: 42 additions & 42 deletions modules/nwtc-library/src/Registry_NWTC_Library.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,38 @@
#.............................................................


typedef NWTC_Library ProgDesc CHARACTER(99) Name - - - "Name of the program or module"
typedef ^ ^ CHARACTER(99) Ver - - - "Version number of the program or module"
typedef ^ ^ CHARACTER(24) Date - - - "String containing date module was last updated"

typedef NWTC_Library FASTdataType CHARACTER(1024) File - - - "Name of the FAST-style binary file"
typedef ^ ^ CHARACTER(1024) Descr - - - "String describing file"
typedef ^ ^ IntKi NumChans - - - "Number of output channels in this binary file (not including the time channel)"
typedef ^ ^ IntKi NumRecs - - - "Number of records (rows) of data in the file"
typedef ^ ^ DbKi TimeStep - - - "Time step for evenly-spaced data in the output file (when NumRecs is not allo"
typedef ^ ^ CHARACTER(ChanLen) ChanNames {:} - - "Strings describing the names of the channels from the binary file (including the time channel)"
typedef ^ ^ CHARACTER(ChanLen) ChanUnits {:} - - "Strings describing the units of the channels from the binary file (including the time channel)"
typedef ^ ^ ReKi Data {:}{:} - - "numeric data (rows and columns) from the binary file, including the time channel"

typedef NWTC_Library OutParmType IntKi Indx - - - "An index into AllOuts array where this channel is computed/stored"
typedef ^ ^ CHARACTER(ChanLen) Name - - - "Name of the output channel"
typedef ^ ^ CHARACTER(ChanLen) Units - - - "Units this channel is specified in"
typedef ^ ^ IntKi SignM - - - "Multiplier for output channel; usually -1 (minus) or 0 (invalid channel)"

typedef NWTC_Library FileInfoType IntKi NumLines
typedef ^ ^ IntKi NumFiles
typedef ^ ^ IntKi FileLine {:}
typedef ^ ^ IntKi FileIndx {:}
typedef NWTC_Library ProgDesc CHARACTER(99) Name - - - "Name of the program or module"
typedef ^ ^ CHARACTER(99) Ver - - - "Version number of the program or module"
typedef ^ ^ CHARACTER(24) Date - - - "String containing date module was last updated"

typedef NWTC_Library FASTdataType CHARACTER(1024) File - - - "Name of the FAST-style binary file"
typedef ^ ^ CHARACTER(1024) Descr - - - "String describing file"
typedef ^ ^ IntKi NumChans - - - "Number of output channels in this binary file (not including the time channel)"
typedef ^ ^ IntKi NumRecs - - - "Number of records (rows) of data in the file"
typedef ^ ^ DbKi TimeStep - - - "Time step for evenly-spaced data in the output file (when NumRecs is not allo"
typedef ^ ^ CHARACTER(ChanLen) ChanNames {:} - - "Strings describing the names of the channels from the binary file (including the time channel)"
typedef ^ ^ CHARACTER(ChanLen) ChanUnits {:} - - "Strings describing the units of the channels from the binary file (including the time channel)"
typedef ^ ^ ReKi Data {:}{:} - - "numeric data (rows and columns) from the binary file, including the time channel"

typedef NWTC_Library OutParmType IntKi Indx - - - "An index into AllOuts array where this channel is computed/stored"
typedef ^ ^ CHARACTER(ChanLen) Name - - - "Name of the output channel"
typedef ^ ^ CHARACTER(ChanLen) Units - - - "Units this channel is specified in"
typedef ^ ^ IntKi SignM - - - "Multiplier for output channel; usually -1 (minus) or 0 (invalid channel)"

typedef NWTC_Library FileInfoType IntKi NumLines
typedef ^ ^ IntKi NumFiles
typedef ^ ^ IntKi FileLine {:}
typedef ^ ^ IntKi FileIndx {:}
typedef ^ ^ CHARACTER(MaxFileInfoLineLen) FileList {:}
typedef ^ ^ CHARACTER(MaxFileInfoLineLen) Lines {:}

typedef NWTC_Library Quaternion ReKi q0
typedef ^ ^ ReKi v {3}
typedef NWTC_Library Quaternion ReKi q0
typedef ^ ^ ReKi v {3}

typedef NWTC_Library NWTC_RandomNumber_ParameterType IntKi pRNG
typedef ^ ^ IntKi RandSeed {3}
typedef ^ ^ IntKi RandSeedAry {:}
typedef ^ ^ CHARACTER(6) RNG_type
typedef NWTC_Library NWTC_RandomNumber_ParameterType IntKi pRNG
typedef ^ ^ IntKi RandSeed {3}
typedef ^ ^ IntKi RandSeedAry {:}
typedef ^ ^ CHARACTER(6) RNG_type

#-------------------------------------------------------------------------------
# Module Variables
Expand Down Expand Up @@ -133,22 +133,22 @@ typedef ^ ^ IntKi DstMaps : - -


#BJJ: the following three types will actually be placed in the ModMesh_Mapping.f90 file instead of NWTC_Library_Types.f90
typedef NWTC_Library MapType IntKi OtherMesh_Element - - - "Node (for point meshes) or Element (for line2 meshes) number on other mesh; for loads, other mesh is Dest, for motions/scalars, other mesh is Src"
typedef NWTC_Library MapType IntKi OtherMesh_Element - - - "Node (for point meshes) or Element (for line2 meshes) number on other mesh; for loads, other mesh is Dest, for motions/scalars, other mesh is Src" -
typedef ^ ^ R8Ki distance - - - "Magnitude of couple_arm" m
typedef ^ ^ R8Ki couple_arm {3} - - "Vector between a point and node 1 of an element (p_ODR - p_OSR)" m
typedef ^ ^ R8Ki shape_fn {2} - - "shape functions: 1-D element-level location [0,1] based on closest-line projection of point" -

typedef NWTC_Library MeshMapLinearizationType R8Ki mi {:}{:} - - "block matrix of motions that reflects identity (i.e., solely the mapping of one quantity to itself on another mesh)"
typedef ^ ^ R8Ki fx_p {:}{:} - - "block matrix of motions that reflects skew-symmetric (cross-product) matrix"
typedef ^ ^ R8Ki tv_uD {:}{:} - - "block matrix of translational velocity that is multiplied by destination translational displacement"
typedef ^ ^ R8Ki tv_uS {:}{:} - - "block matrix of translational velocity that is multiplied by source translational displacement"
typedef ^ ^ R8Ki ta_uD {:}{:} - - "block matrix of translational acceleration that is multiplied by destination translational displacement"
typedef ^ ^ R8Ki ta_uS {:}{:} - - "block matrix of translational acceleration that is multiplied by source translational displacement"
typedef ^ ^ R8Ki ta_rv {:}{:} - - "block matrix of translational acceleration that is multiplied by omega (RotationVel)"
typedef ^ ^ R8Ki li {:}{:} - - "block matrix of loads that reflects identity (i.e., solely the mapping on one quantity to itself on another mesh)"
typedef ^ ^ R8Ki M_uS {:}{:} - - "block matrix of moment that is multiplied by Source u (translationDisp)"
typedef ^ ^ R8Ki M_uD {:}{:} - - "block matrix of moment that is multiplied by Destination u (translationDisp)"
typedef ^ ^ R8Ki M_f {:}{:} - - "block matrix of moment that is multiplied by force"
typedef NWTC_Library MeshMapLinearizationType R8Ki mi {:}{:} - - "block matrix of motions that reflects identity (i.e., solely the mapping of one quantity to itself on another mesh)"
typedef ^ ^ R8Ki fx_p {:}{:} - - "block matrix of motions that reflects skew-symmetric (cross-product) matrix"
typedef ^ ^ R8Ki tv_uD {:}{:} - - "block matrix of translational velocity that is multiplied by destination translational displacement"
typedef ^ ^ R8Ki tv_uS {:}{:} - - "block matrix of translational velocity that is multiplied by source translational displacement"
typedef ^ ^ R8Ki ta_uD {:}{:} - - "block matrix of translational acceleration that is multiplied by destination translational displacement"
typedef ^ ^ R8Ki ta_uS {:}{:} - - "block matrix of translational acceleration that is multiplied by source translational displacement"
typedef ^ ^ R8Ki ta_rv {:}{:} - - "block matrix of translational acceleration that is multiplied by omega (RotationVel)"
typedef ^ ^ R8Ki li {:}{:} - - "block matrix of loads that reflects identity (i.e., solely the mapping on one quantity to itself on another mesh)"
typedef ^ ^ R8Ki M_uS {:}{:} - - "block matrix of moment that is multiplied by Source u (translationDisp)"
typedef ^ ^ R8Ki M_uD {:}{:} - - "block matrix of moment that is multiplied by Destination u (translationDisp)"
typedef ^ ^ R8Ki M_f {:}{:} - - "block matrix of moment that is multiplied by force"

typedef NWTC_Library MeshMapType MapType MapLoads {:} - - "mapping data structure for load fields on the mesh"
typedef ^ ^ MapType MapMotions {:} - - "mapping data structure for motion and/or scalar fields on the mesh"
Expand All @@ -160,6 +160,6 @@ typedef ^ ^ R8Ki DisplacedPo
typedef ^ ^ R8Ki LoadLn2_A_Mat {:}{:} - - "The 3-components of the forces for each node of an element in the point-to-line load mapping (for each element)"
typedef ^ ^ R8Ki LoadLn2_F {:}{:} - - "The 6-by-6 matrix that makes up the diagonal of the [A 0; B A] matrix in the point-to-line load mapping"
typedef ^ ^ R8Ki LoadLn2_M {:}{:} - - "The 3-components of the moments for each node of an element in the point-to-line load mapping (for each element)"
typedef ^ ^ MeshMapLinearizationType dM
#typedef ^ ^ MeshType Lumped_Points_Dest - - - "temporary mesh for debugging the lumped values in the line2-to-line2"
typedef ^ ^ MeshMapLinearizationType dM
#typedef ^ ^ MeshType Lumped_Points_Dest - - - "temporary mesh for debugging the lumped values in the line2-to-line2"

8 changes: 6 additions & 2 deletions modules/openfast-library/src/FAST_Subs.f90
Original file line number Diff line number Diff line change
Expand Up @@ -766,6 +766,7 @@ SUBROUTINE FAST_InitializeAll( t_initial, p_FAST, y_FAST, m_FAST, ED, SED, BD, S
RETURN
END IF

! AeroDyn may override the AirDens value. Store this to inform other modules
AirDens = Init%OutData_AD%rotors(1)%AirDens

ELSEIF ( p_FAST%CompAero == Module_ADsk ) THEN
Expand Down Expand Up @@ -795,6 +796,9 @@ SUBROUTINE FAST_InitializeAll( t_initial, p_FAST, y_FAST, m_FAST, ED, SED, BD, S
CALL SetModuleSubstepTime(Module_ADsk, p_FAST, y_FAST, ErrStat2, ErrMsg2)
CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,RoutineName)

! AeroDisk may override the AirDens value. Store this to inform other modules
AirDens = Init%OutData_ADsk%AirDens

END IF ! CompAero

IF ( p_FAST%CompAero == Module_ExtLd ) THEN
Expand All @@ -815,6 +819,7 @@ SUBROUTINE FAST_InitializeAll( t_initial, p_FAST, y_FAST, m_FAST, ED, SED, BD, S
RETURN
END IF

! ExtLd may override the AirDens value. Store this to inform other modules
AirDens = Init%OutData_ExtLd%AirDens

END IF
Expand All @@ -824,8 +829,7 @@ SUBROUTINE FAST_InitializeAll( t_initial, p_FAST, y_FAST, m_FAST, ED, SED, BD, S
! ........................
! No aero of any sort
! ........................
IF ( (p_FAST%CompAero /= Module_AD) .and. (p_FAST%CompAero /= Module_ExtLd) ) THEN
ELSE
IF ( (p_FAST%CompAero == Module_None) .or. (p_FAST%CompAero == Module_Unknown)) THEN
AirDens = 0.0_ReKi
ENDIF

Expand Down