RCAIDE.Library.Methods.Mass_Properties.Weight_Buildups.Conventional.Transport.FLOPS.compute_wing_weight
compute_wing_weight#
- compute_wing_weight(vehicle, wing, WPOD, complexity, settings, num_main_wings)[source]#
Calculate the wing weight based on the FLOPS method.
The wing weight consists of: - Total Wing Shear Material and Control Surface Weight - Total Wing Miscellaneous Items Weight - Total Wing Bending Material Weight
- Parameters:
vehicle (Data) –
Data dictionary with vehicle properties - reference_area : float
Wing surface area [m²]
- mass_properties.max_takeofffloat
Maximum takeoff weight [kg]
- flight_envelope.ultimate_loadfloat
Ultimate load factor (default: 3.75)
- systems.accessoriesstr
Type of aircraft (short-range, commuter, medium-range, long-range, sst, cargo)
- fuselageslist
List of fuselage objects - width : float
Width of the fuselage [m]
- networkslist
List of network objects containing propulsion properties - propulsors : list
List of propulsor objects - wing_mounted : bool
Flag indicating if propulsor is wing-mounted
wing (Data) –
Data dictionary with wing properties - taper : float
Taper ratio
- sweeps.quarter_chordfloat
Quarter chord sweep angle [deg]
- thickness_to_chordfloat
Thickness to chord ratio
- spans.projectedfloat
Wing span [m]
- chords.rootfloat
Root chord [m]
- chords.tipfloat
Tip chord [m]
- twists.rootfloat
Twist of wing at root [deg]
- twists.tipfloat
Twist of wing at tip [deg]
- flap_ratiofloat
Flap surface area over wing surface area
- areas.referencefloat
Reference wing area [m²]
- segmentsdict
Dictionary of wing segments
WPOD (float) – Weight of engine pod including the nacelle [kg]
complexity (str) – “simple” or “complex” depending on the wing weight method chosen
settings (Data) –
Configuration settings - FLOPS.aeroelastic_tailoring_factor : float
Factor for aeroelastic tailoring [0-1]
- FLOPS.strut_braced_wing_factorfloat
Factor for strut bracing [0-1]
- advanced_compositesbool
Flag for advanced composite construction
num_main_wings (int) – Number of main wings on the aircraft
- Returns:
WWING – Wing weight [kg]
- Return type:
float
Notes
This function implements the Flight Optimization System (FLOPS) weight estimation methodology for aircraft wings. The calculations are performed in imperial units and converted to metric for output.
- Major Assumptions
Gloved wing area is 0
Load between multiple main wings is distributed equally
Wing sweep is fixed
Theory
The wing weight is calculated using empirical correlations based on wing geometry, loading, and construction techniques. For complex wings, the method integrates spanwise loading to determine bending moments.
\[W_{wing} = W_1 + W_2 + W_3\]- Where:
W₁ is the bending material weight
W₂ is the shear material and control surface weight
W₃ is the miscellaneous items weight
References
[1] McCullers, L. A. (1984). “Aircraft Configuration Optimization Including Optimized Flight Profiles”, NASA Symposium on Recent Experiences in Multidisciplinary Analysis and Optimization. [2] Ardema, M. D., Chambers, M. C., Patron, A. P., Hahn, A. S., Miura, H., & Moore, M. D. (1996). “Analytical Fuselage and Wing Weight Estimation of Transport Aircraft”, NASA Technical Memorandum 110392.
- generate_wing_stations(fuselage_width, wing)[source]#
- Divides half the wing in sections, using the defined sections
and adding a section at the intersection of wing and fuselage
Assumptions:
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
fuselage_width: fuselage width [m] wing: data dictionary with wing properties
-.taper: taper ration wing -.sweeps.quarter_chord: quarter chord sweep angle [deg] -.thickness_to_chord: thickness to chord -.spans.projected: wing span [m] -.chords.root: root chord [m] -.tip.root: tip chord [m] -.twists.root: twist of wing at root [deg] -.twists.tip: twist of wing at tip [deg] -.Segments: trapezoidal segments of the wing
- Outputs:
ETA: spanwise location of the sections normalized by half span C: chord lengths at every spanwise location in ETA normalized by half span T: thickness to chord ratio at every span wise location in ETA SWP: quarter chord sweep angle at every span wise location in ETA
- Properties Used:
N/A
- generate_int_stations(NSD, ETA)[source]#
Divides half of the wing in integration stations
Assumptions:
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
NSD: number of integration stations requested ETA: list of spanwise locations of all sections of the wing
- Outputs:
NS: actual number of integration stations Y: spanwise locations of the integrations stations normalized by half span
- Properties Used:
N/A
- calculate_load(ETA)[source]#
Returns load factor assuming elliptical load distribution
Assumptions:
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
ETA: list of spanwise locations of all sections of the wing
- Outputs:
PS: load factor at every location in ETA assuming elliptical load distribution
- Properties Used:
N/A
- find_sweep(y, lst_y, swp)[source]#
Finds sweep angle for a certain y-location along the wing
Assumptions:
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
y: spanwise location lst_y: list of spanwise stations where sweep is known (eg sections) swp: list of quarter chord sweep angles at the locations listed in lst_y
- Outputs:
swps: sweep angle at y
- Properties Used:
N/A
- get_spanwise_engine(networks, SEMISPAN)[source]#
Returns EETA for the engine locations along the wing
Assumptions:
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
- networks: data dictionary with all the engine properties
-.wing_mounted: list of boolean if engine is mounted to wing -.number_of_engines: number of engines -.origin: origin of the engine
SEMISPAN: half span [m]
- Outputs:
EETA: span wise locations of the engines mounted to the wing normalized by the half span
- Properties Used:
N/A
- wing_weight_constants_FLOPS()[source]#
Defines wing weight constants as defined by FLOPS Inputs: ac_type - determines type of instruments, electronics, and operating items based on types:
“short-range”, “medium-range”, “long-range”, “business”, “cargo”, “commuter”, “sst”
Outputs: list of coefficients used in weight estimations
- determine_fuselage_chord(fuselage_width, wing)[source]#
Determine chord at wing and fuselage intersection
- Assumptions:
Fuselage side of body is between first and second wing segments.
- Source:
The Flight Optimization System Weight Estimation Method
- Inputs:
fuselage_width: width of fuselage [m] wing: data dictionary with wing properties
-.taper: taper ratio -.sweeps.quarter_chord: quarter chord sweep angle [deg] -.thickness_to_chord: thickness to chord -.spans.projected: wing span [m] -.chords.root: root chord [m]
-.fuselages.fuselage.width: fuselage width [m]
- Outputs:
chord: chord length of wing where wing intersects the fuselage wall [ft]
- Properties Used:
N/A