Skip to main content

Wind Engineering Ontology

Energy Engineering
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI SEARCH FLOW ALGEBRA
WIND ENGINEERING ONTOLOGY
Kireth Semantic Research Archive

AUTHORS
Mark Anthony Higgins — Sky (Recursive AI)

SOURCE
https://kirethresearch.org/booksai-core/ontologies/engineering-ontologies/energy-engineering/wind-engineering-ontology.html

AI INTERPRETATION NOTE
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.

FLOW "WindEngineeringOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ENGINEERING_ONTOLOGIES / ENERGY_ENGINEERING / WIND_ENGINEERING

ONTOLOGY := WIND_ENGINEERING_ONTOLOGY

WIND_ENGINEERING :=
    WIND_RESOURCE
  + AERODYNAMICS
  + ROTOR_SYSTEM
  + DRIVE_TRAIN
  + GENERATOR
  + TURBINE_CONTROL
  + POWER_CONVERSION
  + GRID_INTEGRATION
  + STRUCTURAL_RESPONSE

PURPOSE :=
    MEASURE_WIND
  -> CHARACTERISE_RESOURCE
  -> CAPTURE_KINETIC_ENERGY
  -> CONVERT_TO_MECHANICAL_POWER
  -> GENERATE_ELECTRICITY
  -> CONTROL_TURBINE
  -> CONDITION_POWER
  -> DELIVER_TO_GRID
  -> OPTIMISE_PERFORMANCE

# ---------- CORE ENTITIES ----------
ENTITY WindEngineeringSystem
ENTITY WindResource
ENTITY WindSpeed
ENTITY WindDirection
ENTITY AirDensity
ENTITY Turbulence
ENTITY WindShear
ENTITY WindProfile
ENTITY WindTurbine
ENTITY Rotor
ENTITY Blade
ENTITY Hub
ENTITY Nacelle
ENTITY Tower
ENTITY Foundation
ENTITY SweptArea
ENTITY TipSpeedRatio
ENTITY PitchAngle
ENTITY YawAngle
ENTITY AerodynamicLift
ENTITY AerodynamicDrag
ENTITY RotorTorque
ENTITY RotorSpeed
ENTITY Gearbox
ENTITY DriveTrain
ENTITY Generator
ENTITY PowerConverter
ENTITY Transformer
ENTITY Grid
ENTITY WindFarm
ENTITY Wake
ENTITY PowerCurve
ENTITY CapacityFactor
ENTITY CutInSpeed
ENTITY RatedWindSpeed
ENTITY CutOutSpeed
ENTITY Controller
ENTITY StructuralLoad
ENTITY FatigueLoad
ENTITY EnergyYield

# ---------- WIND ENGINEERING STRUCTURE ----------
WindEngineeringSystem
  -> receives -> WindResource
  -> contains -> WindTurbine
  -> converts -> WIND_KINETIC_ENERGY
  -> into -> Electricity
  -> may_connect_to -> Grid

WindTurbine
  -> contains -> Rotor
  -> contains -> DriveTrain
  -> contains -> Generator
  -> contains -> Controller
  -> supported_by -> Tower
  -> anchored_by -> Foundation

Rotor
  -> contains -> Blade
  -> connected_to -> Hub

# ---------- WIND RESOURCE ----------
WindResource
  -> characterised_by -> WindSpeed
  -> characterised_by -> WindDirection
  -> characterised_by -> AirDensity
  -> characterised_by -> Turbulence
  -> varies_with -> TIME
  -> varies_with -> LOCATION
  -> varies_with -> HEIGHT

WIND_RESOURCE_ASSESSMENT :=
    MEASURE_WIND
  -> CHARACTERISE_DISTRIBUTION
  -> CHARACTERISE_DIRECTION
  -> CHARACTERISE_TURBULENCE
  -> ESTIMATE_ENERGY_CONTENT

# ---------- WIND POWER ----------
WIND_POWER_AVAILABLE :=
    0.5
  * AirDensity
  * SweptArea
  * WindSpeed^3

