dnv-bladed-api 5.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. dnv_bladed_api-5.0.0/.version +1 -0
  2. dnv_bladed_api-5.0.0/LICENSE +21 -0
  3. dnv_bladed_api-5.0.0/PKG-INFO +441 -0
  4. dnv_bladed_api-5.0.0/README.md +420 -0
  5. dnv_bladed_api-5.0.0/pyproject.toml +64 -0
  6. dnv_bladed_api-5.0.0/setup.cfg +4 -0
  7. dnv_bladed_api-5.0.0/src/dnv_bladed_api/__init__.py +56 -0
  8. dnv_bladed_api-5.0.0/src/dnv_bladed_api/_bladed_app_version.py +2 -0
  9. dnv_bladed_api-5.0.0/src/dnv_bladed_api/bladed_client.py +1182 -0
  10. dnv_bladed_api-5.0.0/src/dnv_bladed_api/bladed_version.py +10 -0
  11. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/__init__.py +5 -0
  12. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/__init__.py +596 -0
  13. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/accelerometer.py +73 -0
  14. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/active_damper.py +94 -0
  15. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/actuator_response.py +62 -0
  16. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/actuator_response_insert.py +82 -0
  17. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/added_inertia.py +89 -0
  18. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/added_inertia_insert.py +82 -0
  19. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/additional_constrained_wave.py +151 -0
  20. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerodynamic_information_calculation.py +101 -0
  21. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerodynamic_model.py +74 -0
  22. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerodynamic_model_insert.py +82 -0
  23. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerodynamic_properties.py +81 -0
  24. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerodynamic_settings.py +339 -0
  25. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerofoil.py +96 -0
  26. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aerofoil_library.py +150 -0
  27. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aileron.py +152 -0
  28. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/aileron_aerofoil_library.py +154 -0
  29. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/air_characteristics.py +75 -0
  30. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/alpha_line.py +91 -0
  31. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/angle_range.py +80 -0
  32. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/angle_vs_stiffness_torque.py +79 -0
  33. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/applied_load.py +114 -0
  34. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/applied_load_insert.py +82 -0
  35. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/applied_moment_vs_friction_torque.py +71 -0
  36. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/applied_xy_force_vs_friction_torque.py +71 -0
  37. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/applied_z_force_vs_friction_torque.py +71 -0
  38. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/assembly.py +150 -0
  39. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/assembly_node.py +167 -0
  40. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/automatic_mac_camy_fuchs.py +69 -0
  41. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/automatic_simple_cutoff_frequency.py +69 -0
  42. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/base_entity.py +274 -0
  43. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/beddoes_leishman_model.py +143 -0
  44. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/bending_torsion_coupling_terms_about_elastic_xy.py +83 -0
  45. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade.py +297 -0
  46. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_additional_inertia.py +75 -0
  47. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_aerodynamic_outputs.py +57 -0
  48. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_element_momentum.py +85 -0
  49. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_element_theory_corrections.py +83 -0
  50. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_hydrodynamic_outputs.py +69 -0
  51. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_load_outputs.py +201 -0
  52. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_modelling.py +113 -0
  53. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_modelling_insert.py +82 -0
  54. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_motion_outputs.py +93 -0
  55. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_output_group.py +322 -0
  56. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_output_group_library.py +154 -0
  57. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_outputs_for_cross_section.py +80 -0
  58. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_outputs_for_location.py +114 -0
  59. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_outputs_for_location_insert.py +82 -0
  60. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_outputs_for_position.py +80 -0
  61. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_point_loading.py +80 -0
  62. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/blade_point_mass.py +74 -0
  63. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/bladed_analysis.py +355 -0
  64. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/bladed_control.py +100 -0
  65. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/bladed_model.py +283 -0
  66. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/brake.py +93 -0
  67. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/brake_insert.py +82 -0
  68. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_diagram.py +247 -0
  69. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_diagram_mode_of_operation.py +62 -0
  70. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_diagram_mode_of_operation_insert.py +82 -0
  71. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_diagram_perturbations.py +53 -0
  72. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_idling.py +63 -0
  73. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_parked.py +93 -0
  74. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/campbell_power_production.py +74 -0
  75. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/circular_lidar_scan.py +80 -0
  76. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/component.py +78 -0
  77. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/component_insert.py +82 -0
  78. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/component_library.py +985 -0
  79. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/compressible_beddoes_leishman_model.py +63 -0
  80. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/conditional_event.py +46 -0
  81. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/connectable_node.py +104 -0
  82. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/constants.py +88 -0
  83. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/controlled_operation.py +56 -0
  84. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/controlled_stop.py +55 -0
  85. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/controller_fault.py +90 -0
  86. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/controller_lidar_settings.py +69 -0
  87. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/coordinate_systems.py +102 -0
  88. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/cross_section.py +341 -0
  89. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current.py +68 -0
  90. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_shear_time_history.py +82 -0
  91. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_shear_variation.py +67 -0
  92. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_shear_variation_insert.py +82 -0
  93. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_time_history.py +82 -0
  94. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_variation.py +67 -0
  95. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_direction_variation_insert.py +82 -0
  96. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_horizontal_shear_time_history.py +82 -0
  97. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_horizontal_shear_variation.py +67 -0
  98. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_horizontal_shear_variation_insert.py +82 -0
  99. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_insert.py +82 -0
  100. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_mean_speed_time_history.py +82 -0
  101. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_mean_speed_variation.py +67 -0
  102. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_mean_speed_variation_insert.py +82 -0
  103. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_vertical_shear_time_history.py +82 -0
  104. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_vertical_shear_variation.py +67 -0
  105. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/current_vertical_shear_variation_insert.py +82 -0
  106. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/currents.py +108 -0
  107. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/damper.py +50 -0
  108. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/damper_force_or_torque_vs_rate.py +79 -0
  109. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dimensionless_range.py +80 -0
  110. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_and_nacelle.py +591 -0
  111. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_and_nacelle_mass_properties.py +85 -0
  112. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_and_nacelle_moment_of_inertia.py +83 -0
  113. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_connectable_nodes.py +154 -0
  114. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_output_group.py +69 -0
  115. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/drivetrain_output_group_library.py +154 -0
  116. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dynamic_stall.py +116 -0
  117. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dynamic_stall_insert.py +82 -0
  118. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dynamic_upstream_wake.py +146 -0
  119. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dynamic_wake.py +97 -0
  120. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/dynamic_wake_insert.py +82 -0
  121. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/earthquake.py +90 -0
  122. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/electrical_grid.py +136 -0
  123. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/electrical_losses.py +61 -0
  124. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/electrical_losses_insert.py +82 -0
  125. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/emergency_stop_button.py +69 -0
  126. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/emergency_stop_operation.py +63 -0
  127. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/environment.py +222 -0
  128. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/equilibrium_state_solver_settings.py +79 -0
  129. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/equilibrium_wake_model.py +63 -0
  130. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/event.py +77 -0
  131. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/event_insert.py +82 -0
  132. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/evolving_turbulence.py +71 -0
  133. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/evolving_turbulence_exponential.py +73 -0
  134. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/evolving_turbulence_insert.py +82 -0
  135. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/evolving_turbulence_kristensen.py +63 -0
  136. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/explicit_newmark_beta_fixed_step.py +98 -0
  137. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/explicit_tower_can.py +85 -0
  138. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/exponential_shear_model.py +73 -0
  139. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/extension_pieces.py +72 -0
  140. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/external_controller.py +208 -0
  141. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/external_flow_source_for_wind.py +90 -0
  142. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/external_module.py +80 -0
  143. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/external_module_component.py +115 -0
  144. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/external_module_component_connectable_nodes.py +154 -0
  145. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/externally_stepped_simulation.py +103 -0
  146. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/fault.py +56 -0
  147. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/finite_element_blade_modelling.py +74 -0
  148. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/first_order_actuator_response.py +73 -0
  149. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/first_order_position_response.py +73 -0
  150. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/first_order_rate_response.py +73 -0
  151. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/first_order_secondary_rate_response.py +73 -0
  152. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/first_order_transducer_response.py +81 -0
  153. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/fixed_speed_active_damper.py +69 -0
  154. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/fixed_step_integrator.py +68 -0
  155. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/flex_body.py +166 -0
  156. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/flexibility.py +121 -0
  157. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/flexible_joint.py +46 -0
  158. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/flow_obstruction.py +75 -0
  159. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/foundation.py +73 -0
  160. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/foundation_insert.py +82 -0
  161. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/free_flow_model.py +63 -0
  162. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/frequency_vs_spectral_density.py +79 -0
  163. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/friction.py +75 -0
  164. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/friction_torque_vs_stiction_torque.py +71 -0
  165. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/frozen_wake_model.py +63 -0
  166. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/full_load_operation.py +71 -0
  167. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/gaussian.py +81 -0
  168. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/gearbox_mounting_rolling.py +83 -0
  169. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generalised_alpha_fixed_step.py +86 -0
  170. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator.py +188 -0
  171. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_output_group.py +69 -0
  172. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_output_group_library.py +154 -0
  173. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_overpower.py +91 -0
  174. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_overspeed.py +91 -0
  175. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_short_circuit.py +80 -0
  176. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/generator_speed_vs_generator_torque.py +71 -0
  177. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/gl2010_icing.py +80 -0
  178. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/glauert_skew_wake_model.py +73 -0
  179. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/grid_loss.py +69 -0
  180. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/grid_loss_energy_sink.py +80 -0
  181. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hardware_tracking.py +80 -0
  182. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/height_up_tower_vs_cd_cm.py +90 -0
  183. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/height_vs_shear_factor.py +71 -0
  184. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/high_speed_shaft_flexibility.py +71 -0
  185. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hub.py +180 -0
  186. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hub_connectable_nodes.py +154 -0
  187. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hub_mass_properties.py +92 -0
  188. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hub_output_group.py +81 -0
  189. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hub_output_group_library.py +154 -0
  190. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/hydrodynamic_calculation.py +108 -0
  191. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/iag_model.py +143 -0
  192. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/iced_condition.py +65 -0
  193. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/idealised_pitch_actuator.py +63 -0
  194. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/idealised_yaw_manoeuvre.py +68 -0
  195. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/iec4_icing.py +69 -0
  196. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/immediate_position_response.py +63 -0
  197. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/immediate_rate_response.py +63 -0
  198. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/implicit_newmark_beta_fixed_step.py +110 -0
  199. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/inclinometer.py +63 -0
  200. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/incompressible_beddoes_leishman_model.py +63 -0
  201. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/independent_pitch_hub.py +63 -0
  202. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_azimuth_position.py +72 -0
  203. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_condition.py +69 -0
  204. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_condition_insert.py +82 -0
  205. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_control_state.py +56 -0
  206. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_floating_position.py +82 -0
  207. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_pitch_position.py +82 -0
  208. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_position.py +56 -0
  209. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_rotor_speed.py +82 -0
  210. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/initial_yaw_angle.py +82 -0
  211. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/input_power_vs_loss.py +71 -0
  212. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/instantaneous_actuator_response.py +63 -0
  213. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/instantaneous_transducer_response.py +69 -0
  214. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/integrator.py +63 -0
  215. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/integrator_insert.py +82 -0
  216. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/interface_load_file.py +68 -0
  217. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/interpolated_aerofoil_library.py +148 -0
  218. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/irregular_waves.py +253 -0
  219. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/jonswap_pierson_moskowitz.py +102 -0
  220. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/laminar_flow_current.py +568 -0
  221. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/laminar_flow_wind.py +592 -0
  222. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar.py +407 -0
  223. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_beam.py +104 -0
  224. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_controller_scan.py +69 -0
  225. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_focal_distance_control.py +102 -0
  226. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_focal_distance_control_insert.py +82 -0
  227. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_mounting_position.py +90 -0
  228. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_scanning_pattern.py +68 -0
  229. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/lidar_scanning_pattern_insert.py +82 -0
  230. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_airy.py +69 -0
  231. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_electrical_losses.py +81 -0
  232. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_foundation.py +85 -0
  233. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_passive_damper.py +126 -0
  234. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_pitch_actuator.py +263 -0
  235. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linear_spring_damper.py +73 -0
  236. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linearisation_azimuth_positions.py +73 -0
  237. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linearisation_calculation.py +88 -0
  238. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/linearisation_perturbations.py +76 -0
  239. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/load_bank.py +84 -0
  240. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/load_sensor.py +63 -0
  241. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/logarithmic_shear_model.py +73 -0
  242. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/logging.py +223 -0
  243. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/look_up_shear_model.py +74 -0
  244. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/look_up_table_element.py +79 -0
  245. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/low_speed_shaft.py +107 -0
  246. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/mac_camy_fuchs.py +80 -0
  247. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/mass_properties.py +83 -0
  248. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/meandering_wake.py +73 -0
  249. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/measured_signal_properties.py +704 -0
  250. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/mechanical_losses.py +97 -0
  251. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/modal_analysis_calculation.py +74 -0
  252. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/modal_blade_modelling.py +84 -0
  253. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/modal_structural_modelling.py +84 -0
  254. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/model_linearisation.py +85 -0
  255. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/model_linearisation_perturbation_magnitudes.py +112 -0
  256. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/model_linearisation_perturbations.py +74 -0
  257. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/momentum_theory_corrections.py +329 -0
  258. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/motor_torque_applied_by_external_module.py +74 -0
  259. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/motor_torque_applied_by_other_external_module.py +63 -0
  260. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/motor_torque_set_by_external_controller.py +63 -0
  261. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/mounting.py +73 -0
  262. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/mounting_points.py +82 -0
  263. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/multiple_lidar_focal_distances.py +80 -0
  264. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_accelerometer.py +73 -0
  265. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_cover.py +100 -0
  266. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_inclinometer.py +63 -0
  267. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_sensor.py +72 -0
  268. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_sensor_insert.py +82 -0
  269. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nacelle_vibration.py +91 -0
  270. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/near_shore_current.py +79 -0
  271. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/near_surface_current.py +90 -0
  272. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/network_frequency_disturbance.py +93 -0
  273. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/network_voltage_disturbance.py +93 -0
  274. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nodes_at_heights.py +154 -0
  275. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nominal_hub_wind_speed_vs_minimum_steady_state_pitch_angle.py +71 -0
  276. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/nominal_hub_wind_speed_vs_rotor_speed_and_pitch_angle.py +80 -0
  277. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/non_linear_electrical_losses.py +74 -0
  278. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/non_linear_shaft_brake.py +74 -0
  279. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/normal_stop_operation.py +63 -0
  280. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/offset_and_rotated_coordinate_system.py +83 -0
  281. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/outputs.py +108 -0
  282. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/oye_dynamic_wake.py +83 -0
  283. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/oye_model.py +63 -0
  284. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pallet_mounting_flexibility.py +86 -0
  285. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pallet_nodding.py +73 -0
  286. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pallet_rolling.py +73 -0
  287. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/partial_load_operation.py +82 -0
  288. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/passive_transducer_response.py +91 -0
  289. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pendulum_damper.py +185 -0
  290. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pendulum_damper_mounting_position.py +90 -0
  291. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/performance_coefficients_calculation.py +105 -0
  292. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/permanently_stuck_pitch_system.py +80 -0
  293. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_acceleration_limits.py +71 -0
  294. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_actuation_limited.py +106 -0
  295. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_actuator.py +62 -0
  296. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_actuator_insert.py +82 -0
  297. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_friction_rate_relationship.py +73 -0
  298. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_friction_xy_force_relationship.py +73 -0
  299. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_friction_xy_moment_relationship.py +73 -0
  300. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_friction_z_force_relationship.py +73 -0
  301. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_kinetic_friction.py +107 -0
  302. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_bearing_stiction.py +83 -0
  303. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_constant_rate_safety_system.py +80 -0
  304. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_controller.py +278 -0
  305. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_controller_rate_safety_system.py +50 -0
  306. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_controller_torque_safety_system.py +50 -0
  307. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_end_stops.py +80 -0
  308. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault.py +55 -0
  309. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault_constant_rate.py +80 -0
  310. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault_constant_torque.py +80 -0
  311. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault_limp.py +80 -0
  312. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault_seizure.py +69 -0
  313. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_fault_seizure_at_angle.py +92 -0
  314. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_force_limits.py +75 -0
  315. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_force_minimum_maximum.py +71 -0
  316. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_limit_switches.py +75 -0
  317. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_position_vs_minimum_and_maximum_moment.py +83 -0
  318. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_rate_demand_set_by_external_controller.py +69 -0
  319. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_rate_limits.py +71 -0
  320. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_rate_varies_with_position.py +82 -0
  321. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_rate_varies_with_time.py +82 -0
  322. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_rate_vs_minimum_and_maximum_moment.py +83 -0
  323. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_safety_limit_switches.py +71 -0
  324. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_safety_system.py +83 -0
  325. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_safety_system_insert.py +82 -0
  326. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system.py +276 -0
  327. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system_connectable_nodes.py +154 -0
  328. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system_demand.py +385 -0
  329. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system_output_group.py +81 -0
  330. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system_output_group_library.py +154 -0
  331. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_system_rotary_drive.py +286 -0
  332. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_torque_limits.py +86 -0
  333. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_torque_minimum_maximum.py +71 -0
  334. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitch_torque_set_by_external_controller.py +69 -0
  335. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/pitt_and_peters_model.py +63 -0
  336. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/point_inertia.py +105 -0
  337. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/point_on_span.py +91 -0
  338. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/position_of_hub_centre.py +90 -0
  339. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/position_of_upwind_turbine.py +81 -0
  340. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/position_proportional_integral_deriviative.py +168 -0
  341. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_current_direction_shear_transient.py +151 -0
  342. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_current_direction_transient.py +151 -0
  343. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_current_horizontal_shear_transient.py +151 -0
  344. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_current_mean_speed_transient.py +151 -0
  345. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_current_vertical_shear_transient.py +151 -0
  346. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_lidar_scan.py +107 -0
  347. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_wind_direction_shear_transient.py +135 -0
  348. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_wind_direction_transient.py +135 -0
  349. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_wind_horizontal_shear_transient.py +135 -0
  350. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_wind_mean_speed_transient.py +135 -0
  351. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/preset_wind_vertical_shear_transient.py +135 -0
  352. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/proportional_integral_deriviative_for_position.py +293 -0
  353. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/proportional_integral_deriviative_for_rate.py +150 -0
  354. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/proportional_integral_deriviative_for_secondary_rate.py +150 -0
  355. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/radius_vs_deficit.py +71 -0
  356. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rate_proportional_integral_deriviative.py +168 -0
  357. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rate_vs_friction_torque.py +71 -0
  358. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rate_vs_position.py +79 -0
  359. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rate_vs_time.py +79 -0
  360. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/reference_coordinate_system.py +93 -0
  361. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/regular_waves.py +83 -0
  362. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_position_demand.py +85 -0
  363. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_position_demand_insert.py +82 -0
  364. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_rate_demand.py +85 -0
  365. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_rate_demand_insert.py +82 -0
  366. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_secondary_rate_demand.py +62 -0
  367. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/response_to_secondary_rate_demand_insert.py +82 -0
  368. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rigid_blade_modelling.py +63 -0
  369. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rigid_body_inertia.py +46 -0
  370. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rigid_body_point_inertia.py +109 -0
  371. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rigid_body_sixby_six_inertia.py +80 -0
  372. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rigid_structural_modelling.py +63 -0
  373. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rosette_lidar_scan.py +103 -0
  374. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotation.py +83 -0
  375. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotational_stiffness.py +74 -0
  376. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotor_idling_control_state.py +72 -0
  377. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotor_imbalances.py +100 -0
  378. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotor_in_power_production.py +63 -0
  379. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotor_overspeed.py +91 -0
  380. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/rotor_parked_control_state.py +72 -0
  381. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/runge_kutta_variable_step.py +107 -0
  382. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/safety_circuit_library.py +154 -0
  383. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/safety_system.py +159 -0
  384. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/safety_system_circuit.py +134 -0
  385. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/schema_helper.py +53 -0
  386. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/sea_state.py +406 -0
  387. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/second_order_actuator_response.py +83 -0
  388. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/second_order_position_response.py +83 -0
  389. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/second_order_rate_response.py +83 -0
  390. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/second_order_secondary_rate_response.py +83 -0
  391. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/second_order_transducer_response.py +93 -0
  392. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/selected_component_output_group.py +80 -0
  393. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/sensor.py +62 -0
  394. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/sensor_insert.py +82 -0
  395. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/sequential_timestep_adaptation.py +81 -0
  396. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/settings.py +99 -0
  397. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/shaft_input_power_vs_power_loss.py +71 -0
  398. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/shaft_input_torque_vs_resisting_torque.py +71 -0
  399. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/shaft_speed_vs_shaft_input_power_vs_power_loss.py +73 -0
  400. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/shaft_speed_vs_shaft_input_torque_vs_resisting_torque.py +73 -0
  401. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/shear_stiffnesses_along_elastic_xy.py +71 -0
  402. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/short_circuit.py +80 -0
  403. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties.py +401 -0
  404. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_acceleration.py +70 -0
  405. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_angle.py +70 -0
  406. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_angular_acceleration.py +70 -0
  407. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_angular_velocity.py +70 -0
  408. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_force.py +70 -0
  409. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_length.py +70 -0
  410. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_moment.py +70 -0
  411. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_power.py +70 -0
  412. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/signal_properties_velocity.py +70 -0
  413. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/simple_cutoff_frequency.py +80 -0
  414. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/simple_shaft_brake.py +81 -0
  415. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/simple_tower_can.py +95 -0
  416. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/simplified_linear_foundation.py +104 -0
  417. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/single_lidar_focal_distance.py +80 -0
  418. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/six_by_six_inertia.py +74 -0
  419. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/skew_wake_model.py +46 -0
  420. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/slipping_clutch.py +80 -0
  421. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/solver_settings.py +230 -0
  422. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/spinner.py +62 -0
  423. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/spring_force_or_torque_vs_position.py +79 -0
  424. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/standard_hub.py +66 -0
  425. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/standard_pitch_limit_switches.py +71 -0
  426. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/start_up_operation.py +63 -0
  427. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_calculation.py +67 -0
  428. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_calculation_insert.py +82 -0
  429. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_calculation_outputs.py +53 -0
  430. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_calculation_with_component_outputs.py +66 -0
  431. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_operational_loads_calculation.py +85 -0
  432. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_parked_loads_calculation.py +360 -0
  433. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_power_curve_calculation.py +128 -0
  434. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_wake_deficit.py +79 -0
  435. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/steady_wake_deficit_insert.py +82 -0
  436. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/stiffness_properties.py +111 -0
  437. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/stream_function.py +80 -0
  438. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/structural_mode_damping.py +63 -0
  439. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/structural_modelling.py +107 -0
  440. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/structural_modelling_insert.py +82 -0
  441. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/structure.py +46 -0
  442. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/sub_surface_current.py +91 -0
  443. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/superelement.py +163 -0
  444. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/superelement_connectable_nodes.py +154 -0
  445. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/support_structure_point_loading.py +50 -0
  446. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tide.py +68 -0
  447. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_domain_current.py +207 -0
  448. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_domain_outputs.py +207 -0
  449. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_domain_simulation.py +1580 -0
  450. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_domain_wind.py +469 -0
  451. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_current_direction.py +79 -0
  452. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_current_direction_shear.py +79 -0
  453. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_current_horizontal_shear.py +79 -0
  454. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_current_mean_speed.py +79 -0
  455. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_current_vertical_shear.py +79 -0
  456. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_frequency_change.py +79 -0
  457. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_torque.py +71 -0
  458. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_voltage_change.py +79 -0
  459. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_wind_direction.py +71 -0
  460. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_wind_direction_shear.py +71 -0
  461. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_wind_horizontal_shear.py +71 -0
  462. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_wind_mean_speed.py +71 -0
  463. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/time_vs_wind_vertical_shear.py +71 -0
  464. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/timed_event.py +55 -0
  465. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower.py +640 -0
  466. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_aerodynamic_properties.py +74 -0
  467. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can.py +81 -0
  468. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_cross_section_properties.py +55 -0
  469. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_cross_section_properties_where_different.py +55 -0
  470. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_cross_section_with_sensors.py +280 -0
  471. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_insert.py +82 -0
  472. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_modelling.py +71 -0
  473. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_properties_by_material.py +63 -0
  474. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_properties_by_material_where_different.py +63 -0
  475. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_properties_explicit.py +94 -0
  476. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_properties_explicit_where_different.py +94 -0
  477. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_can_torsional_properties.py +73 -0
  478. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_connectable_node.py +68 -0
  479. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_connectable_nodes.py +154 -0
  480. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_hydrodynamic_properties.py +93 -0
  481. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_material.py +83 -0
  482. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_materials_library.py +150 -0
  483. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_node_at_height_outputs.py +104 -0
  484. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_node_loads.py +151 -0
  485. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_node_outputs.py +93 -0
  486. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_output_group.py +138 -0
  487. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_output_group_library.py +154 -0
  488. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_point_loading.py +80 -0
  489. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_shadow_potential_flow.py +62 -0
  490. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/tower_shadow_powles.py +80 -0
  491. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_behaviour.py +72 -0
  492. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_behaviour_insert.py +82 -0
  493. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults.py +233 -0
  494. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_acceleration.py +57 -0
  495. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_angle.py +57 -0
  496. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_angular_acceleration.py +57 -0
  497. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_angular_velocity.py +57 -0
  498. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_force.py +57 -0
  499. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_length.py +57 -0
  500. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_moment.py +57 -0
  501. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_power.py +57 -0
  502. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/transducer_faults_velocity.py +57 -0
  503. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/translation.py +93 -0
  504. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/translational_stiffness.py +74 -0
  505. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/turbine.py +134 -0
  506. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/turbine_operational_parameters.py +95 -0
  507. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/turbulent_current.py +193 -0
  508. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/turbulent_wind.py +333 -0
  509. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/use_setpoint_trajectory_planning.py +69 -0
  510. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/user_defined_wake_deficit.py +74 -0
  511. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/user_defined_waves.py +82 -0
  512. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/variable_speed_active_damper.py +69 -0
  513. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/variable_speed_generator.py +102 -0
  514. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/variable_speed_pitch_regulated_control_model.py +104 -0
  515. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/vector3_d.py +74 -0
  516. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/velocity_range.py +80 -0
  517. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/velocity_vs_damping_torque.py +79 -0
  518. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/vortex_line.py +278 -0
  519. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wake_properties_of_upstream_turbine.py +71 -0
  520. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/water_characteristics.py +69 -0
  521. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wave_diffraction_approximation.py +69 -0
  522. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wave_diffraction_approximation_insert.py +82 -0
  523. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wave_spectrum.py +140 -0
  524. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/waves.py +70 -0
  525. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/waves_insert.py +82 -0
  526. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind.py +62 -0
  527. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_shear_time_history.py +74 -0
  528. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_shear_variation.py +61 -0
  529. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_shear_variation_insert.py +82 -0
  530. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_time_history.py +74 -0
  531. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_variation.py +61 -0
  532. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_direction_variation_insert.py +82 -0
  533. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_horizontal_shear_time_history.py +74 -0
  534. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_horizontal_shear_variation.py +61 -0
  535. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_horizontal_shear_variation_insert.py +82 -0
  536. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_insert.py +82 -0
  537. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_mean_speed_time_history.py +74 -0
  538. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_mean_speed_variation.py +61 -0
  539. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_mean_speed_variation_insert.py +82 -0
  540. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_shear.py +62 -0
  541. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_shear_insert.py +82 -0
  542. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_vertical_shear_time_history.py +74 -0
  543. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_vertical_shear_variation.py +61 -0
  544. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/wind_vertical_shear_variation_insert.py +82 -0
  545. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/xml_blade_outputs.py +93 -0
  546. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_actuation.py +83 -0
  547. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_actuation_insert.py +82 -0
  548. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_bearing.py +80 -0
  549. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_fault.py +46 -0
  550. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_fault_constant_rate.py +91 -0
  551. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_fault_constant_torque.py +80 -0
  552. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_fault_limp.py +102 -0
  553. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_manoeuvre.py +93 -0
  554. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_system.py +243 -0
  555. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_system_connectable_nodes.py +154 -0
  556. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_system_output_group.py +69 -0
  557. dnv_bladed_api-5.0.0/src/dnv_bladed_api/models/simulate/yaw_system_output_group_library.py +154 -0
  558. dnv_bladed_api-5.0.0/src/dnv_bladed_api.egg-info/PKG-INFO +441 -0
  559. dnv_bladed_api-5.0.0/src/dnv_bladed_api.egg-info/SOURCES.txt +560 -0
  560. dnv_bladed_api-5.0.0/src/dnv_bladed_api.egg-info/dependency_links.txt +1 -0
  561. dnv_bladed_api-5.0.0/src/dnv_bladed_api.egg-info/requires.txt +1 -0
  562. dnv_bladed_api-5.0.0/src/dnv_bladed_api.egg-info/top_level.txt +1 -0
