1
% Copyright (C) 2008 VZLU Prague, a.s., Czech Republic
3
% Author: Jaroslav Hajek <highegg@gmail.com>
5
% This file is part of NLWing2.
7
% NLWing2 is free software; you can redistribute it and/or modify
8
% it under the terms of the GNU General Public License as published by
9
% the Free Software Foundation; either version 3 of the License, or
10
% (at your option) any later version.
12
% This program is distributed in the hope that it will be useful,
13
% but WITHOUT ANY WARRANTY; without even the implied warranty of
14
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
% GNU General Public License for more details.
17
% You should have received a copy of the GNU General Public License
18
% along with this software; see the file COPYING. If not, see
19
% <http://www.gnu.org/licenses/>.
23
% @deftypefn{Function File} {dg =} floweqj (g, flow)
24
% this function calculates the jacobian of @w{floweq} w.r.t. @var{g}.
27
function eqj = floweqj (g, flow)
29
% calc local velocities
30
vx = flow.vxg*g + flow.vx0;
31
vy = flow.vyg*g + flow.vy0;
32
% local angles of attack
33
alfa = atan2 (vy, vx);
35
cl = spwinterp (alfa, wing, [wing.pol.cl]);
36
cld = spwinterp (alfa, wing, [wing.pol.cld], true);
37
v = sqrt (vx.^2 + vy.^2);
38
gvx = 0.5 * (vx .* cl - vy .* cld) ./ v;
39
gvy = 0.5 * (vy .* cl + vx .* cld) ./ v;
40
eqj = diag (gvx) * flow.vxg + diag (gvy) * flow.vyg - eye (length (g));