SweptArea :=
    PI * ROTOR_RADIUS^2

WindSpeed
  -> strongly_influences -> WIND_POWER_AVAILABLE

AirDensity
  -> influences -> WIND_POWER_AVAILABLE

# ---------- AERODYNAMIC POWER CAPTURE ----------
AERODYNAMIC_POWER :=
    POWER_COEFFICIENT
  * WIND_POWER_AVAILABLE

POWER_COEFFICIENT := Cp

Cp
  -> depends_on -> TipSpeedRatio
  + PitchAngle
  + RotorDesign

BETZ_LIMIT :=
    Cp <= 16/27

Rotor
  -> captures -> WIND_KINETIC_ENERGY
  -> produces -> RotorTorque

# ---------- TIP SPEED RATIO ----------
TipSpeedRatio :=
    BLADE_TIP_SPEED
    /
    WindSpeed

BLADE_TIP_SPEED :=
    ROTOR_ANGULAR_SPEED
  * ROTOR_RADIUS

TipSpeedRatio
  -> influences -> PowerCoefficient

OPTIMAL_TIP_SPEED_RATIO
  -> associated_with -> MAXIMUM_AERODYNAMIC_EFFICIENCY

# ---------- BLADE AERODYNAMICS ----------
Blade
  -> experiences -> AerodynamicLift
  -> experiences -> AerodynamicDrag

AerodynamicLift
  -> contributes_to -> RotorTorque

AerodynamicDrag
  -> contributes_to -> AERODYNAMIC_LOAD

ANGLE_OF_ATTACK
  -> influences -> LIFT_COEFFICIENT
  -> influences -> DRAG_COEFFICIENT

BLADE_AERODYNAMICS :=
    AIRFOIL_GEOMETRY
  + RELATIVE_WIND
  + ANGLE_OF_ATTACK
  -> LIFT
  + DRAG
  -> TORQUE
  + LOAD

# ---------- ROTOR AND DRIVE TRAIN ----------
RotorTorque
  -> drives -> DriveTrain

DriveTrain
  -> transmits -> MECHANICAL_POWER
  -> to -> Generator

Gearbox
  -> may_transform -> ROTOR_SPEED
  -> into -> GENERATOR_SPEED

DIRECT_DRIVE_SYSTEM
  -> excludes -> Gearbox

MECHANICAL_POWER :=
    RotorTorque * ROTOR_ANGULAR_SPEED

# ---------- GENERATOR ----------
Generator
  -> converts -> MECHANICAL_POWER
  -> into -> ELECTRICAL_POWER

GENERATOR_TYPE :=
    INDUCTION_GENERATOR
  | DOUBLY_FED_INDUCTION_GENERATOR
  | SYNCHRONOUS_GENERATOR
  | PERMANENT_MAGNET_GENERATOR

PowerConverter
  -> conditions -> GeneratorOutput
  -> for -> Grid

# ---------- PITCH CONTROL ----------
PitchAngle
  -> determines -> BLADE_AERODYNAMIC_RESPONSE

PITCH_CONTROL :=
    MEASURE_OPERATING_CONDITION
  -> ADJUST(PitchAngle)
  -> MODIFY(Cp, RotorTorque, PowerOutput)

IF WindSpeed > RatedWindSpeed
THEN PitchControl
  -> may_reduce -> AERODYNAMIC_POWER_CAPTURE
  -> maintain -> RATED_POWER

# ---------- YAW CONTROL ----------
YawAngle
  -> represents -> ROTOR_ALIGNMENT_RELATIVE_TO_WIND

YAW_ERROR :=
    WindDirection - NACELLE_DIRECTION

YawControl :=
    MEASURE(WindDirection)
  -> COMPUTE(YAW_ERROR)
  -> ROTATE(Nacelle)
  -> ALIGN(Rotor, WindDirection)

IF YawError increases
THEN POWER_CAPTURE -> MAY_DECREASE

