Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ServoDyn: StC controls, and cable controls for MD and SD #664

Merged
merged 94 commits into from
Mar 2, 2022
Merged
Show file tree
Hide file tree
Changes from 85 commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
c89ffd8
SrvD: add AfCmode calculations (airfoil control)
andrew-platt Feb 4, 2021
a31882b
SrvD: add AfCmode calculations (airfoil control)
andrew-platt Feb 4, 2021
59f49fb
SrvD: placeholders for extending avrSWAP to 3300 entries
andrew-platt Feb 2, 2021
31092fd
SrvD: move call to SrvD_Init in FAST_Subs.f90
andrew-platt Feb 15, 2021
937c319
CableCtrl: add cable channel info to SD, MD, glue code
andrew-platt Feb 16, 2021
6b9b8c9
SrvD: add summary file.
andrew-platt Feb 16, 2021
d0569e1
SrvD: add sumfil info from legacy BladedInterface
andrew-platt Feb 17, 2021
040e07a
SrvD: move the summary stuff in BladedInterface
andrew-platt Feb 18, 2021
10046c3
SrvD: add CableControl initialization and sumfile
andrew-platt Feb 18, 2021
f1f944a
MD: initialize deltaL and deltaLdot
andrew-platt Feb 19, 2021
1c21f92
SrvD: update input file, Set all cable control data handling
andrew-platt Feb 19, 2021
c884596
Cable controls: connect through openfast glue code
andrew-platt Feb 19, 2021
228e252
SrvD: update documentation on input file
andrew-platt Feb 22, 2021
55828d3
SrvD: update summary file in for extended bladed interface
andrew-platt Feb 22, 2021
8d288d9
SrvD: update api-change doc
andrew-platt Feb 22, 2021
e78f3ab
Cable controls: re-enabling SubDyn cable control
ebranlard Feb 24, 2021
eebc810
Add AirfoiCom channels to simulink interface
andrew-platt Feb 24, 2021
5f837fc
Merge remote-tracking branch 'origin/f/StrucCtrl_controls' into f/Str…
andrew-platt Feb 24, 2021
900e80d
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Feb 25, 2021
0171fb8
SrvD: update simulink example models for airfoil controls
andrew-platt Feb 25, 2021
4870acf
SrvD: add some summary file info for Simulink
andrew-platt Feb 26, 2021
5f3fa7a
SrvD: add simulink passing of cable control channels
andrew-platt Feb 26, 2021
ea8f528
SrvD: fix some errors in previous commit
andrew-platt Mar 3, 2021
1f2229c
SrvD: update the create_FAST_SFunc.m for mac/linux
andrew-platt Mar 3, 2021
aaa18a4
SrvD: Update simulink example cases with cable control channels
andrew-platt Mar 3, 2021
e708df0
SrvD: remove preprocessor directive for method that was abandonned
andrew-platt Mar 3, 2021
a10d45e
Typo in RunRegistry.bat
andrew-platt Mar 19, 2021
e853a54
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Mar 19, 2021
6eaaa7b
Update of-cpp test case
andrew-platt Mar 22, 2021
b0234e6
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Mar 31, 2021
f949266
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Mar 31, 2021
bb697ef
Merge remote-tracking branch 'origin/b/AD_MultiRotor_cpp_crash' into …
andrew-platt Apr 2, 2021
588480b
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Apr 9, 2021
078b45f
StC: rename StC mesh maps to distinguish between SrvD meshes
andrew-platt Apr 13, 2021
2baa828
SrvD: Pass PlatformMesh info to DLL
andrew-platt Apr 13, 2021
f384a3f
SrvD: add notes on the extended array and how to populate
andrew-platt Apr 14, 2021
22d5ee5
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Apr 14, 2021
792c7fe
StC: rename u to u_StC in SrvD for clarity
andrew-platt Apr 20, 2021
c77cfb0
StC: remove file accidentally commited with 078b45f2
andrew-platt Apr 20, 2021
e74f5e0
SrvD: move StC inputs/outputs into misc, setup meshes for passing mot…
andrew-platt Apr 21, 2021
93a9d28
SrvD: move u for StC instances into SrvD misc
andrew-platt Apr 23, 2021
854a99d
StC: add StC_CChan for control channel designation in StC
andrew-platt Apr 21, 2021
f687405
StCCtrl: started adding control channel passthrough for StC from DLL
andrew-platt Apr 28, 2021
53abdd4
StC Ctrl: setup info on StC control channels
andrew-platt Apr 29, 2021
14d9f72
SrvD: make warning about legacy DLL interface less ominous
andrew-platt Apr 29, 2021
90ebebb
StC control: add data passing to avrswap, rough in data passing in SrvD
andrew-platt Apr 29, 2021
20c2019
StC ctrl: revise initial data passing to controller from StC
andrew-platt Apr 30, 2021
a70d2f8
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt May 3, 2021
ab34355
StC ctrl: finish the passing of StC control signals to/from DLL
andrew-platt May 5, 2021
b2aed5e
SrvD: update dll interface info (see git PR #664 comment)
andrew-platt May 5, 2021
090f46d
StC ctrl: StC now can use the control channel input
andrew-platt May 5, 2021
22fb1dd
StC ctrl: expose F_ext term to DLL for controlling additional actuato…
andrew-platt May 5, 2021
894a0e3
StC ctrls: rearrange SrvD_Init for StC info, add StC info to summary …
andrew-platt May 5, 2021
caea19f
StC ctrl: fix some bugs in data passing and checking
andrew-platt May 6, 2021
b92d34c
StC ctrl: fix array bounds in StC array resizing
andrew-platt May 11, 2021
728af4b
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Jun 7, 2021
4ba85f4
StC ctrl: controller input nominally 0
ebranlard Jun 14, 2021
1e7302b
SrvD: fix potential seg fault in cable control channel copying
andrew-platt Jun 18, 2021
3c526a4
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Jun 18, 2021
8335d6c
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Jun 25, 2021
5d2de23
SrvD: reorder the StC routines
andrew-platt Jun 30, 2021
b4716f1
[BugFix] Substructure StC loads were not getting applied
andrew-platt Jul 14, 2021
9c351c2
SrvD lin: missed an update to the FAST_Types.f90 file
andrew-platt Jul 26, 2021
0d22303
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Sep 29, 2021
246159c
StrucCtrl bug fix: Nacelle load transfer (#16)
bjonkman Sep 29, 2021
b37038e
Allocate p%F_TBL only if InputFileData version is allocated (#15)
dzalkind Sep 29, 2021
4f9ee13
StC: typo in manually merging Bonnie's fix
andrew-platt Sep 29, 2021
80b9a61
StC: error in mesh setup logic for nacelle intermediate mesh
andrew-platt Sep 29, 2021
0e12dfc
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Oct 7, 2021
eaa545e
Merge remote-tracking branch 'origin/f/SD-Loads' into f/StrucCtrl_con…
andrew-platt Oct 7, 2021
2d5a2cd
Merge remote-tracking branch 'ebranlard/f/SD-Loads' into f/StrucCtrl_…
andrew-platt Oct 7, 2021
41579a7
SrvD: types transfer size error with Intel debug
andrew-platt Oct 29, 2021
d9ca9af
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Nov 4, 2021
6d99c1a
Merge remote-tracking branch 'origin/b/IntelBugFixes' into f/StrucCtr…
andrew-platt Nov 4, 2021
d956e39
[bugfix] SrvD: Missing if around summary file writing -- caused segfa…
andrew-platt Nov 4, 2021
03e8dd6
[bugfix] SrvD: fix inconsistency in initial pos/orient for StC
andrew-platt Nov 4, 2021
0f7dc7c
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Nov 9, 2021
d61383b
StC: add spring pre-load option for Z-dof
andrew-platt Nov 24, 2021
8d01c50
StC: update documentation for StC_Z preload
andrew-platt Nov 30, 2021
1e1d726
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Dec 23, 2021
e45c57f
MD causing seg fault with gcc 10.3.0 on linux
andrew-platt Jan 3, 2022
1bd3ce0
Change FAST_Types and FAST_Farm_Types to -O2 optimization with intel …
andrew-platt Jan 5, 2022
7d5c4c1
StC: update StC_test_OC4Semi regression test results
andrew-platt Jan 5, 2022
57253b8
StC: minor documentation fix, and remove redundant file
andrew-platt Jan 5, 2022
5c51e81
StC: fix extension on summary file for SrvD
andrew-platt Jan 5, 2022
d3f3580
SrvD: add check on max number of controller channels, and summary inf…
andrew-platt Jan 5, 2022
c862ef3
StC: fix cmakelists.txt -- had a leftover flag from testing
andrew-platt Jan 5, 2022
47a7145
SrvD: add avrSWAP(66) -- start index to the platform motion info (1001)
andrew-platt Jan 6, 2022
f6291f0
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Feb 2, 2022
7f22826
StC: typos in docs
andrew-platt Feb 16, 2022
108c62e
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Feb 16, 2022
916dd8c
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Mar 1, 2022
c33855e
Merge remote-tracking branch 'OpenFAST/dev' into f/StrucCtrl_controls
andrew-platt Mar 1, 2022
5087a8d
ExBladedInterface: added documentation on the interface (not complete…
andrew-platt Mar 2, 2022
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
Binary file modified docs/OtherSupporting/OpenFAST_Algorithms/OpenFAST_Algorithms.pdf
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ \section{Input-Output Relationships}
\State$\mathit{u\_IceF\_tmp} \gets \Call{TransferMeshMotions}{y\_SD}$
\State$\mathit{u\_IceD\_tmp(:)} \gets \Call{TransferMeshMotions}{y\_SD}$
\State$\mathit{u\_HD\_tmp} \gets \Call{TransferMeshMotions}{y\_ED,y\_SD}$
\State$\mathit{u\_SrvD\_tmp} \gets \Call{TransferMeshMotions}{y\_ED,y\_SD}$\footnote{Only if using ServoDyn Structural control with platform TMD.}
\State$\mathit{u\_SrvD\_tmp} \gets \Call{TransferMeshMotions}{y\_BD,y\_ED,y\_SD}$\footnote{Only if using ServoDyn Structural control.}
\State$\mathit{u\_SD\_tmp} \gets \!
\begin{aligned}[t]
& \Call{TransferMeshMotions}{\mathit{y\_ED}} \\
Expand All @@ -215,7 +215,7 @@ \section{Input-Output Relationships}
& \mathit{y\_SD}, \mathit{u\_SD\_tmp}, \\
& \mathit{y\_MAP}, \mathit{u\_MAP\_tmp}, \\
& \mathit{y\_FEAM},\mathit{u\_FEAM\_tmp},\\
& \mathit{y\_SrvD},\mathit{u\_SrvD\_tmp}\footnote{Only if using ServoDyn Structural control with platform TMD.} ) % SrvD%PtfmStC only
& \mathit{y\_SrvD},\mathit{u\_SrvD\_tmp}\footnote{Only if using ServoDyn Structural control.} ) % SrvD%PtfmStC only
\end{aligned}$

\State
Expand Down Expand Up @@ -267,7 +267,7 @@ \section{Input-Output Relationships}
\State $\mathit{u\_FEAM} \gets \Call{TransferMeshMotions}{\mathit{y\_ED}}$
\State $\mathit{u\_IceF} \gets \Call{TransferMeshMotions}{\mathit{y\_SD}}$
\State $\mathit{u\_IceD(:)} \gets \Call{TransferMeshMotions}{\mathit{y\_SD}}$
\State $\mathit{u\_SrvD} \gets \Call{TransferMeshMotions}{\mathit{y\_ED,y\_SD}}$\footnote{Only if using ServoDyn Structural control with platform TMD.} % For SrvD%PtfmStC
\State $\mathit{u\_SrvD} \gets \Call{TransferMeshMotions}{\mathit{y\_BD,y\_ED,y\_SD}}$\footnote{Only if using ServoDyn Structural control.} % For SrvD%PtfmStC

\EndProcedure
\end{algorithmic}
Expand Down Expand Up @@ -352,7 +352,7 @@ \section{Solve Option 2 Improvements}
\State $\mathit{y\_IfW} \gets \Call{IfW\_CalcOutput}{\mathit{u\_IfW}$ and other $\mathit{IfW}$ data structures$}$
\State
\State $\mathit{u\_AD}($InflowWind only$) \gets \Call{TransferOutputsToInputs}{\mathit{y\_IfW}}$
\State $\mathit{u\_SrvD} \gets \Call{TransferOutputsToInputs}{\mathit{y\_ED},\mathit{y\_BD},\mathit{y\_IfW}}$
\State $\mathit{u\_SrvD} \gets \Call{TransferOutputsToInputs}{\mathit{y\_BD},\mathit{y\_ED},\mathit{y\_IfW},\mathit{y\_SD}}$
\State $\Call{AD\_UpdateStates}{\mathit{p\_AD},\mathit{u\_AD},\mathit{x\_AD},\mathit{xd\_AD},\mathit{z\_AD}}$
\State $\Call{SrvD\_UpdateStates}{\mathit{p\_SrvD},\mathit{u\_SrvD},\mathit{x\_SrvD},\mathit{xd\_SrvD},\mathit{z\_SrvD}}$
\State
Expand Down
7 changes: 7 additions & 0 deletions docs/source/user/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ Added in OpenFAST dev
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Module Line Flag Name Example Value
============================================= ==== =============== ========================================================================================================================================================================================================
ServoDyn 60 AeroControlSec ---------------------- AERODYNAMIC FLOW CONTROL --------------------------------
ServoDyn 61 AfCmode 0 AfCmode - Airfoil control mode {0: none, 1: cosine wave cycle, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
ServoDyn 61 AfC_Mean 0 AfC_Mean - Mean level for cosine cycling or steady value (-) [used only with AfCmode==1]
ServoDyn 61 AfC_Amp 0 AfC_Amp - Amplitude for for cosine cycling of flap signal (-) [used only with AfCmode==1]
andrew-platt marked this conversation as resolved.
Show resolved Hide resolved
ServoDyn 61 AfC_Phase 0 AfC_Phase - Phase relative to the blade azimuth (0 is vertical) for for cosine cycling of flap signal (deg) [used only with AfCmode==1]
andrew-platt marked this conversation as resolved.
Show resolved Hide resolved
ServoDyn 74 CablesSection ---------------------- CABLE CONTROL -------------------------------------------
ServoDyn 75 CCmode 0 CCmode - Cable control mode {0: none, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)
HydroDyn driver 6 WtrDens 1025 WtrDens - Water density (kg/m^3)
HydroDyn driver 7 WtrDpth 200 WtrDpth - Water depth (m)
HydroDyn driver 8 MSL2SWL 0 MSL2SWL - Offset between still-water level and mean sea level (m) [positive upward]
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ FALSE StC_Z_DOF - DOF on or off for StC Z (flag) [Used only when StC_
1 StC_X_DSP - StC X initial displacement (m) [relative to at rest position]
1 StC_Y_DSP - StC Y initial displacement (m) [relative to at rest position]
0 StC_Z_DSP - StC Z initial displacement (m) [relative to at rest position; used only when StC_DOF_MODE=1 and StC_Z_DOF=TRUE]
"none" StC_Z_PreLd - StC Z pre-load (N) {"gravity" to offset for gravity load; "none" or 0 to turn off} [used only when StC_DOF_MODE=1 and StC_Z_DOF=TRUE]
---------------------- StC CONFIGURATION -------------------------------------- [used only when StC_DOF_MODE=1 or 2]
10 StC_X_PSP - Positive stop position (maximum X mass displacement) (m)
-10 StC_X_NSP - Negative stop position (minimum X mass displacement) (m)
Expand Down Expand Up @@ -63,7 +64,8 @@ False Use_F_TBL - Use spring force from user-defined table (flag)
5.0000000E+00 2.4000000E+06 5.0000000E+00 2.4000000E+06 5.0000000E+00 2.4000000E+06
6.0000000E+00 4.8000000E+06 6.0000000E+00 4.8000000E+06 6.0000000E+00 4.8000000E+06
---------------------- StructCtrl CONTROL -------------------------------------------- [used only when StC_DOF_MODE=1 or 2]
0 StC_CMODE - Control mode (switch) {0:none; 1: Semi-Active Control Mode; 2: Active Control Mode}
0 StC_CMODE - Control mode (switch) {0:none; 1: Semi-Active Control Mode; 4: Active Control Mode through Simulink (not available); 5: Active Control Mode through Bladed interface}
0 StC_CChan - Control channel group (1:10) for stiffness and damping (StC_[XYZ]_K, StC_[XYZ]_C, and StC_[XYZ]_Brake) (specify additional channels for blade instances of StC active control -- one channel per blade) [used only when StC_DOF_MODE=1 or 2, and StC_CMODE=4 or 5]
andrew-platt marked this conversation as resolved.
Show resolved Hide resolved
1 StC_SA_MODE - Semi-Active control mode {1: velocity-based ground hook control; 2: Inverse velocity-based ground hook control; 3: displacement-based ground hook control 4: Phase difference Algorithm with Friction Force 5: Phase difference Algorithm with Damping Force} (-)
0 StC_X_C_HIGH - StC X high damping for ground hook control
0 StC_X_C_LOW - StC X low damping for ground hook control
Expand All @@ -88,7 +90,7 @@ False Use_F_TBL - Use spring force from user-defined table (flag)
0.6433 headLossCoeff_Y - Y TLCD head loss coeff (-)
1000 rho_Y - Y TLCD liquid density (kg/m^3)
---------------------- PRESCRIBED TIME SERIES --------------------------------- [used only when StC_DOF_MODE=4]
0 PrescribedForcesCoord- Prescribed forces are in global or local coordinates (switch) {1: global; 2: local}
1 PrescribedForcesCoord- Prescribed forces are in global or local coordinates (switch) {1: global; 2: local}
"TimeForceSeries.dat" PrescribedForcesFile - Time series force and moment (7 columns of time, FX, FY, FZ, MX, MY, MZ)
-------------------------------------------------------------------------------

Loading