~ubuntu-branches/ubuntu/lucid/octave-nlwing2/lucid

« back to all changes in this revision

Viewing changes to inst/floweqj.m

  • Committer: Bazaar Package Importer
  • Author(s): Rafael Laboissiere
  • Date: 2009-05-24 18:48:42 UTC
  • Revision ID: james.westby@ubuntu.com-20090524184842-bgxoav6c0rjd0isr
Tags: upstream-1.1.1
ImportĀ upstreamĀ versionĀ 1.1.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
% Copyright (C) 2008  VZLU Prague, a.s., Czech Republic
 
2
 
3
% Author: Jaroslav Hajek <highegg@gmail.com>
 
4
 
5
% This file is part of NLWing2.
 
6
 
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.
 
11
 
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.
 
16
 
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/>.
 
20
 
21
 
 
22
% -*- texinfo -*-
 
23
% @deftypefn{Function File} {dg =} floweqj (g, flow)
 
24
% this function calculates the jacobian of @w{floweq} w.r.t. @var{g}.
 
25
% @end deftypefn
 
26
 
 
27
function eqj = floweqj (g, flow)
 
28
 
 
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);
 
34
  wing = flow.wing;
 
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));
 
41
 
 
42
endfunction