ATM And Forcing
The actuator turbine model is active in the main validation case and was one of the most complex migration areas. It combines turbine control, blade kinematics, velocity sampling, force calculation, MPI aggregation, and force application to the flow grid.
Primary Files
| File |
Role |
forcing.f90 |
Top-level forcing and projection-adjacent force application |
atm_lesgo_interface.f90 |
Interface between LESGO flow arrays and ATM data structures |
actuator_turbine_model.f90 |
Turbine model physics and blade/nacelle force logic |
atm_base.f90, atm_input_util.f90 |
ATM types and input parsing |
turbines.f90, turbines_gpu.f90, turbine_indicator.f90 |
Optional turbine/indicator support |
Implemented GPU Changes
| Area |
Change |
| Velocity sampling |
GPU paths for interpolation and on-the-fly w sampling |
| Blade force |
GPU-enabled blade/nacelle force calculations |
| Force reset and application |
GPU kernels for force array reset and scatter/apply operations |
| Gather/reduction |
Packed reductions reduce latency relative to many small reductions |
| Point-owner LB |
Experimental load-balanced ownership model retained behind switches |
| Auto-select |
Optional short probe can choose legacy vs point-owner LB path |
Retained Controls
| Switch |
Purpose |
LESGO_ATM_DIAG_TIMING |
Detailed ATM timing |
LESGO_ATM_POINT_OWNER_LB |
Experimental decoupled point-owner load balance path |
LESGO_ATM_POINT_OWNER_TARGETED |
Experimental targeted point-owner exchange |
LESGO_ATM_LB_AUTO_SELECT |
Probe legacy vs LB and choose faster path |
LESGO_ATM_LB_VALIDATE |
Validate LB path against legacy force quantities |
The legacy ATM path remains the default for the current 2-turbine validation case. The point-owner LB algorithm is numerically correct but should be enabled by default only after larger turbine-count tests show a clear benefit.