OpenFAST Logo
5.0
  • 1. This documentation
  • 2. Installing OpenFAST
  • 3. Working with OpenFAST
  • 4. User Documentation
    • 4.1. General considerations
    • 4.2. Glue Code
      • 4.2.1. Glue Code Overview
      • 4.2.2. Module Variables (ModVar)
      • 4.2.3. ModGlue – Combining Modules into Global Arrays
      • 4.2.4. Solver
      • 4.2.5. Linearization
    • 4.3. AeroDyn
    • 4.4. OLAF
    • 4.5. Aeroacoustics
    • 4.6. AeroDisk
    • 4.7. BeamDyn
    • 4.8. SubDyn
    • 4.9. ExtPtfm
    • 4.10. ElastoDyn
    • 4.11. HydroDyn
    • 4.12. SeaState
    • 4.13. InflowWind
    • 4.14. MoorDyn
    • 4.15. ServoDyn
    • 4.16. Simplified ElastoDyn
    • 4.17. Structural Control
    • 4.18. TurbSim
    • 4.19. FAST.Farm
    • 4.20. C++ API
    • 4.21. WaveTank
    • 4.22. Additional module documentation
    • 4.23. NWTC Subroutine Library
  • 5. Testing OpenFAST
  • 6. Developer Documentation
  • 7. Licensing
  • 8. Getting Help
  • 9. Acknowledgements
OpenFAST
  • 4. User Documentation
  • 4.2. Glue Code
  • View page source

4.2. Glue Code

The OpenFAST glue code is the layer of software that initializes each physics module, manages the flow of data between them, orchestrates the time-stepping loop, and—optionally—linearizes the assembled system. This section documents the glue code from a user and module-developer perspective.

  • 4.2.1. Glue Code Overview
    • 4.2.1.1. Source files
    • 4.2.1.2. Module coupling categories
    • 4.2.1.3. Time-stepping loop (overview)
  • 4.2.2. Module Variables (ModVar)
    • 4.2.2.1. Data structures
    • 4.2.2.2. Variable flags (VF_*)
    • 4.2.2.3. Field types (Field*)
    • 4.2.2.4. Adding module variables
    • 4.2.2.5. Perturbation values
    • 4.2.2.6. Orientation representation
  • 4.2.3. ModGlue – Combining Modules into Global Arrays
    • 4.2.3.1. The ModGlueType structure
    • 4.2.3.2. The iLoc index range
    • 4.2.3.3. What ModGlue_CombineModules does
    • 4.2.3.4. Where ModGlue_CombineModules is called
    • 4.2.3.5. How the global index enables matrix assembly
  • 4.2.4. Solver
    • 4.2.4.1. User input parameters
    • 4.2.4.2. Generalized-alpha integration
    • 4.2.4.3. Module ordering
    • 4.2.4.4. Jacobian construction
    • 4.2.4.5. Output channels from the solver
  • 4.2.5. Linearization
    • 4.2.5.1. User inputs for linearization
    • 4.2.5.2. Module support for linearization
    • 4.2.5.3. Variable selection
    • 4.2.5.4. Steady-state trimming (CalcSteady)
    • 4.2.5.5. linearization at an operating point
    • 4.2.5.6. Output file format
    • 4.2.5.7. Variable naming conventions
    • 4.2.5.8. Module developer responsibilities
Previous Next

© Copyright 2026, National Renewable Energy Laboratory.

Built with Sphinx using a theme provided by Read the Docs.