MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
aerodc81.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/aero/aerodc81.h,v 1.25 2017/01/12 14:45:58 masarati Exp $ */
2 /*
3  * MBDyn (C) is a multibody analysis code.
4  * http://www.mbdyn.org
5  *
6  * Copyright (C) 1996-2017
7  *
8  * Pierangelo Masarati <masarati@aero.polimi.it>
9  * Paolo Mantegazza <mantegazza@aero.polimi.it>
10  *
11  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12  * via La Masa, 34 - 20156 Milano, Italy
13  * http://www.aero.polimi.it
14  *
15  * Changing this copyright notice is forbidden.
16  *
17  * This program is free software; you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation (version 2 of the License).
20  *
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */
31 
32 #ifndef AERODC81_H
33 #define AERODC81_H
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif /* __cplusplus */
38 
39 enum {
40  // 0 unused?
43  OUTA_MACH = 3,
44  OUTA_CL = 4,
45  OUTA_CD = 5,
46  OUTA_CM = 6,
47  // 7 unused?
49  OUTA_ALF1 = 8,
50  OUTA_ALF2 = 9,
51  OUTA_DAN = 10,
52  OUTA_DAM = 11,
53  OUTA_DCN = 12,
54  OUTA_DCM = 13,
55  // 14-19 unused?
56 
57  OUTA_LAST = 20
58 };
59 
60 typedef struct outa_t {
68  // doublereal outa_07;
82 } outa_t;
83 
84 extern const outa_t outa_Zero;
85 
86 /*
87 C DEFINIZIONI VETTORE VAM
88 C
89 C VAM(1): densita' dell'aria
90 C VAM(2): celerita' del suono
91 C VAM(3): corda
92 C VAM(4): 1/4 corda
93 C VAM(5): 3/4 corda
94 C VAM(6): svergolamento
95  */
96 enum {
103 
105 };
106 
107 typedef struct vam_t {
114 } vam_t;
115 
116 /*
117  * dati in formato c81;
118  * le array mX contengono gli NMX numeri di mach;
119  * le array aX contengono gli NMX*NAX coefficienti,
120  * preceduti dall'angolo di incidenza e row-oriented.
121  *
122  * Quindi, il numero di Mach j-esimo (a base 0) e'
123  *
124  * mX[j]
125  *
126  * l'angolo di incidenza i-esimo (a base 0) e'
127  *
128  * aX[i]
129  *
130  * e per avere il coefficiente relativo all'angolo
131  * di incidenza i-esimo, al numero di mach j-esimo
132  *
133  * aX[NAX*(j+1)+i]
134  *
135  * MODIFICA 2000/10/02:
136  * angolo di stallo o fine linearita' per correzione flusso trasverso
137  *
138  * Ora si aggiunge:
139  * - un vettore di angoli ai quali si perde linearita' (+)
140  * - un vettore di angoli ai quali si perde linearita' (-)
141  * - un vettore con il Cp/alpha
142  */
143 typedef struct c81_data {
144  char header[31];
145 
146  int NML;
147  int NAL;
150 
151  /*
152  * matrice dei dati di stallo:
153  * 0 -> NAL-1 : angoli di stallo positivi
154  * NAL -> 2*NAL-1 : angoli di stallo negativi
155  * 2*NAL -> 3*NAL-1 : Cp/alpha
156  */
159 
160  int NMD;
161  int NAD;
164 
165  int NMM;
166  int NAM;
169 } c81_data;
170 
171 extern int
172 c81_aerod2(doublereal* W, const vam_t *VAM, doublereal* TNG, outa_t* OUTA, c81_data* data);
173 
174 extern int
175 c81_aerod2_u(doublereal* W, const vam_t *VAM, doublereal* TNG, outa_t* OUTA,
176  c81_data* data, long unsteadyflag);
177 
178 #ifdef __cplusplus
179 }
180 #endif /* __cplusplus */
181 
182 #endif /* AERODC81_H */
183 
doublereal outa_17
Definition: aerodc81.h:79
struct vam_t vam_t
doublereal cd
Definition: aerodc81.h:66
doublereal density
Definition: aerodc81.h:108
int NMD
Definition: aerodc81.h:160
doublereal outa_00
Definition: aerodc81.h:61
doublereal dcn
Definition: aerodc81.h:74
int NAM
Definition: aerodc81.h:166
doublereal sound_celerity
Definition: aerodc81.h:109
int NMM
Definition: aerodc81.h:165
doublereal outa_19
Definition: aerodc81.h:81
doublereal dcm
Definition: aerodc81.h:75
doublereal gamma
Definition: aerodc81.h:63
int NML
Definition: aerodc81.h:146
doublereal alf1
Definition: aerodc81.h:70
doublereal twist
Definition: aerodc81.h:113
doublereal bc_position
Definition: aerodc81.h:112
doublereal * mm
Definition: aerodc81.h:167
char header[31]
Definition: aerodc81.h:144
doublereal outa_15
Definition: aerodc81.h:77
struct c81_data c81_data
struct outa_t outa_t
doublereal alpha
Definition: aerodc81.h:62
doublereal alf2
Definition: aerodc81.h:71
int NAL
Definition: aerodc81.h:147
doublereal mach
Definition: aerodc81.h:64
doublereal dan
Definition: aerodc81.h:72
doublereal force_position
Definition: aerodc81.h:111
doublereal * ad
Definition: aerodc81.h:163
doublereal chord
Definition: aerodc81.h:110
doublereal outa_18
Definition: aerodc81.h:80
doublereal cl
Definition: aerodc81.h:65
doublereal * mstall
Definition: aerodc81.h:158
doublereal clalpha
Definition: aerodc81.h:69
int c81_aerod2(doublereal *W, const vam_t *VAM, doublereal *TNG, outa_t *OUTA, c81_data *data)
Definition: aerodc81.c:100
doublereal outa_16
Definition: aerodc81.h:78
const outa_t outa_Zero
Definition: aerodc81.c:87
doublereal * stall
Definition: aerodc81.h:157
doublereal * am
Definition: aerodc81.h:168
doublereal dam
Definition: aerodc81.h:73
int c81_aerod2_u(doublereal *W, const vam_t *VAM, doublereal *TNG, outa_t *OUTA, c81_data *data, long unsteadyflag)
Definition: aerodc81.c:243
doublereal * al
Definition: aerodc81.h:149
doublereal cm
Definition: aerodc81.h:67
doublereal outa_14
Definition: aerodc81.h:76
double doublereal
Definition: colamd.c:52
doublereal * md
Definition: aerodc81.h:162
doublereal * ml
Definition: aerodc81.h:148
int NAD
Definition: aerodc81.h:161