Kynema

Overview

Kynema is an open-source flexible multibody dynamics (FMD) solver designed for time-domain simulations. While tailored for wind turbine structural dynamics, the formulation and implementation is that of a general FMD solver and can readily be applied to other systems. Kynema was designed with a narrow focus, namely to provide a lightweight, accurate FMD solver for coupling to fluid-dynamics codes in wind turbine research, especially the ExaWind [@Sprague-etal:2020,@Sharma-etal:2023,@Kuhn-etal:2025] suite of computational-fluid-dynamics codes. Wind turbine blades and towers are long slender structures; as such turbines can be represented at high-fidelity with beams, rigid bodies, and constraints. Kynema provides these model elements, where degrees of freedom are defined in the inertial/global frame of reference and include displacements and rotations (formally as rotation matrices, but stored as quaternions). The underlying formulation is built on a Lie-group time integrator for index-3 differential-algebraic equations which is second-order accurate in time [@Bruls-etal:2012]. Beam models are based on geometrically exact beam theory (GEBT) and are discretized as high-order spectral finite elements similar to those in the BeamDyn module [@Wang-etal:2017] of OpenFAST [@Jonkman:2013]. The governing equations for a FMD system like a wind turbine form a highly nonlinear system of constrained partial-differential equations. Kynema uses analytical Jacobians in the nonlinear-system solves performed at each time step. Linear systems use sparse storage and several third-party sparse-linear-system solvers are enabled. Ill conditioning of our linear systems are mitigated with preconditioning described in [@Bottasso-etal:2008]. Kynema is integrated with a simple open-source controller [@Abbas-etal:2022]. Kynema is written in C++ and leverages Kokkos and Kokkos-Kernels as its performance portability layer enabling simulations on both CPU and GPU systems. The repository is equipped with extensive automated testing at the unit and regression/system levels including several full reference megawatt-scale reference turbines. Kynema fills the need for a lightweight, open-source turbine structural dynamics code that is high fidelity, robust, fast, and capable on running on different computer architectures.

Software-development objectives of Kynema

  • Kynema adheres to modern software development best practices. The development process emphasizes test-driven development (TDD), version control, hierarchical automated testing, and continuous integration, leading to a robust development environment.

  • Kynema is being developed in modern C++ and leverages Kokkos as its performance-portability library, drawing inspiration from the ExaWind stack.

  • The core data structures are crafted to be memory efficient, enabling vectorization and parallelization at multiple levels.

  • These structures are data-oriented to leverage accelerated computing methods, including high utilization of chip resources (e.g., single instruction multiple data, SIMD), parallelization through GPGPUs or other hardware, and support for memory-efficient architectures.

  • The computational algorithms incorporate robust open-source libraries for mathematical operations, resource allocation, and data management.

  • The API design considers the needs of multiple stakeholders, ensuring integration with existing and future ecosystems for data science, machine learning, and AI.

Indices and tables

References (this page)

Abbas, N.J., D.S. Zalkind, L. Pao, and A. Wright. 2022. “A reference open-source controller for fixed and floating offshore wind turbines.” Wind Energy Science 7 53-73. https://doi.org/10.5194/wes-7-53-2022

Bauchau, O. A. 2011. Flexible Multibody Dynamics. Springer.

Bottasso, C.L., D. Dopicao, and L. Trainelli. 2008. “On the optimal scaling of index three {DAEs} in multibody dynamics.” Multibody System Dynamics 19 3–20. https://doi.org/10.1007/s11044-007-9051-9

Brüls, O., A. Cardona, and M. Arnold. 2012. “Lie Group Generalized-\(\alpha\) time integration for constrained flexible multibody systems.” Mechanism and Machine Theory 48, 121–37. https://doi.org/10.1016/j.mechmachtheory.2011.07.017

Jonkman, J. M. 2013. “The new modularization framework for the FAST wind turbine CAE tool.” In Proceedings of the 51st AIAA Aerospace Sciences Meeting Including the New Horizons Forum and Aerospace Exposition. Grapevine, Texas. https://www.osti.gov/servlets/purl/1068607

Kuhn, M., M. Henry de Frahan, and P. Mohan et al. 2025. “AMR-Wind: A Performance-Portable, High-Fidelity Flow Solver for Wind Farm Simulations.” Wind Energy 28, e70010. https://doi.org/https://doi.org/10.1002/we.70010

Sharma, A., M. J. Brazell, and G. Vijayakumar et al. 2023. “ExaWind: Open-Source CFD for Hybrid-RANS/LES Geometry-Resolved Wind Turbine Simulations in Atmospheric Flows.” Wind Energy 27 (3): 225–57. https://doi.org/10.1002/we.2886

Sprague, M.A., S. Ananthan, G. Vijayakumar, and M. Robinson. 2020. “ExaWind: A multi-fidelity modeling and simulation environment for wind energy.” Journal of Physics: Conference Series 1452, 012071. https://doi.org/10.1088/1742-6596/1452/1/012071

Wang, Q., M. A. Sprague, J. Jonkman, N. Johnson, and B. Jonkman. 2017. “BeamDyn: A High-Fidelity Wind Turbine Blade Solver in the FAST Modular Framework.” Wind Energy 20, 1439–62. https://doi.org/10.1002/we.2101