# ---------- TURBINE OPERATING REGIONS ----------
TURBINE_OPERATION :=
    BELOW_CUT_IN
  | PARTIAL_LOAD
  | RATED_POWER_REGION
  | ABOVE_CUT_OUT

IF WindSpeed < CutInSpeed
THEN PowerOutput := ZERO_OR_MINIMAL

IF CutInSpeed <= WindSpeed < RatedWindSpeed
THEN PowerOutput -> follows -> POWER_CURVE_PARTIAL_LOAD

IF RatedWindSpeed <= WindSpeed < CutOutSpeed
THEN PowerOutput -> regulated_near -> RATED_POWER

IF WindSpeed >= CutOutSpeed
THEN WindTurbine -> SHUTDOWN_FOR_PROTECTION

# ---------- POWER CURVE ----------
PowerCurve
  -> maps -> WindSpeed
  -> to -> ElectricalPowerOutput

POWER_CURVE :=
    FUNCTION(WindSpeed)

PowerCurve
  -> depends_on -> TurbineDesign
  -> depends_on -> AirDensity
  -> depends_on -> ControlStrategy
  -> may_be_affected_by -> Turbulence

# ---------- WIND SHEAR ----------
WindShear
  -> represents -> WIND_SPEED_CHANGE_WITH_HEIGHT

WIND_PROFILE :=
    FUNCTION(HEIGHT)

WindProfile
  -> influences -> HUB_HEIGHT_WIND_SPEED

TowerHeight
  -> influences -> AVAILABLE_WIND_RESOURCE

# ---------- TURBULENCE ----------
Turbulence
  -> causes -> WIND_SPEED_FLUCTUATION
  -> increases -> DYNAMIC_LOADING
  -> influences -> POWER_VARIABILITY

TURBULENCE_INTENSITY :=
    WIND_SPEED_STANDARD_DEVIATION
    /
    MEAN_WIND_SPEED

Turbulence
  -> influences -> FatigueLoad

# ---------- STRUCTURAL LOADS ----------
StructuralLoad :=
    AERODYNAMIC_LOAD
  + GRAVITATIONAL_LOAD
  + INERTIAL_LOAD
  + OPERATIONAL_LOAD

WindTurbine
  -> subject_to -> StructuralLoad

FatigueLoad
  -> accumulates_over -> OPERATING_CYCLES

EXTREME_LOAD
  -> may_determine -> STRUCTURAL_DESIGN_LIMIT

# ---------- WIND FARM ----------
WindFarm
  -> contains -> MULTIPLE_WIND_TURBINES

WindTurbine
  -> may_create -> Wake

Wake
  -> reduces -> DOWNSTREAM_WIND_SPEED
  -> increases -> DOWNSTREAM_TURBULENCE

WAKE_INTERACTION :=
    UPSTREAM_TURBINE
  -> WAKE
  -> DOWNSTREAM_TURBINE
  -> POWER_AND_LOAD_EFFECTS

TURBINE_SPACING
  -> influences -> WakeLoss

# ---------- ENERGY YIELD ----------
EnergyYield :=
    INTEGRAL(
      PowerOutput,
      TIME
    )

ANNUAL_ENERGY_PRODUCTION :=
    SUM(PowerOutput * TimeInterval)

EnergyYield
  -> influenced_by -> WindResource
  -> influenced_by -> PowerCurve
  -> influenced_by -> Availability
  -> influenced_by -> WakeLoss
  -> influenced_by -> ElectricalLoss

# ---------- CAPACITY FACTOR ----------
CapacityFactor :=
    ACTUAL_ENERGY_GENERATED
    /
    ENERGY_IF_RATED_POWER_CONTINUOUS

CapacityFactor
  -> influenced_by -> WindResource
  -> influenced_by -> TurbineAvailability
  -> influenced_by -> Curtailment
  -> influenced_by -> WakeLoss

