diff --git a/docs/OtherSupporting/DevelopmentPlan-SetPoint-Linearization.pdf b/docs/OtherSupporting/DevelopmentPlan-SetPoint-Linearization.pdf new file mode 100644 index 0000000000..dc006e8a2c Binary files /dev/null and b/docs/OtherSupporting/DevelopmentPlan-SetPoint-Linearization.pdf differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTCoordinateSystems.doc b/docs/OtherSupporting/ElastoDyn/FASTCoordinateSystems.doc new file mode 100644 index 0000000000..ae94fc1187 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTCoordinateSystems.doc differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTDOFs.xls b/docs/OtherSupporting/ElastoDyn/FASTDOFs.xls new file mode 100644 index 0000000000..1a6fe0ad42 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTDOFs.xls differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTKinematics.doc b/docs/OtherSupporting/ElastoDyn/FASTKinematics.doc new file mode 100644 index 0000000000..7fd5460d79 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTKinematics.doc differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTKinetics.doc b/docs/OtherSupporting/ElastoDyn/FASTKinetics.doc new file mode 100644 index 0000000000..8273930918 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTKinetics.doc differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTLoads.doc b/docs/OtherSupporting/ElastoDyn/FASTLoads.doc new file mode 100644 index 0000000000..34c0335f97 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTLoads.doc differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTLogicFlow.doc b/docs/OtherSupporting/ElastoDyn/FASTLogicFlow.doc new file mode 100644 index 0000000000..8a7131579b Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTLogicFlow.doc differ diff --git a/docs/OtherSupporting/ElastoDyn/FASTMotions.doc b/docs/OtherSupporting/ElastoDyn/FASTMotions.doc new file mode 100644 index 0000000000..c72b3a75b3 Binary files /dev/null and b/docs/OtherSupporting/ElastoDyn/FASTMotions.doc differ diff --git a/docs/OtherSupporting/FAST8_README.pdf b/docs/OtherSupporting/FAST8_README.pdf new file mode 100644 index 0000000000..56d9745f1b Binary files /dev/null and b/docs/OtherSupporting/FAST8_README.pdf differ diff --git a/docs/OtherSupporting/LinearizationOfMeshMapping_Rev18_Rev2.doc b/docs/OtherSupporting/LinearizationOfMeshMapping_Rev18_Rev2.doc new file mode 100644 index 0000000000..434a37dcb5 Binary files /dev/null and b/docs/OtherSupporting/LinearizationOfMeshMapping_Rev18_Rev2.doc differ diff --git a/docs/OtherSupporting/ModulePlan_GasmiPaperExamples.doc b/docs/OtherSupporting/ModulePlan_GasmiPaperExamples.doc new file mode 100644 index 0000000000..00245961b4 Binary files /dev/null and b/docs/OtherSupporting/ModulePlan_GasmiPaperExamples.doc differ diff --git a/docs/OtherSupporting/Old_FAST6_UsersGuide.pdf b/docs/OtherSupporting/Old_FAST6_UsersGuide.pdf new file mode 100644 index 0000000000..1e8dfbab7c Binary files /dev/null and b/docs/OtherSupporting/Old_FAST6_UsersGuide.pdf differ diff --git a/docs/OtherSupporting/OpenFASTSteadyStateSolution_Rev7.doc b/docs/OtherSupporting/OpenFASTSteadyStateSolution_Rev7.doc new file mode 100644 index 0000000000..284a241bc9 Binary files /dev/null and b/docs/OtherSupporting/OpenFASTSteadyStateSolution_Rev7.doc differ diff --git a/docs/OtherSupporting/ProposedPCApproach_Rev4.docx b/docs/OtherSupporting/ProposedPCApproach_Rev4.docx new file mode 100644 index 0000000000..a512950c2e Binary files /dev/null and b/docs/OtherSupporting/ProposedPCApproach_Rev4.docx differ diff --git a/docs/OtherSupporting/UsingFAST4Labview.pdf b/docs/OtherSupporting/UsingFAST4Labview.pdf new file mode 100644 index 0000000000..b63c02c443 Binary files /dev/null and b/docs/OtherSupporting/UsingFAST4Labview.pdf differ diff --git a/docs/source/dev/index.rst b/docs/source/dev/index.rst index 81fa6aa01e..8c6b92d7ea 100644 --- a/docs/source/dev/index.rst +++ b/docs/source/dev/index.rst @@ -103,10 +103,13 @@ generally debugging and building out features. Other Documentation ~~~~~~~~~~~~~~~~~~~ Additional documentation exists that may be useful for developers seeking deeper -understanding of the solver and mathematics. This documentation is not generally -necessary for most development efforts. - -.. toctree:: - :maxdepth: 1 - - other_docs.rst +understanding of the solver and mathematics. + +- `NWTC Programmer’s Handbook `_ + This is an overview of programming guidelines for FAST 8. While some syntax and minor details have + changed in OpenFAST, most of this guide is still relevant. +- :download:`OutListParameters.xlsx <../../OtherSupporting/OutListParameters.xlsx>` + This Excel file contains the full list of outputs for each module. It is used to generate the + Fortran code for the output channel list handling for each module (this code is generally in + the _IO.f90 files). The MATLAB script available in the + `matlab-toolbox `__ repository at *Utilities/GetOutListParameters.m*. diff --git a/docs/source/dev/other_docs.rst b/docs/source/dev/other_docs.rst deleted file mode 100644 index e6592f8dfa..0000000000 --- a/docs/source/dev/other_docs.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. _other_docs: - -Other documentation -~~~~~~~~~~~~~~~~~~~ -Additional documentation exists that may be useful for developers seeking deeper -understanding of the solver and mathematics. This documentation is not generally -necessary for most development efforts. - -- :download:`DCM_Interpolation.pdf <../../OtherSupporting/DCM_Interpolation/DCM_Interpolation.pdf>` - This is a summary of the mathematics used in the interpolation of - DCM (direction cosine matrices) using logarithmic mapping and matrix exponentials. -- :download:`OpenFAST_Algorithms.pdf <../../OtherSupporting/OpenFAST_Algorithms/OpenFAST_Algorithms.pdf>` - This is a summary of the solve method used in the glue code. -- :download:`OutListParameters.xlsx <../../OtherSupporting/OutListParameters.xlsx>` - This Excel file contains the full list of outputs for each module. It is used to generate the - Fortran code for the output channel list handling for each module (this code is generally in - the _IO.f90 files). The MATLAB script available in the - `matlab-toolbox `__ repository at *Utilities/GetOutListParameters.m*. diff --git a/docs/source/user/elastodyn/index.rst b/docs/source/user/elastodyn/index.rst index d3ef2bdb8c..ac69e9ae31 100644 --- a/docs/source/user/elastodyn/index.rst +++ b/docs/source/user/elastodyn/index.rst @@ -1,18 +1,51 @@ ElastoDyn Users Guide and Theory Manual ======================================= -.. only:: html +This document offers a quick reference guide for the ElastoDyn software +program. It is intended to be used by the general user in combination +with other OpenFAST manuals. The manual will be updated as new releases are +issued and as needed to provide further information on advancements or +modifications to the software. For general information on OpenFAST, +users should refer to section :numref:`general-reference-docs`. - This document offers a quick reference guide for the ElastoDyn software - program. It is intended to be used by the general user in combination - with other OpenFAST manuals. The manual will be updated as new releases are - issued and as needed to provide further information on advancements or - modifications to the software. +.. note:: - The documentation here is incomplete. + We are in the process of migrating the documentation from FAST 8 to + OpenFAST. For reference, various portions of old documentation are + provided here. While most of it is still directly applicable + to OpenFAST, portions may be out of date. - + +The following documents are a detailed derivation of the equations of +motion of ElastoDyn. These documents have not been compiled into a report, +so they contain mostly equations and little explanatory text. A reader +with a background in kinematics and dynamics may be able to comprehend +the equations. The documents make the most sense if studied in the following order: + +1. :download:`FASTDOFs.xls <../../../OtherSupporting/ElastoDyn/FASTDOFs.xls>`: + Contains a listing of the DOF indices used by the equations of motion in FAST. +2. :download:`FASTCoordinateSystems.doc <../../../OtherSupporting/ElastoDyn/FASTCoordinateSystems.doc>`: + Documents the transformation matrices relating each coordinate system in FAST. Unfortunately, there are no pictures in this document that diagram these coordinate systems. They can hopefully be visualized by means of the transformation matrices. +3. :download:`FASTKinematics.doc <../../../OtherSupporting/ElastoDyn/FASTKinematics.doc>`: + Documents the linear position, velocity, and acceleration vectors of each "important" point in the system and documents the angular velocity and acceleration vectors of each "important" reference frame in the system. Also included is documentation of the partial velocity vectors needed by Kane's dynamics. +4. :download:`FASTKinetics.doc <../../../OtherSupporting/ElastoDyn/FASTKinetics.doc>`: + Documents the derivation of the equations of motion using Kane's dynamics. +5. :download:`FASTLoads.doc <../../../OtherSupporting/ElastoDyn/FASTLoads.doc>`: + Documents how the output loads are computed using terms from the equations of motion. +6. :download:`FASTMotions.doc <../../../OtherSupporting/ElastoDyn/FASTMotions.doc>`: + Documents how the output motions are computed using variables from the equations of motion. +7. :download:`FASTLogicFlow.doc <../../../OtherSupporting/ElastoDyn/FASTLogicFlow.doc>`: + Contains a listing of the subroutine names used by FAST. The names are listed in the order they are called within the program. + +There a few minor errors in the equations documented in these papers +that may be clear after understanding the equations. The implemented code does +not have these errors. The papers do not describe the Fortran source code and +variable naming conventions, but a source code comparison is possible +with careful study. + +Note that the "unofficial FAST Theory Manual" applies to the structural +equations of FAST v7 and the ElastoDyn module of FAST v8 and OpenFAST. + .. toctree:: input.rst - diff --git a/docs/source/user/index.rst b/docs/source/user/index.rst index 22c180f979..80afd97ef1 100644 --- a/docs/source/user/index.rst +++ b/docs/source/user/index.rst @@ -3,28 +3,78 @@ User Documentation ================== -This section contains documentation for the OpenFAST module-coupling environment and its underlying modules. -Documentation covers usage of models, underlying theory, and in some cases module verification. +We are in the process of transitioning legacy FAST v8 documentation, which can be found at https://www.nrel.gov/wind/nwtc.html. + +.. note:: -We are in the process of transitioning legacy FAST v8 documentation, which can be found at https://nwtc.nrel.gov/. -Details on the transition from FAST v8 to OpenFAST may be found in :numref:`fast_to_openfast` + Much of the documentation here is legacy documentation from FAST v8. While most of it is still + directly applicable to OpenFAST, portions may be out of date. + +.. _general-reference-docs: + +General +~~~~~~~ .. toctree:: :maxdepth: 1 + fast_to_openfast.rst api_change.rst input_file_overview.rst - aerodyn/index.rst - aerodyn-olaf/index.rst - aerodyn-aeroacoustics/index.rst - beamdyn/index.rst - subdyn/index.rst - elastodyn/index.rst - hydrodyn/index.rst - inflowwind/index.rst - servodyn/index.rst - servodyn-stc/StC_index.rst - fast_to_openfast.rst - cppapi/index.rst - fast.farm/index.rst +Workshop material, legacy documentation, and other resources are listed below. + +- `Workshop Presentations `_ +- :download:`Old FAST v6 User’s Guide <../../OtherSupporting/Old_FAST6_UsersGuide.pdf>` +- :download:`FAST v8 README <../../OtherSupporting/FAST8_README.pdf>` +- `Implementation of Substructure Flexibility and Member-Level Load Capabilities for Floating Offshore Wind Turbines in OpenFAST `_ +- `FAST modularization framework for wind turbine simulation: full-system linearization `_ +- `Full-System Linearization for Floating Offshore Wind Turbines in OpenFAST `_ +- :download:`FAST with Labview <../../OtherSupporting/UsingFAST4Labview.pdf>` +- :download:`OutListParameters.xlsx <../../OtherSupporting/OutListParameters.xlsx>` - Contains the full list of outputs for each module. + + +Module Documentation +~~~~~~~~~~~~~~~~~~~~ +This section contains documentation for the OpenFAST module-coupling environment and its underlying modules. +Documentation covers usage of models, underlying theory, and in some cases module verification. + +.. toctree:: + :maxdepth: 1 + + AeroDyn + OLAF + Aeroacoustics + BeamDyn + SubDyn + ElastoDyn + HydroDyn + InflowWind + ServoDyn + Structural Control + C++ API + FAST.Farm + + +Modularization Framework +~~~~~~~~~~~~~~~~~~~~~~~~ + +Information specific to the modularization framework of OpenFAST is provided here. These are a collection +of publications, presentations, and past studies on the subject. + +- `The New Modularization Framework for the FAST Wind Turbine CAE Tool `_ +- :download:`Example Module Implementation Plans <../../OtherSupporting/ModulePlan_GasmiPaperExamples.doc>` +- :download:`Module and Mesh-Mapping Linearization Implementation Plan <../../OtherSupporting/LinearizationOfMeshMapping_Rev18_Rev2.doc>` +- :download:`Interpolation of DCMs <../../OtherSupporting/DCM_Interpolation/DCM_Interpolation.pdf>` - A summary of the mathematics used in the interpolation of DCM (direction cosine matrices) using logarithmic mapping and matrix exponentials. +- :download:`Set-point Linearization Development Plan <../../OtherSupporting/DevelopmentPlan-SetPoint-Linearization.pdf>` + +.. - :download:`OpenFAST Steady State Solution <../../OtherSupporting/OpenFASTSteadyStateSolution_Rev7.doc>` + + +Glue Code and Mesh Mapping +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- `FAST Modular Wind Turbine CAE Tool: Nonmatching Spatial and Temporal Meshes `_ +- `FAST Modular Framework for Wind Turbine Simulation: New Algorithms and Numerical Examples `_ +- :download:`OpenFAST Algorithms <../../OtherSupporting/OpenFAST_Algorithms/OpenFAST_Algorithms.pdf>` - A summary of the solve method used in the glue code. +- :download:`Predictor-Corrector Approach <../../OtherSupporting/ProposedPCApproach_Rev4.docx>` diff --git a/docs/source/user/inflowwind/InflowWind_Manual.pdf b/docs/source/user/inflowwind/InflowWind_Manual.pdf new file mode 100644 index 0000000000..cafa735c52 Binary files /dev/null and b/docs/source/user/inflowwind/InflowWind_Manual.pdf differ diff --git a/docs/source/user/inflowwind/index.rst b/docs/source/user/inflowwind/index.rst index 07c59bbdab..8bdb736093 100644 --- a/docs/source/user/inflowwind/index.rst +++ b/docs/source/user/inflowwind/index.rst @@ -9,8 +9,8 @@ InflowWind Users Guide and Theory Manual issued and as needed to provide further information on advancements or modifications to the software. - The information here is incomplete. Please see the - `InflowWind Manual `__ + The information here is incomplete. Please see the original + :download:`InflowWind Manual ` until it has been converted to OpenFAST's documentation style. diff --git a/docs/source/user/input_file_overview.rst b/docs/source/user/input_file_overview.rst index 1f0b3b02be..06bd428d0f 100644 --- a/docs/source/user/input_file_overview.rst +++ b/docs/source/user/input_file_overview.rst @@ -1,8 +1,8 @@ .. _input_file_overview: -Overview of input file formats -============================== +Input file formats +================== OpenFAST uses two primary input file formats: *value column* where the first value on the line is read, and *key+value* where a value and keyword pair are