@@ -0,0 +1 @@
1
+ 5.0.0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 DNV
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,441 @@
1
+ Metadata-Version: 2.4
2
+ Name: dnv_bladed_api
3
+ Version: 5.0.0
4
+ Summary: An API for working with Bladed 5.
5
+ Author-email: DNV <renewables.support@dnv.com>
6
+ Project-URL: homepage, https://mysoftware.dnv.com/knowledge-centre/bladed-5
7
+ Keywords: bladed
8
+ Classifier: Operating System :: OS Independent
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Requires-Python: >=3.9
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: pydantic<3.0.0,>=2.11.0
20
+ Dynamic: license-file
21
+
22
+ # Bladed 5 Python application API - `dnv-bladed-api`
23
+
24
+ A package to:
25
+
26
+ - Automate the Bladed 5 application natively from Python, in an idiomatic and performant way (**currently Windows only**)
27
+ - Create input models in memory and/or as JSON files, with typing support in the IDE, and runtime verification, to ensure inputs are constructed in the correct format.
28
+
29
+ Simulation results can be processed using the related `dnv-bladed-results` package.
30
+
31
+ Visit <https://mysoftware.dnv.com/knowledge-centre/bladed-5> for more information.
32
+
33
+ ## Prerequisites
34
+
35
+ - Python 3.9 or above
36
+ - Bladed 5 application installed with a valid licence, in order to use the `BladedClient` class - **currently only available on Windows**
37
+
38
+ ## Installation
39
+
40
+ The package is available on PyPI and can be installed using pip:
41
+
42
+ ```shell
43
+ pip install dnv-bladed-api==5.0.*
44
+ ```
45
+
46
+ The major and minor version numbers should match the version of Bladed you are using, while the patch version can be left as a wildcard to get the latest patch release.
47
+
48
+ Tutorials and further documentation can be found at:
49
+ <https://mysoftware.dnv.com/knowledge-centre/bladed-5>
50
+
51
+ ## Usage
52
+
53
+ ### Access all application functions with a `BladedClient` object on Windows
54
+
55
+ ```python
56
+ import dnv_bladed_api
57
+
58
+ # Create a client object once at the start of a script
59
+ bladed = dnv_bladed_api.BladedClient()
60
+ ```
61
+
62
+ All of the application commands available via the Bladed CLI are also available via a `BladedClient` object in Python.
63
+
64
+ Create a single client object for use in your script, to invoke multiple commands as required.
65
+
66
+ ### Running simulations on Windows
67
+
68
+ Invoke the `simulate` function on the client object to run a simulation.
69
+
70
+ ```python
71
+ bladed.simulate('path/to/analysis.json', output_dir='path/to/results', log_to_console=True, verbosity='warning')
72
+ ```
73
+
74
+ Explore all available parameters via the doc string.
75
+
76
+ An `BladedCommandError` is raised if the simulation does not complete successfully.
77
+
78
+ ### Converting Bladed 4 project files on Windows
79
+
80
+ Invoke the `convert_bladed4` function on the client object to convert a Bladed 4 project to a Bladed 5 JSON model. The same behavior and restrictions apply to this function as they do to the CLI command.
81
+
82
+ This function always returns a result object, that describes the status of the conversion; it never raises an error. So the result object should be inspected to understand the outcome.
83
+
84
+ The converter takes an optimistic approach, and will produce an output file when at all possible, even if there were issues encountered with some of the models.
85
+
86
+ More severe issues, that will likely prevent the output file from yielding a successful simulation, are recorded as errors.
87
+
88
+ It's likely that errors or warnings are produced during the conversion (even though an output file is produced), that you should understand before proceeding to use the output file.
89
+
90
+ ```python
91
+ result = bladed.convert_bladed4('path/to/project.prj', output_dir='converted-projects/')
92
+
93
+ if result.conversion_aborted:
94
+ print("Conversion was aborted. check logs for details.")
95
+ elif result.converted_with_errors:
96
+ print("Conversion completed with errors that must be considered. check logs for details.")
97
+ elif result.converted_with_warnings:
98
+ print("Conversion completed with warnings that should be considered. check logs for details.")
99
+ else:
100
+ print("Conversion completed successfully with no issues.")
101
+ ```
102
+
103
+ ### Resolve distributed input files on Windows
104
+
105
+ Bladed 5 JSON models can be divided and distributed across multiple physical files (using the `$insert` keyword). They can then be 'resolved' or re-combined into a single model for processing when required.
106
+
107
+ The `BladedClient` object provides several different ways to perform the resolve operation, depending on your use case.
108
+
109
+ #### A. Resolve a distributed model into a Python object
110
+
111
+ The most common case for Python scripting is when a distributed model needs to be resolved into a single Python object, and then some analysis or visualisation performed on the full model in Python code.
112
+
113
+ The `resolve_to_object` function should be used in this case:
114
+
115
+ ```python
116
+ import dnv_bladed_api.models as models
117
+
118
+ resolved_blade = bladed.resolve_to_object('path/to/blade.json', cls=models.simulate.Blade)
119
+ ```
120
+
121
+ > NOTE: The `cls` parameter is required in this case, to specify which type of model object is expected to be created.
122
+
123
+ The less common case of resolving an object that contains distributed references, into another object, can be performed with the same `resolve_to_object` function, by providing a model object as the source parameter:
124
+
125
+ ```python
126
+ tower = models.simulate.Tower.from_file('./path/to/tower.json')
127
+ resolved_tower = bladed.resolve_to_object(tower)
128
+ ```
129
+
130
+ #### B. Resolve a distributed model directly to a file
131
+
132
+ The `resolve_to_file` function is also available, to output the resolved model directly to a file.
133
+
134
+ This can be invoked in two ways:
135
+
136
+ To resolve a distributed model stored in a file:
137
+
138
+ ```python
139
+ import dnv_bladed_api.models as models
140
+
141
+ bladed.resolve_to_file('path/to/blade.json', 'path/to/resolved_blade.json')
142
+ ```
143
+
144
+ To resolve a distributed model in a python object:
145
+
146
+ ```python
147
+ distributed_tower = models.simulate.Tower.from_file('./path/to/tower.json')
148
+ bladed.resolve_to_file(distributed_tower, './path/to/resolved_tower.json')
149
+ ```
150
+
151
+ ### Validate models on Windows
152
+
153
+ Invoke the 'validate' application command via the client object.
154
+
155
+ Validate a model object:
156
+
157
+ ```python
158
+ import dnv_bladed_api.models as models
159
+
160
+ tower = models.simulate.Tower.from_file('path/to/tower.json')
161
+
162
+ # raises an error if fails validation
163
+ bladed.validate(tower)
164
+
165
+ # returns a result object for inspection
166
+ if not bladed.check_validity(tower).is_valid:
167
+ print("Tower is invalid")
168
+ ```
169
+
170
+ Validate a JSON file directly:
171
+
172
+ ```python
173
+ import dnv_bladed_api.models as models
174
+
175
+ # raises an error if fails validation
176
+ bladed.validate('path/to/tower.json')
177
+
178
+ # returns a result object for inspection
179
+ if not bladed.check_validity('path/to/tower.json').is_valid:
180
+ print("Tower is invalid")
181
+ ```
182
+
183
+ ### Create input models
184
+
185
+ ```python
186
+ import dnv_bladed_api.models as models
187
+ ```
188
+
189
+ There are hundreds of model classes in the Bladed Simulate schema.
190
+
191
+ The root model is `BladedAnalysis`; this is the root input required by the 'simulate' command.
192
+
193
+ The same capabilities are available for all model classes; each one can be read and written to JSON individually, as demonstrated below.
194
+
195
+ #### Load a full Bladed JSON analysis model from file
196
+
197
+ ```python
198
+ analysis = models.simulate.BladedAnalysis.from_file('/path/to/analysis.json')
199
+ ```
200
+
201
+ This will perform some validation of the input to ensure the structure adheres to the input schema.
202
+
203
+ #### Save a model to a JSON file
204
+
205
+ ```python
206
+ analysis.to_file('/path/to/file.json')
207
+ ```
208
+
209
+ The JSON file can then be opened in VS Code, and will automatically receive validation, doc-string and auto-complete support against the Bladed JSON Schema.
210
+
211
+ #### Load a model from a JSON string
212
+
213
+ ```python
214
+ analysis = models.simulate.BladedAnalysis.from_json(json_str)
215
+ ```
216
+
217
+ This will perform some validation of the input to ensure the structure adheres to the input schema.
218
+
219
+ #### Render a model as a JSON string
220
+
221
+ ```python
222
+ json_str = analysis.to_json()
223
+ ```
224
+
225
+ ### Create a new model object in code
226
+
227
+ Create a new instance of the `BladedAnalysis` model object:
228
+
229
+ ```python
230
+ analysis = models.simulate.BladedAnalysis()
231
+ ```
232
+
233
+ A model object can be created with an empty initialiser as shown above, or by specifying some or all of the child models as keyword arguments:
234
+
235
+ ```python
236
+ beam = models.simulate.LidarBeam(
237
+ MountingPosition=models.simulate.LidarMountingPosition(
238
+ X=1,
239
+ Y=2,
240
+ Z=3
241
+ )
242
+ )
243
+ ```
244
+
245
+ ### Modify a model object in code
246
+
247
+ If a model object is already loaded, properties can be modified as required:
248
+
249
+ ```python
250
+ analysis.Constants.AirCharacteristics.Density = 1.23
251
+ ```
252
+
253
+ ### Manipulate the turbine assembly
254
+
255
+ Access existing component definitions:
256
+
257
+ ```python
258
+ # Access a known existing component by it's key, ensuring the correct type
259
+ blade = analysis.Turbine.ComponentLibrary.Component_as_Blade('blade')
260
+
261
+ # Iterate over all component entries...
262
+ for key, component in analysis.Turbine.ComponentLibrary.items():
263
+ print(f"Component key: {key}, Component type: {component.ModelType}")
264
+ ```
265
+
266
+ Access existing nodes in the Assembly tree using string and integer accessors:
267
+
268
+ ```python
269
+ blade_node = analysis.Turbine.Assembly['Hub']['PitchSystem_1'][0]
270
+
271
+ # or
272
+ blade_node = analysis.Turbine.Assembly['Hub']['PitchSystem_1']['Blade']
273
+
274
+ # or
275
+ blade_nodes = [ps_node[0] for node_name, ps_node in analysis.Turbine.Assembly['Hub'].items()]
276
+ ```
277
+
278
+ Add new nodes and component definitions:
279
+
280
+ ```python
281
+ analysis.Turbine.ComponentLibrary['MyHub'] = models.IndependentPitchHub()
282
+ analysis.Turbine.ComponentLibrary['MyPitchSystem'] = models.PitchSystem()
283
+ analysis.Turbine.ComponentLibrary['MyBlade'] = models.Blade()
284
+
285
+ hub_node = models.simulate.AssemblyNode(
286
+ Definition = "ComponentLibrary.MyHub"
287
+ )
288
+ for i in range(1, 4):
289
+ blade_node = models.simulate.AssemblyNode(
290
+ Definition = "ComponentLibrary.MyBlade"
291
+ )
292
+ ps_node = models.simulate.AssemblyNode(
293
+ Definition = "ComponentLibrary.MyPitchSystem"
294
+ )
295
+ ps_node[f'Blade'] = blade_node
296
+ hub_node[f'PitchSystem_{i}'] = ps_node
297
+
298
+ analysis.Turbine.Assembly['Hub'] = hub_node
299
+ ```
300
+
301
+ ### Change a model to an alternative choice
302
+
303
+ Some model properties can be set to one of a number of different model types, to allow a choice between different options available in the calculation.
304
+
305
+ The property must simply be set to an object of one of the valid types. The valid types available are included in the doc strings, and the schema documentation available at <https://mysoftware.dnv.com/knowledge-centre/bladed-5>.
306
+
307
+ The example below is for dynamic stall. The detail of setting the specific properties on each model is omitted for brevity:
308
+
309
+ ```python
310
+ analysis.Settings.Aerodynamics.DynamicStall = models.simulate.OyeModel()
311
+
312
+ # or
313
+ analysis.Settings.Aerodynamics.DynamicStall = models.simulate.IAGModel()
314
+
315
+ # or
316
+ analysis.Settings.Aerodynamics.DynamicStall = models.simulate.CompressibleBeddoesLeishmanModel()
317
+
318
+ # or
319
+ analysis.Settings.Aerodynamics.DynamicStall = models.simulate.IncompressibleBeddoesLeishmanModel()
320
+ ```
321
+
322
+ ### Working with type checking tooling
323
+
324
+ If using type checking development tooling, there are helper methods available to access typed references to values that could be one of several types.
325
+
326
+ For example, to obtain a reference to the DynamicStall value, the following method can be used. An error will be raised at run time if the type specifier cannot be honoured by actual objects.
327
+
328
+ The `oye` variable will receive a type of 'OyeModel' by the type engine, and at runtime is assured to receive an object of that type, or an error is raised.
329
+
330
+ ```python
331
+ oye = analysis.Settings.Aerodynamics.DynamicStall_as_OyeModel
332
+ ```
333
+
334
+ Additionally, a reference to the union of all possible types can be obtained using the 'as' methods (this raises an error if the object is specified with an 'insert'):
335
+
336
+ ```python
337
+ dynamic_stall = analysis.Settings.Aerodynamics.DynamicStall_as_inline
338
+ ```
339
+
340
+ Similar methods are available for libraries and arrays.
341
+
342
+ ```python
343
+ # Get the tower object as a specific reference from the library
344
+ tower = analysis.Turbine.ComponentLibrary.Component_as_Tower('tower')
345
+
346
+ # Get a Tower Can by index, as a reference to a specific type
347
+ first_simple_can = tower.Cans_element_as_SimpleTowerCan(0)
348
+
349
+ # or process tower cans using a union of all possible types
350
+ for i, can in enumerate(tower.Cans_as_inline):
351
+ can.CanHeight = i * 10
352
+ ```
353
+
354
+ ### Working with distributed files (`$insert`)
355
+
356
+ The API can be used to:
357
+
358
+ - Separate out a JSON file into multiple distributed files
359
+ - Read in individual files that have been distributed
360
+ - Resolve distributed files back into a single object (using the `resolve` methods on the `BladedClient` class, see above)
361
+
362
+ Given the following JSON:
363
+
364
+ ```json
365
+ {
366
+ "SteadyCalculation": {
367
+ "$type": "AerodynamicInformation",
368
+ ...
369
+ },
370
+ "Constants": {
371
+ "AccelerationDueToGravity": 9.8100004196167,
372
+ ...
373
+ }
374
+ }
375
+ ```
376
+
377
+ 1. Read in the document from a file:
378
+
379
+ ```python
380
+ analysis = models.simulate.BladedAnalysis.from_file(analysis_file)
381
+ ```
382
+
383
+ 2. Extract objects to separate files, and record the path reference in the owning object:
384
+
385
+ ```python
386
+ analysis.SteadyCalculation_as_inline.extract_to_insert_from_file('steady-calc/aero_info.json', analysis_file)
387
+
388
+ assert analysis.SteadyCalculation.is_insert == True
389
+
390
+ analysis.Constants.extract_to_insert_from_file('constants.json', analysis_file)
391
+
392
+ assert analysis.Constants.is_insert == True
393
+ ```
394
+
395
+ These operations will write new JSON files relative to the directory of `analysis_file`, containing the JSON representation of the respective object.
396
+
397
+ i.e.
398
+
399
+ In the directory of `analysis_file`:
400
+
401
+ - `steady-calc/aero_info.json` : Will contain the full JSON representation of the `AerodynamicInformationCalculation` model object.
402
+
403
+ - `constants.json` : Will contain the full JSON representation of the `Constants` model object.
404
+
405
+ 3. Write out the updated analysis object to file, that now contains '$insert' references:
406
+
407
+ ```python
408
+ analysis.to_file(analysis_file)
409
+ ```
410
+
411
+ The following JSON will be written:
412
+
413
+ ```json
414
+ {
415
+ "SteadyCalculation": {
416
+ "$insert": "steady-calc/aero-info.json"
417
+ },
418
+ "Constants": {
419
+ "$insert": "constants.json"
420
+ }
421
+ }
422
+ ```
423
+
424
+ 4. Read in a JSON document that contains inserts:
425
+
426
+ ```python
427
+ distributed_analysis = models.simulate.BladedAnalysis.from_file(analysis_file)
428
+
429
+ # Test and inspect
430
+ assert distributed_analysis.SteadyCalculation.is_insert == True
431
+ print(distributed_analysis.SteadyCalculation.insert)
432
+
433
+ # Attempting to treat the now distributed model object as 'in-line', will yield an error
434
+ try:
435
+ steady_calc = distributed_analysis.SteadyCalculation_as_inline
436
+ except ValueError as e:
437
+ print(e)
438
+
439
+ # Update the insert location
440
+ distributed_analysis.SteadyCalculation.insert = 'new-dir/aero-info.json'
441
+ ```