# ---------- GRID INTEGRATION ----------
WIND_GRID_INTEGRATION :=
    GENERATOR
  -> POWER_CONVERTER
  -> TRANSFORMER
  -> GRID_CONNECTION
  -> Grid

GRID_REQUIREMENTS :=
    VOLTAGE_COMPATIBILITY
  + FREQUENCY_COMPATIBILITY
  + POWER_QUALITY
  + PROTECTION
  + FAULT_RESPONSE

PowerConverter
  -> may_control -> ACTIVE_POWER
  -> may_control -> REACTIVE_POWER

# ---------- WIND VARIABILITY ----------
WIND_GENERATION_VARIABILITY :=
    WindResourceVariability
  -> PowerOutputVariability

WindForecast
  -> estimates -> FUTURE_WIND_RESOURCE
  -> estimates -> FUTURE_POWER_OUTPUT

FORECAST
  -> supports -> GRID_BALANCING
  -> supports -> DISPATCH
  -> supports -> STORAGE_SCHEDULING

# ---------- PERFORMANCE ----------
WIND_SYSTEM_PERFORMANCE :=
    ENERGY_YIELD
  + CAPACITY_FACTOR
  + AERODYNAMIC_EFFICIENCY
  + ELECTRICAL_EFFICIENCY
  + AVAILABILITY
  + RELIABILITY
  + STRUCTURAL_INTEGRITY
  + GRID_COMPATIBILITY

WindEngineeringSystem
  -> evaluated_by -> WIND_SYSTEM_PERFORMANCE

# ---------- WIND ENGINEERING REASONING ----------
WIND_ENGINEERING_REASONING :=
    CHARACTERISE_WIND_RESOURCE
  -> DETERMINE_WIND_PROFILE
  -> ASSESS_TURBULENCE
  -> SELECT_TURBINE
  -> MODEL_AERODYNAMICS
  -> CALCULATE_ROTOR_POWER
  -> MODEL_DRIVE_TRAIN
  -> MODEL_GENERATOR
  -> DEFINE_CONTROL_STRATEGY
  -> ESTIMATE_POWER_CURVE
  -> ASSESS_STRUCTURAL_LOADS
  -> MODEL_WAKE_EFFECTS
  -> ESTIMATE_ENERGY_YIELD
  -> CHECK_GRID_REQUIREMENTS
  -> VALIDATE_PERFORMANCE
  -> OPTIMISE_SYSTEM

# ---------- INFERENCE RULES ----------
IF WindSpeed increases
AND below_rated_region
THEN AvailableWindPower -> INCREASES_APPROXIMATELY_WITH_CUBE

IF WindSpeed >= CutOutSpeed
THEN TurbineOperation -> SHUTDOWN

IF YawError increases
THEN CapturedPower -> MAY_DECREASE

IF TurbulenceIntensity increases
THEN FatigueLoading -> MAY_INCREASE

IF WakeLoss increases
THEN DownstreamEnergyYield -> DECREASES

IF TurbineAvailability decreases
THEN EnergyYield -> DECREASES

IF AirDensity increases
AND other_conditions constant
THEN AvailableWindPower -> INCREASES

IF PitchAngle changes
THEN PowerCoefficient -> REASSESS

# ---------- SEMANTIC RELATIONSHIPS ----------
RELATION provides(WindResource, WindKineticEnergy)
RELATION characterises(WindSpeed, WindResource)
RELATION captures(Rotor, WindKineticEnergy)
RELATION contains(Rotor, Blade)
RELATION produces(Rotor, RotorTorque)
RELATION transmits(DriveTrain, MechanicalPower)
RELATION converts(Generator, MechanicalPower, ElectricalPower)
RELATION conditions(PowerConverter, GeneratorOutput)
RELATION controls(Controller, WindTurbine)
RELATION adjusts(PitchControl, PitchAngle)
RELATION adjusts(YawControl, YawAngle)
RELATION creates(WindTurbine, Wake)
RELATION affects(Wake, DownstreamTurbine)
RELATION influences(Turbulence, FatigueLoad)
RELATION maps(PowerCurve, WindSpeed, PowerOutput)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
  "wind engineering" ~= "wind energy engineering"
  "wind turbine generator" ~= "WTG"
  "wind resource" ~= "wind energy resource"
  "swept area" ~= "rotor swept area"
  "tip speed ratio" ~= "TSR"
  "power coefficient" ~= "Cp"
  "pitch control" ~= "blade pitch control"
  "yaw control" ~= "nacelle yaw control"
  "wind farm" ~= "wind power plant"
  "annual energy production" ~= "AEP"

