CONFIG LIB 1.5
Configuration Files Library (by TGG 2020)
Loading...
Searching...
No Matches
ms2data_struct.h
Go to the documentation of this file.
1/*********************************************************************/
2/* */
3/* Config files library - (C) TGG 2015 */
4/* */
5/*********************************************************************/
6/* Warszawa, 2015 */
7/*********************************************************************/
8/* */
9/* File: ms2data_struct.h */
10/* */
11/* Author: D.Mieszalski, modif: T.Grabowski */
12/* */
13/* Contents - ms2 (geometry info) data structure */
14/* */
15/* */
16/*********************************************************************/
17/* */
18/* */
19
24#ifndef _MS2_DATA_STRUCT_H_
25#define _MS2_DATA_STRUCT_H_
26
27#include <string>
28#include <vector>
29
36
42
49
58
66
73
75{
76 WAKE_H = 0,
77 WAKE_V
78};
79
85
87{
88 ELLIPSE = 0,
89 AIRFOIL,
90 CONSTANT
91};
92
99
101{
102 CRV_SPINE = 0,
103 CRV_UP_CONT,
104 CRV_SIDE_CONT,
105 CRV_DOWN_CONT,
106 CRV_CV_FACT_UP,
107 CRV_CV_FACT_DOWN
108};
109
111{
112 ELLIPSE_NORMAL = 0,
113 ELLIPSE_SPINE,
114};
115
121
128
135
142
150
156
158{
159 WING_MOD_TYPE_ROOT = 0,
160 WING_MOD_TYPE_EQUI_LINE,
161 WING_MOD_TYPE_LINE,
162 WING_MOD_TYPE_ARC
163};
164
166{
167 WING_MOD_PAN_CONC_LEFT = 0,
168 WING_MOD_PAN_CONC_CENTER,
169 WING_MOD_PAN_CONC_RIGHT
170};
171
172
174{
175 SWIRL_UP = 0,
176 SWIRL_DOWN
177};
178
180{
181 FULL_NACELLE = 0,
182 HALF_NACELLE
183};
184
185struct MS2_Ref
186{
187 bool AutoComp;
188 double S;
189 double B;
190 double MAC;
191 double MX;
192 double MZ;
193 double Scale;
194};
195
197{
198 int iType;
199 std::string Name;
200 std::string ShortName;
202// int No; ///< embedded profile number ( 0 - n )
203 std::vector<double> Xd;
204 std::vector<double> Xg;
205 std::vector<double> Zd;
206 std::vector<double> Zg;
207};
208
210{
212 double r;
213 double X;
214 double Y;
215 double Z;
216 double RotX;
217 double RotY;
218 double RotZ;
219 double Chord;
220 bool CtrlFlag;
222 double Deflection;
223 double Hinge_X;
224 double Hinge_Z;
225 int No;
226};
227
229{
230 std::vector<MS2_Section> Sections;
231 int RibNr;
233};
234
236{
237 int Type;
238 double X0;
239 double Y0;
240 double Z0;
241 double XRef;
242 double C;
243 double Alfa;
244 double Fi;
245 double Gamma;
246 double L;
247 double R;
248 int N;
249 double NDist;
253};
254
256{
257 std::vector<MS2_ModWingModule> Modules;
258};
259
261{
263 int NUp;
264 int NDown;
267 double X0;
268 double Y0;
269 double Z0;
270 double L;
271 double CvFactUp;
272 double CvFactDown;
273 double Y;
274 double ZUp;
275 double ZDown;
276 double fi;
277 double theta;
278 double psi;
279};
280
281struct MS2_Wing
282{
283 int Type;
285 int Active;
286 std::string Name;
287 int ID;
288
295
296 int DivNo;
298 std::vector<double> UserDiv;
299
300 double TwistRef;
301
303 double SRef;
304 double CzDes;
308};
309
318
320{
322 int NF;
323 int NR;
324 double L;
325 double H;
326 double CvFactF;
327 double CvFactR;
328};
329
331{
332 int Side;
333};
334
342
368
370{
371 std::string Name;
372};
373
386
387struct MS2_Conn
388{
389 std::string Name;
390 int Active;
391 int Type;
399};
400
401struct MS2_Wake
402{
403 std::string Name;
404 int Active;
405 int Type;
411};
412
414{
417 std::vector<MS2_Wing> Wings;
418 std::vector<MS2_Conn> Conns;
419 std::vector<MS2_Wake> Wakes;
420 std::vector<MS2_Profile> Profiles;
421};
422
423#endif /* _MS2_DATA_STRUCT_H_*/
AIRFOIL class to manipulate the airfoil geometry or it can read geometry data from file (5 commonly ...
Definition airfoil.h:41
MS2FusSecDivType
type of fuselage section division
@ FDT_DATA
coordinates defined by user (FT_FILE) or by parameters (FT_PARAMS)
@ FDT_ARC
coordinates calculated using constant arc length rule
@ FDT_ANGLE
coordinates calculated using constant angle rule
MS2DivType
section wing type chord division
@ DT_PROFILE
based on airfoil data
@ DT_USER
user defined
@ DT_AUTO
"unknown" in MS2Edit, in SLAVE wing case (see MS2WingDivSource)
@ DT_LINEAR
linear (constant chordwise length)
@ DT_COSINE
constant chordwise angle projection
MS2WingRibType
closing ribs type
@ WING_RIB_BOTH
both ribs are present (e.g. in case of slotted flap)
@ WING_RIB_OPEN
no closing ribs (e.g. wing is open and connected with winglets)
@ WING_RIB_EXTERNAL
only external rib (typical situataion external rib on wing tip)
@ WING_RIB_INTERNAL
only internal rib
MS2WingModuleType
types of modules used in module wing creation
MS2SpanDivType
section wing type chord division
@ SDT_COSINE_EXT
constant spanwise angle projection (pi/2, pi)
@ SDT_LINEAR
linear (constant spanwise length)
@ SDT_COSINE_INT
constant spanwise angle projection (0, pi/2)
@ SDT_COSINE
constant spanwise angle projection (0,pi)
MS2FusCvrType
fuselage build from parameters curve's type
MS2SwirlRange
nacelle swirl range
MS2WakeType
wake type
@ WAKE_H
horizontal (e.g. wing, horzontal tail)
@ WAKE_V
vertical (e.g. vertical stabilizer)
MS2ControlSurfaceDef
the method of defining the hinge position of the control surface
@ CTRL_DEF_UNIT
positon defined in units used to whole geometry definition
@ CTRL_DEF_RELATIVE
relative - the position is defined in relation to the chord length (measured from the airfoil nose ...
MS2OutOpt
output type flag
@ OUT_OPT_NODES
mesh written as nodes
@ OUT_OPT_PANELS
mesh written as panels
MS2WingModulePanConc
module wing's module panels distribution
MS2FusEllipseType
Fuselage curve (super ellipse ) type.
MS2WingType
type of wing
@ WING_TYPE_MODULES
wing defined by modules
@ WING_TYPE_SECTIONS
wing defined by sections
@ WING_TYPE_NACELLE
jet engine nacelle
MS2AirfoilSource
airfoil source
@ AIRFOIL_DATA
airfoil geometry embeded in MS2 file
@ AIRFOIL_NACA
airfoil geometry computed for 4- and 5-digit NACA profiles
@ AIRFOIL_FILE
airfoil geometry defined in the separate file
MS2FusCvr
type of fuselage outline curve
MS2WingDivSource
wing chordwise division source used in wing in case of intersection with fuselage (see MS2_Wing::DivS...
@ WING_DIV_MASTER
wing enforces fuselage's chord division
@ WING_DIV_INDEPENDENT
wing has its own division and doesn't enforce division to fuselage
@ WING_DIV_SLAVE
fuselage enforces wing's chord division
MS2ConnType
connection type
@ CON_H
horizontal (e.g. T tail)
@ CON_V
vertical (e.g. winglets)
@ CON_P
parallel
MS2AirfoilSide
airfoil side for modules definition (see MS2_FusAirfoil::Side)
@ AS_UP
upper part
@ AS_DOWN
lower part
MS2SwirlType
nacelle swirl direction
MS2WingSurf
section wing surface side
@ WS_TOP
upper surface (up)
@ WS_ALL
both surfaces (up and bottom)
@ WS_BOTTOM
lower surface (bottom)
MS2FusType
fuselage type
@ FT_FILE
from *.f file
@ FT_PARAMS
built from parameters
MS2SymmOpt
symmetry flag
@ SYM_OPT_SYM
symmetrical object
@ SYM_OPT_LEFT
left half
@ SYM_OPT_RIGHT
right half
connection
int Type
Type of connection (horizontal, vertical, parallel) - according to MS2ConnType.
int Wing2No
number of 2'nd wing
int Wing2LongTE
number of wing's 2 longeron connected to trailing point of wing 1
int Wing2Rib
number of wing's 2 rib connected to wing 1
int Active
1 - active, 0 - not active
int Wing1Rib
number of wing's 1 rib connected to wing 2
int Wing2LongLE
number of wing's 2 longeron connected to leading point of wing 1
std::string Name
name of particular connection
int Wing2Surf
wing 2 surface for modification (0-bottom, 1-top in horizontal connection or 0-exterior,...
int Wing1No
number of 1'st wing
MS2 data structure definition.
std::vector< MS2_Wake > Wakes
special info for wake calculation
std::vector< MS2_Wing > Wings
wings data
std::vector< MS2_Profile > Profiles
embedded profiles
MS2_Fuselage Fuselage
fuselage data
std::vector< MS2_Conn > Conns
connections data
MS2_General General
general geometric data
data of airfoil taken to fuselage geometry generating
int Side
airfoil's side
fuselage outline curve
int Type
curve type ( see MS2FusCvrType )
MS2_SuperEllipse Ellipse
data used when Type is ELLIPSE
double Factor
data used when Type is CONSTANT
MS2_FusAirfoil Airfoil
data used when Type is AIRFOIL
fuselage data file
std::string Name
fuselage data (geometry) filename
fuselage parameters
double X0
x coordinate of nose origin
double Y0
y coordinate of nose origin
double BendLength
bend distance
MS2_FusCurve CvFactUp
ConvexityFactor curve (upper)
double Length
fuselage length
double ScaleX
scale longwise X axis
double ScaleZup
scale longwise Z axis Up
int Ndown
division of bottom part
MS2_FusCurve UpCvr
Z Upper contour line.
double ScaleY
scale longwise Y axis
int Nup
division of top part
std::string Name
fuselage name
double ScaleZdown
scale longwise Z axis Down
double Scale
general scale
MS2_FusCurve CvFactDown
ConvexityFactor curve (lower)
double Z0
z coordinate of nose origin
MS2_FusCurve DownCvr
Z Lower contour line.
double BendAngle
bend angle [deg]
MS2_FusCurve SpineCvr
X contour line.
MS2_FusCurve SideCvr
Y contour line.
fuselage definition
int Active
1 - active, 0 - not active
MS2_Fuselage_File File
fuselage from *.f file
int iSecN
number of points that define the section
std::vector< double > UserDiv
user defined divisions
int Type
MS2FusType.
bool Exists
fuselage presence flag
int iDivSectionType
type of section division - see MS2FusSecDivType
MS2_Fuselage_Params Params
fuselage build from parameters
general data for ms2 structure (geometry)
std::string InpFileName
output [*.inp] file name
int AutoInpFileName
(0,1) automatic output file name [.inp] based on ms2 file name
int OutOpt
output type ( see MS2OutOpt )
MS2_Ref RefVal
reference values
int SymmOpt
symmetry ( see MS2SymmOpt )
module used for "module wing" definition
double Y0
y coordinate of origin
int SpanPanConc
paneling distribution concentration( Left, center, right )
double Alfa
twist angle [deg]
int UseMunk
(0,1) Use Munk minimum induced drag theorem
int N
number of division
double Z0
z coordinate of origin
int Type
type of module - see MS2WingModuleType
double Gamma
dihedral angle [deg]
double NDist
division dist
double Fi
skew angle [deg]
MS2_Profile Profil
airfoil data
double X0
x coordinate of origin
double XRef
first definition curve's start point location [MAC]
double C
Mean Aerodynamic Chord (MAC)
wing defined by modules
std::vector< MS2_ModWingModule > Modules
vector (list) of modules used to define wing
data of nacelle type of wing
int SwirlRange
full or half
double Y
Y dimension (semiaxis longwise Y)
double CvFactUp
convexity factor of top part
int SwirlType
swirl direction (external or internal)
double X0
x coordinate of origin
double Z0
z coordinate of origin
double ZUp
Z up dimension (upper semiaxis longwise Z)
double L
length (chord)
int NUp
division of top part - number of wing sections
int NDown
division of bottom part - number of wing sections
double fi
roll rotation angle [deg]
double psi
yaw rotation angles [deg]
double Y0
y coordinate of origin
MS2_Profile Profil
airfoil data
double theta
pitch rotation angle [deg]
double CvFactDown
convexity factor of bottom part
double ZDown
Z down dimension (lower semiaxis longwise Z)
Profile definition.
std::vector< double > Xd
X coordinate of lower contour of airfoil.
std::string ShortName
airfoil name without file path
int NACAnumber
code number of NACA - 4 or 5 digits in case iType == AIRFOIL_NACA
std::vector< double > Zd
Z coordinate of lower contour of airfoil.
std::string Name
full name with file path
std::vector< double > Xg
X coordinate of upper contour of airfoil.
std::vector< double > Zg
Z coordinate of upper contour of airfoil.
int iType
type of profile data: 0 - from file, 1 - NACA 4 or 5 digits airfoil, 2 - data embedded in MS2 file
Reference values.
double MAC
Mean Aerodynamic Chord.
double MX
X coordinate of reference point for moment calculation.
double Scale
scale of geometry (default Scale=1)
double MZ
Z coordinate of reference point for moment calculation.
bool AutoComp
compute reference parameters automatically (flag)
double B
wing span
double S
reference (main wing) area
wing build from sections ( WING_TYPE_SECTIONS )
std::vector< MS2_Section > Sections
wing sections set
int RibNr
not defined in ms2 file - inner variable
int DivType
type of spanwise division - see MS2SpanDivType
definition of section (used in "Section Wing")
double Deflection
control surface deflection [deg] (+ down deflection)
bool CtrlFlag
control surface flag: 1 - present, 0 - does not exist
int No
section number
double Hinge_X
hinge X position
double Z
Z coordinate of origin [m].
double Chord
chord [m]
double Hinge_Z
hinge Z position
double Y
Y coordinate of origin [m].
double X
X coordinate of origin [m].
double RotZ
rotation angle along Z axis [deg]
MS2_Profile Profil
airfoil data
double RotX
rotation angle along X axis [deg]
double RotY
rotation angle along Y axis [deg]
bool CoefPosFlag
position definition flag (see MS2ControlSurfaceDef)
double r
distance through wing curvature from root section (currently only for modular wings)
data for module of super ellipse type
double L
front length
int NF
division number front
double CvFactR
convexity factor rear
int EllType
Ellipse type - ( spine ellipse or normal ellipse )
int NR
division number rear
double H
front height
double CvFactF
convexity factor front
int Wing2No
number of 2'nd wing
std::string Name
name of particular wake information
int Wing1Rib
number of wing's 1 rib connected to wing 2 by wake line
int Wing2Rib
number of wing's 2 rib which modifies wake line
int Wing1No
number of 1'st wing (INDEPENDENT)
int Wing2Surf
wing 2 surface for wake modification (0-bottom, 1-top in case of vertical wake or 0-exterior,...
int Active
1 - active, 0 - not active
int Type
type of wake plane WAKE_H (horizontal) or WAKE_V (vertical)
wing definition
MS2_SecWing Sec
Section wing definition.
double TwistRef
twist reference point (0...1)
int Type
type of the wing ( see MS2WingType )
int RibType
see MS2WingRibType
int DivSource
1 - master, 0 - slave, -1 - independent (
std::vector< double > UserDiv
user defined chord division
int SurfType
wing surface to create ( see MS2WingSurf )
int ComputeInt
1 - compute fuselage-wing intersection, 0 - wing is glued to the fuselage
int Active
1 - active, 0 - not active
MS2_ModWing Mod
Module wing definition.
int DivNo
number of chord division points
int UseMunk
(0,1) Use Munk minimum induced drag theorem
int LongeronNo
fuselage longeron No which will be connected with wing's leading edge
double SRef
reference area for min induced drag calculation
MS2_NacelleWing Nac
Nacelle definition.
int DivType
chord division type
int BypassDepth
max. depth of bypassing - number of longerons to be deflected
int SmartBypass
smart deflection of longerons to bypass the wing (0 - no, 1 - yes, modifies the section points)
int ID
unique object ID
std::string Name
name of wing
double CzDes
design lift force coefficient