FlygenKite

I did a short calculation on this. Now a lot comes down to the glide ratio of the profile chosen for the turbine blades. Of course these can be really high for such a simple shape, but the aspect ratio is of course limited by practical realities. Also, if the blade must work both for VTOL and generation, like for Makani, Windlift and kiteKRAFT, there are even more limitations in design space.

So the plot should show the ratio of power provided to a turbine shaft vs the power in drag direction of the moving vessel (may be a kite, a HAWT blade or a car or whatever). If the ratio is 1.0, the moving vessel will experience the same loss of power as is the power delivered to the generator. Due to what I mentioned earlier, the ratio will never be 1.0, and for some configurations it may be quite small.

It does not take into account that the blades eventually will hit the sound barrier or hit the wake of the other blades and such. So it is an optimistic number.

So even if the main turbine should be like 100% of the energy of the Betz limit, with the “turbine on the blades” approach, some of that is lost there. Also we have additional problems with the turbine blades hitting their own Betz limit and also that the turbine blades are hitting the wake of the main blade.

Note also that where the ratio is very high, the power output is also very small due to low TSR. This means you need to increase swept area to get the power you want. Essentially you can only get a very limited aerodynamic gearing ratio and still some decent efficiency.

Each curve represents a certain glide ratio of the turbine blades. I have no idea what is realistic there.

I will also add the code mostly for my own reference, though I will not try to explain this here and now in more detail.

(maple code)

with(CodeGeneration):

eq1 := alpha = arctan(R / r / K__TSR);
eq2 := (K__TSR * r / R + 1)^2;

eq3 := simplify(subs(eq1, eq2 * (G__e * cos(alpha) + sin(alpha))), assume = positive); # drag power
eq4 := simplify(int(eq3, r = 0..R), assume = positive);

eq5 := simplify(subs(eq1, eq2 * (G__e * sin(alpha) - cos(alpha)) * (r / R * K__TSR)), assume = positive); # lift power
eq6 := simplify(int(eq5, r = 0..R), assume = positive);

eq7 := simplify(eq6 / eq4, assume = positive);

Julia(eq7);

(julia code)

function prop_power_to_drag_power(K__TSR, G__e)
  cg0 = ((-24 * G__e + 3) * log(K__TSR + sqrt(K__TSR ^ 2 + 1)) + ((8 * K__TSR ^ 2 + 24 * K__TSR + 8) * G__e - 6 * K__TSR ^ 3 - 16 * K__TSR ^ 2 - 3 * K__TSR + 32) * sqrt(K__TSR ^ 2 + 1) - 8 * G__e - 32) / ((-24 * G__e + 12) * log(K__TSR + sqrt(K__TSR ^ 2 + 1)) + ((8 * K__TSR ^ 2 + 24 * K__TSR + 8) * G__e + 12 * K__TSR + 48) * sqrt(K__TSR ^ 2 + 1) - 8 * G__e - 48)
  cg0
end

let tsr = 1:0.1:10
  reduce((p, ge) -> plot!(p, tsr, prop_power_to_drag_power.(tsr, ge), ylims = (0, 1), lab = "G__e = $ge"), [10, 20, 40], init = plot(legend = :bottomleft, xlabel = "TSR", ylabel = "gen power / drag power", size = (1000, 1000)))
end