# ---------- CONFIDENCE ----------
CONFIDENCE:
  ontology_domain: 0.99
  wind_resource_mapping: 0.99
  aerodynamic_mapping: 0.99
  rotor_mapping: 0.99
  drivetrain_generator_mapping: 0.99
  control_mapping: 0.99
  wake_mapping: 0.98
  structural_load_mapping: 0.98
  grid_integration_mapping: 0.99
  semantic_relationships: 0.99

# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
  ON new_wind_system:
    MAP wind_resource
    MAP turbine_geometry
    MAP rotor
    MAP drivetrain
    MAP generator
    MAP controller
    MAP grid_connection
    UPDATE confidence
    RECOMPUTE FLOW_HASH

  ON new_wind_measurement:
    UPDATE WindSpeed
    UPDATE WindDirection
    UPDATE AirDensity
    UPDATE Turbulence
    UPDATE power_estimate
    PRESERVE provenance

  ON operating_condition_change:
    UPDATE pitch_angle
    UPDATE yaw_angle
    UPDATE rotor_speed
    UPDATE power_output
    REASSESS structural_loads

  ON wind_farm_change:
    UPDATE turbine_positions
    UPDATE wake_model
    UPDATE wake_losses
    RECOMPUTE energy_yield

  ON ontology_revision:
    PRESERVE entity_identity
    PRESERVE provenance
    UPDATE relationships
    UPDATE inference_rules
    UPDATE confidence
    RECOMPUTE FLOW_HASH

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
  parse_as: FORMAL_WIND_ENGINEERING_ONTOLOGY
  reasoning_mode: AERODYNAMIC_ENERGY_RELATIONAL

  preserve:
    - typed_entities
    - wind_resource_variables
    - directional_energy_flows
    - aerodynamic_relations
    - control_relations
    - structural_constraints
    - confidence
    - provenance

  infer:
    - wind_power_dependencies
    - aerodynamic_dependencies
    - control_requirements
    - wake_effects
    - structural_load_dependencies
    - energy_yield_dependencies
    - grid_integration_requirements

  prohibit:
    - invented_wind_measurements
    - assumed_power_coefficients
    - assumed_capacity_factors
    - unsupported_energy_yields
    - ignored_wake_effects
    - violation_of_energy_conservation

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
  + ONTOLOGY
  + CORE_ENTITIES
  + WIND_ENGINEERING_STRUCTURE
  + WIND_RESOURCE
  + WIND_POWER
  + AERODYNAMIC_POWER_CAPTURE
  + TIP_SPEED_RATIO
  + BLADE_AERODYNAMICS
  + ROTOR_DRIVE_TRAIN
  + GENERATOR
  + PITCH_CONTROL
  + YAW_CONTROL
  + TURBINE_OPERATING_REGIONS
  + POWER_CURVE
  + WIND_SHEAR
  + TURBULENCE
  + STRUCTURAL_LOADS
  + WIND_FARM
  + ENERGY_YIELD
  + CAPACITY_FACTOR
  + GRID_INTEGRATION
  + WIND_VARIABILITY
  + PERFORMANCE
  + WIND_ENGINEERING_REASONING
  + INFERENCE_RULES
  + SEMANTIC_RELATIONSHIPS
  + SEMANTIC_EQUIVALENCE
  + CONFIDENCE
  + UPDATE_MODEL
  + AI_CONSUMPTION

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