24#ifndef _MS2_DATA_STRUCT_H_
25#define _MS2_DATA_STRUCT_H_
159 WING_MOD_TYPE_ROOT = 0,
160 WING_MOD_TYPE_EQUI_LINE,
167 WING_MOD_PAN_CONC_LEFT = 0,
168 WING_MOD_PAN_CONC_CENTER,
169 WING_MOD_PAN_CONC_RIGHT
203 std::vector<double>
Xd;
204 std::vector<double>
Xg;
205 std::vector<double>
Zd;
206 std::vector<double>
Zg;
AIRFOIL class to manipulate the airfoil geometry or it can read geometry data from file (5 commonly ...
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_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
@ 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.
@ 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)
MS2AirfoilSide
airfoil side for modules definition (see MS2_FusAirfoil::Side)
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)
@ FT_PARAMS
built from parameters
@ SYM_OPT_SYM
symmetrical object
@ SYM_OPT_RIGHT
right half
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 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
std::string Name
fuselage data (geometry) filename
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.
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
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
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)
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)
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)
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
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 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
double Hinge_X
hinge X position
double Z
Z coordinate of origin [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
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 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)
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)
std::string Name
name of wing
double CzDes
design lift force coefficient