User’s Guide to Running the Trajectory Code Using …



A.5.4 User’s Guide for Structures Codes

Compiled and Edited by Brandon White

The structures code is a conglomeration of 19 MATLAB scripts and functions. The following document is meant to be a guide to anyone wishing to use the structures code. Each script or function in the structures code folder is briefly described here, with a listing of inputs needed and outputs generated.

Index

|bendtank.m |C. Hiu |page 2 |

|InertiaFinal.m |B. White |page 3 |

|intertank.m |C. Hiu |page 6 |

|intertank_str.m |J. Doyle |page 7 |

|mass.m |D. Childers |page 8 |

|nose_cone_def.m |V. Teixeira |page 10 |

|press_tank.m |C. Hiu |page 11 |

|shear_calc.m |J. Doyle |page 12 |

|skirt_analysis_v3_str.m |J. Doyle |page 13 |

|skirt_v3.m |J. Doyle |page 15 |

|tank_material_properties.m |C. Hiu |page 17 |

|tanks.m |C. Hiu |page 19 |

|tanksv2.m |C. Hiu |page 22 |

|gond_strength.m |S. Shoemaker |Page 24 |

|buckle_main.m |J. Schoenbauer |page 25 |

|global_buck.m |J. Schoenbauer |page 26 |

|editfiles2.m |J. Schoenbauer |page 28 |

|global_buck2.m |J. Schoenbauer |page 30 |

|editfiles_3.m |J. Schoenbauer |Page 32 |

bendtank.m

Written by Chii Jyh Hiu

Revision 1.0 - 20 February 2008

Description:

bendtank.m is a function file that analyzes the propellant tanks in bending. It is called by tanks.m or tanksv2.m.

Assumptions:

Tank bending allowable from Bruhn Figure C8.13a and bending allowable improvements for pressurized tank from Bruhn Figure C8.14.

Input Section:

The call line of the function is:

[Fbcr,Fbcr_press] = bendtank(E,D,t,L,P)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|E |Tank material Young’s modulus (3-vector) [Pa] |

|D |Stage diameter(3-vector) [m] |

|t |Tank wall thickness (3-vector) [m] |

|L |Length of tank (3-vector) [m] |

|P |Tank internal pressure (3-vector) [Pa] |

Output Section:

|Variable Name |Description |

|Fbcr |Unpressurized tank bending allowable [Pa] |

|Fbcr_press |Pressurized tank bending allowable [Pa] |

InertiaFinal.m

Written by Brandon White

Revision 1.0 - 1 March 2008

Description:

InertiaFinal.m is a function embedded within tanks.m. The function calculates principal moments of inertia for entire launch vehicle at various stages of flight. InertiaFinal.m uses inputs from tanks.m and mass.m. InertiaFinal.m is a culmination of previous revisions under various names (Inertia.m, Inertia1.m, Inertia2.m).

Assumptions:

All products of inertia are zero, launch vehicle is axisymmetric. LITVC is a point mass located at the top of the second stage nozzle. Payload and avionics in the third stage are point masses at the base of the nose cone. Nose cone is a perfect, right cone (not blunted). Avionics in the first and second stages are wall mounted to the inter-stage skirts, utilizing a constant thickness of 10 cm. This thickness assumption for the avionics is extremely conservative and probably should be updated.

Input Section:

The call line of the function is:

[I1_full I1_empty I2_full I2_empty I3_full I3_empty] = InertiaFinal(Xcm, L_cone, M_cone, M_Ox, M_tank_Ox, L_Ox, t_Ox, M_Fuel, M_tank_Fuel, L_Fuel, t_Fuel, M_tank_press, D_tank_press, t_tank_press, D_tank_press, s_len, s_mass, D, M_Engine, L_Nozzle, payload, mass_avionics, LITVC_prop, LITVC_mt, Length_stage)

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|Xcm |Launch Vehicle Center of mass at the 6 time steps, measured from nose cone [m] |

|L_cone |Vertical length of the Nose Cone [m] |

|M_cone |Mass of the Nose Cone [kg] |

|M_Ox |Oxidizer mass for each stage [kg] |

|M_tank_Ox |Oxidizer tank mass for each stage [kg] |

|L_Ox |Length of Oxidizer tank for each stage [m] |

|t_Ox |Oxidizer tank thickness for each stage [m] |

|M_Fuel |Fuel mass for each stage [kg] |

|M_tank_Fuel |Fuel tank mass for each stage [kg] |

|L_Fuel |Length of Fuel tank for each stage [m] |

|t_Fuel |Oxidizer tank thickness for each stage [m] |

|M_tank_press |Mass of the Pressurant tank [kg] |

|D_tank_press |Diameter of Pressurant tank [m] |

|t_tank_press |Pressurant tank thickness [m] |

|D_tank_press |Diameter of Pressurant tank [m], yes it is input twice. This is a mistake. |

|s_len |Inter-stage skirt vertical length [m] |

|s_mass |Inter-stage skirt mass [kg] |

|D |Diameter for each stage [m] |

|M_Engine |Engine mass for each stage [kg] |

|L_Nozzle |Vertical length of the engine nozzle for each stage [m] |

|payload |Mass of payload [kg] |

|mass_avionics |Mass of the avionics [kg] |

|LITVC_prop |Mass of the LITVC [kg] |

|LITVC_mt |Mass of the LITVC tank [kg] |

|Length_Stage |Vertical length of each stage [m] |

Output Section:

InertiaFinal.m outputs six 3-element arrays. These arrays represent the principle moments of inertia at different phases of flight. The arrays are output in row format with the Ixx value being the first element, the Iyy value being the second element, and the Izz value being the third element.

|Variable Name |Description |

|I1_full |Principle moments of inertia with: All three stages, all full propellant [kg*m2] |

|I1_empty |Principle moments of inertia with: All three stages, no propellant in the first stage|

| |[kg*m2] |

|I2_full |Principle moments of inertia with: Second and Third stages, both with full propellant|

| |[kg*m2] |

|I2_empty |Principle moments of inertia with: Second and Third stages, no propellant in the |

| |second stage [kg*m2] |

|I3_full |Principle moments of inertia with: Third stage only, full propellant [kg*m2] |

|I3_empty |Principle moments of inertia with: Third stage only, no propellant [kg*m2] |

intertank.m

Written by Chii Jyh Hiu

Revision 1.0 - 17 February 2008

Description:

intertank.m is a function file that analyzes the inter-tank couplers for axial compressive strength. It is called by tanks.m or tanksv2.m.

Assumptions:

Intertank buckling theory from Baker, E.H., Kovalevsky, L., Rish, F.L., Structural Analysis of Shells, Robert E. Krieger Publishing Company, Huntington, NY, 1981, pgs. 229-240.

Important Notes:

Unlike most other MAT-derived functions, intertank.m accepts inputs as scalars

Input Section:

The call line of the function is:

[mass_int, t, numhoop] = intertank(E,Sigma_y,Density,v,m_above,max_g,D,L)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|E |Inter-tank material Young’s modulus [Pa] |

|Sigma_y |Inter-tank material yield stress [Pa] |

|Density |Inter-tank material density [kg/m3] |

|v |Inter-tank material Poisson’s ratio |

|m_above |Mass of rocket above inter-tank [kg] |

|max_g |Maximum g-loading [g’s] |

|D |Stage diameter [m] |

|L |Length of intertank [m] |

Output Section:

|Variable Name |Description |

|mass_int |Inter-tank mass [kg] |

|t |Inter-tank wall mass [kg] |

|numhoop |Number of hoops |

intertank_str.m

Written by Jesii Doyle

Revision 1.0 - 27 February 2008

Description:

Intertank_str.m is a function file that determines the number of stringers needed in the inter-tank coupler. It is called by tanks.m or tanksv2.m.

Input Section:

The call line of the function is:

[nsi,mass_str _int] = intertank_str(D,Sy,t_skin,tank_material,L_intertank)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|D |Inter-tank Diameter [m] |

|Sy |Inter-tank material yield stress [Pa] |

|t_skin |Inter-tank wall thickness [m] |

|tank_material |Inter-tank material |

|L_intertank |Length of inter-tank section [m] |

Output Section:

|Variable Name |Description |

|nsi |Number of stringers required |

|mass_str_int |Inter-tank stringer mass [kg] |

mass.m

Written by David Childers

Revision 2.0 - 5 March 2008

Description:

Calculates the center of mass for the launch vehicle.

Assumptions:

Point mass system. Mass is symmetric (located in center of launch vehicle). Locations are approximated for avionics, engines, and LITVC because actual locations cannot be determined based on the theoretical aspect of the project. Reference point is the top of the launch vehicle. Stage numbering is from the bottom up.

Input Section:

The call line of the function is:

[CM_Full_3 CM_Emp_3 CM_Full_2 CM_Emp_2 CM_Full_1 CM_Emp_1]=mass(payload, M_Fuel,M_Ox,M_Engine,M_cone,M_tank_Fuel,M_tank_Ox,Mass_tank_press,LITVC_mt, s_mass,Mass_inert,D,D_tank_press,L_Nozzle,L_Ox,L_Fuel,Length_stage,s_len, L_cone,LITVC_prop,pressmass,Mass_intertank,mass_avionics)

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|Stages |Number of stages |

|payload |Payload mass [kg] |

|M_Fuel |Fuel mass for each stage [kg] |

|M_Ox |Oxidizer mass for each stage [kg] |

|M_engine |Engine mass for each stage [kg] |

|M_tank_Ox |Oxidizer tank mass of each stage |

|M_tank_Fuel |Fuel tank mass of each stage |

|Mass_inert |Inert mass/stage |

|M_cone |Nose cone mass |

|Mass_tank_press |Pressurant tank mass [kg] |

|LITVC_mt |Mass of the LITVC tank [kg] |

|s_mass |Mass of the inter-stage skirts [kg] |

|D |Diameter of each stage [m] |

|D_tank_press |Pressurant tank diameter [m] |

|L_Ox |Oxidizer tank length/stage [m] |

|L_Fuel |Fuel tank length/stage [m] |

|s_len |Skirt length/stage [m] |

|L_cone |Nose cone length [m] |

|Length_stage |Total length of each stage [m] |

|LITVC_prop |Mass of the LITVC [kg] |

|Mass_intertank |Mass of material between the tanks [kg] |

|mass_avionics |Mass of the avionics [kg] |

Output Section:

|Variable Name |Description |

|CM_Full_3 |Center of mass for full third stage [m] |

|CM_Emp_3 |Center of mass for empty third stage [m] |

|CM_Full_2 |Center of mass for full second stage [m] |

|CM_Emp_2 |Center of mass for empty second stage [m] |

|CM_Full_1 |Center of mass for full first stage [m] |

|CM_Emp_1 |Center of mass for empty first stage [m] |

nose_cone_def.m

Written by Vince Teixeira

Revision 1.0 - 24 February 2008

Description:

nose_cone_def.m is a function file that integrates the surface area of the nose cone using a power-law body relationship.

Assumptions:

A one quarter sphere at the blunted tip at 30% of the nose cone length back from the tip.

Input Section:

The call line of the function is:

[L_nose M_nose] = nose_cone_def(D_body)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|D_body |Diameter of the final stage of the launch vehicle [m] |

Output Section:

|Variable Name |Description |

|L_nose |Length of the nose cone [m] |

|M_nose |Mass of the nose cone [kg] |

press_tank.m

Written by Chii Jyh Hiu

Revision 1.1 - 20 February 2008

Description:

press_tank.m is a function file that analyzes the buckling strength of a pressurized cylindrical tank. It is called by tanks.m or tanksv2.m.

Assumptions:

Tank buckling allowable from Baker and buckling allowable improvements for pressurized tank from Bruhn Figure C8.11.

Input Section:

The call line of the function is:

[Fcr_press,Fcr,DF]= press_tank(E,v,D,t,L,P)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|E |Tank material Young’s modulus (3-vector)[Pa] |

|v |Poisson’s Ratio (3-vector) |

|D |Stage diameter (3-vector) [m] |

|t |Tank wall thickness (3-vector) [m] |

|L |Length of tank (3-vector) [m] |

|P |Tank internal pressure (3-vector) [Pa] |

Output Section:

|Variable Name |Description |

|Fcr_press |Unpressurized tank bending allowable [Pa] |

|Fcr |Pressurized tank bending allowable [Pa] |

shear_calc.m

Written by Jesii Doyle

Revision 1.0 - 27 February 2008

Description:

shear_calc.m is a function file that determines the maximum shear loading (applied through the shear center) allowable by the launch vehicle. It is called by tanks.m or tanksv2.m.

Input Section:

The call line of the function is:

[shear] = shear_calc(D,n_str,A_str,tskin,Sy,stages)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|D |Stage diameter [m] |

|n_str |Number of Stringers in each stage |

|A_str |Cross sectional area of each stringer [m2] |

|t_skin |Tank wall thickness [m] |

|Sy |Stringer material yield stress [Pa] |

|Stages |Number of stages in the launch vehicle |

Output Section:

|Variable Name |Description |

|shear |Maximum Shear Force Capability of Launch Vehicle [N] |

skirt_analysis_v3_str.m

Written by Jesii Doyle

Revision 2.0 - 24 March 2008

Description:

This function performs the analysis on the inter-stage skirt with stringers and ring supports, and outputs the option with minimized cost. This code is called by skirt_v3.m.

Assumptions:

Constant taper angle of 10º

Constant skin thickness 4mm

Number of stringers is 1/6th of total possible stringers per radius

Important Notes:

This code is only called by the skirt_v3.m code, and should not need to be revised.

Input Section:

The call line of the function is:

[mass,length,cost,ns,ring,yes_no,t_str] = skirt_analysis_v3_str(P,r_bottom,r_top,l_noz,shear_f)

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|P |Vertical Load [N] |

|r_bottom |Radius of the bottom of the inter-stage skirt [m] |

|r_top |Raius of the top of the inter-stage skirt [m] |

|l_noz |Length of the nozzle [m] |

|shear_f |Applied shear force [N] |

Output Section:

|Variable Name |Description |

|mass |Mass of the inter-stage skirt [kg] |

|length |Vertical length of the inter-stage skirt [m] |

|cost |Cost of the inter-stage skirt [USD] |

|ns |Number of stringers |

|ring |Number of support rings |

|yes_no |Shear stress check output |

|t_str |Stringer thickness [m] |

skirt_v3.m

Written by Jesii Doyle

Revision 3.0 - 24 March 2008

Description:

This code calculates the mass, vertical length and cost of the inter-stage skirts between each stage. This code is run within tanks.m and tanksv2.m.

Assumptions:

The inter-stage skirt shape is a truncated cone.

Only loads are maximum axial loads applied from mass above the inter-stage skirt and g-loading, and maximum shear force.

Inter-stage skirt material: Aluminum

Stringer material: Aluminum

Input Section:

The call line of the function is:

[s_mass,s_len,s_cost,ns,ring,yes_no_s,t_str] = skirt_v3(L_Nozzle,M_Ox,M_Fuel,M_tank_Ox,M_tank_Fuel,M_Engine,D,payload_mass,max_g,stages,m_press,M_tank_press,M_Cone,Sy)

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|L_Nozzle |Length of the nozzle for each stage [m] |

|M_Ox |Mass of the oxidizer for each stage [kg] |

|M_Fuel |Mass of the fuel for each stage [kg] |

|M_tank_Ox |Mass of the oxidizer tank for each stage [kg] |

|M_tank_Fuel |Mass of the fuel tank for each stage [kg] |

|M_Engine |Mass of the engine for each stage [kg] |

|D |Diameter for each stage [kg] |

|payload_mass |Mass of the payload [kg] |

|max_g |Max g-loading [kg] |

|stages |Total number of stages |

|m_press |Mass of the pressurant for each stage [kg] |

|M_tank_press |Mass of the pressurant tank for each stage [kg] |

|M_cone |Mass of the nose cone [kg] |

|Sy |Maximum shear force [N] |

Output Section:

|Variable Name |Description |

|s_mass |Mass of inter-stage skirt for each stage [kg] |

|s_len |Length of inter-stage skirt for each stage [m] |

|s_cost |Inter-stage skirt cost for each stage [USD] |

|ns |Number of stringers in inter-stage skirt for each stage |

|ring |Number of support rings in inter-stage skirt for each stage |

|yes_no_s |Yes/No output |

|t_str |Stringer thickness [m] |

tank_material_properties.m

Written by Chii Jyh Hiu

Revision 1.0 - 20 February 2008

Description:

tank_material_properties.m is a function file that returns material physical properties for use in other calculations.

Assumptions:

Material strengths use B-basis, LT values where available. Tensile strengths are at yield, shear stresses are at ultimate.

Important Notes:

Material properties for Carbon fiber are not authoritative. An isotropic carbon fiber layup was assumed. As carbon fiber was abandoned early in the design process for cost reasons, there was no incentive to refine the existing figures, which are kept for historic purposes.

Input Section:

The call line of the function is:

[Sigma_y,Sigma_s,Density,E,Cost_kg,v] = tank_material_properties(tank_material)

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|tank_material |Tank material - S: Steel, A: Aluminum, C: Composite, T: Titanium, X: n/a. (3-vector, |

| |string) [unitless] |

Output Section:

|Variable Name |Description |

|Sigma_y |Yield stress allowable [Pa] |

|Sigma_s |Shear stress allowable [Pa] |

|Density |Density [kg/m3] |

|E |Young’s modulus [Pa] |

|Cost_kg |Material raw cost [USD/kg] |

|v |Poisson’s ratio [unitless] |

tanks.m

Written by Chii Jyh Hiu

Revision 1.7 - 20 February 2008

Description:

tanks.m calculates the required propellant and pressurant tank dimensions to meet propellant storage and flight load requirements. It passes function calls to subsidiary functions to calculate tank bending and buckling in-flight, as well as stresses on inter-tank couplers. It also calls cost functions to calculate the manufacturing cost of the tanks. It is used in the Material Analysis preliminary design level, where it is called by the mainloop.m master function and forms an iterative loop with the various propulsion codes to optimize the inert mass fraction of the launch vehicle.

Assumptions:

A Reserve Factor of 1.25 is applied across all stress analysis. We assume that hoop stresses in the propellant tanks will always be greater than axial stresses. Max in-flight g-loading is applied across all components. Inter-stage skirt function calls were disabled to speed iteration during preliminary design runs.

Important Notes:

tanks.m expects 3-vector inputs for most variables. Exceptions are listed in the table below

Input Section:

The call line of the function is:

[M_tank_press, t_tank_press, M_tank_Ox, M_tank_Fuel, t_Ox, t_Fuel, inert_mass_fraction_struct, Mass_inert, Length_stage, yes_no, COST_stage, Tot_Cost, D, L_Ox, L_Fuel] = tanks.m(Mat, Prop_Type, M_Ox, Ox_Vol, P_Ox, M_Fuel, Fuel_Vol, P_Fuel, D, L_Nozzle, M_Engine, g, inert_mass, m_press, vol_press, P_press, payload_mass, shear, bending)

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|Mat |Tank material - S: Steel, A: Aluminum, C: Composite, T: Titanium, X: n/a. (3-vector, |

| |string) [unitless] |

|Prop_Type |Propellant type - 1: Cryogenic, 2: Storable, 3: Hybrid, 4: Solid, 0: n/a (3-vector, |

| |string) [unitless] |

|M_Ox |Mass of oxidizer (3-vector) [kg] |

|Ox_Vol |Volume of oxidizer (3-vector) [m3] |

|P_Ox |Oxidizer tank operating pressure (3-vector) [Pa] |

|M_Fuel |Mass of fuel (3-vector) [kg] |

|Fuel_Vol |Volume of fuel (3-vector) [m3] |

|P_Fuel |Fuel tank operating pressure (3-vector) [Pa] |

|D |Stage diameter (3-vector) [m] |

|L_Nozzle |Length of Nozzle and Engine (3-vector) [m] |

|M_Engine |Mass of Nozzle and Engine (3-vector) [kg] |

|g |Max in-flight acceleration (scalar) [g’s] |

|inert_mass |Target inert mass (3-vector) [kg] |

|m_press |Mass of pressurant (3-vector) [kg] |

|vol_press |Volume of pressurant (3-vector) [kg] |

|P_press |Pressurant tank max pressure (3-vector) [Pa] |

|payload_mass |Payload mass (scalar) [kg] |

|shear |Max shear (3-vector) [N] |

|bending |Max bending (3-vector) [Nm] |

Output Section:

|Variable Name |Description |

|M_tank_press | |

| |Pressurant tank mass [kg] |

|t_tank_press | |

| |Pressurant tank wall thickness [m] |

|M_tank_Ox | |

| |Oxidizer tank mass [kg] |

|M_tank_Fuel |Fuel tank mass [kg] |

|t_Ox |Oxidizer tank wall thickness [m] |

|t_Fuel |Fuel tank wall thickness [m] |

|inert_mass_fraction_struct |Inert mass fraction [kg] |

|Mass_inert |Inert mass [kg] |

|Length_stage |Length of stage [m] |

|yes_no |Success/Failure flag for target mass [unitless] |

|COST_stage |Cost of stage [USD] |

|Tot_Cost |Total Cost [USD] |

|D |Stage Diameter [m] |

|L_Ox |Length of oxidizer tank [m] |

|L_Fuel |Length of fuel tank [m] |

tanksv2.m

Written by Chii Jyh Hiu

Revision 2.4 - 1 March 2008

Description:

tanksv2.m is a m-file that calculates the required propellant, pressurant and LITVC tank dimensions to meet propellant storage and flight load requirements. It passes function calls to subsidiary functions to calculate tank bending and buckling in-flight, as well as stresses on inter-tank couplers and inter-stage skirts. It has calls to center of mass and inertia matrix functions. It also calls cost functions to calculate the manufacturing cost of the tanks. It is used in final analysis design, and calls input variables from the workspace that are calculated by running mainonce.m and LITVC.m.

Assumptions:

A Reserve Factor of 1.25 is applied across all stress analysis. Max in-flight g-loading of 6gs is applied across all components.

Input Section:

All of the variables that are passed into the m-file are described below:

|Variable Name |Description |

|tank_material |Tank material - S: Steel, A: Aluminum, C: Composite, T: Titanium, X: n/a. (3-vector, |

| |string) [unitless] |

|propellant_type |Propellant type - 1: Cryogenic, 2: Storable, 3: Hybrid, 4: Solid, 0: n/a (3-vector, |

| |string) [unitless] |

|prop_mass |Mass of propellant (3-vector) [kg] |

|p_ox_tank |Oxidizer tank operating pressure (3-vector) [Pa] |

|p_fuel_tank |Fuel tank operating pressure (3-vector) [Pa] |

|diameter_final |Stage diameter (3-vector) [m] |

|nozzle_length |Length of Nozzle and Engine (3-vector) [m] |

|engine_mass |Mass of Nozzle and Engine (3-vector) [kg] |

|g |Max in-flight acceleration (scalar) [g’s] |

|payload_mass |Payload mass (scalar) [kg] |

Output Section:

|Variable Name |Description |

|M_tank_press |Pressurant tank mass [kg] |

|t_tank_press |Pressurant tank wall thickness [kg] |

|M_tank_Ox |Oxidizer tank mass [kg] |

|M_tank_Fuel |Fuel tank mass [kg] |

|t_Ox |Oxidizer tank wall thickness [m] |

|t_Fuel |Fuel tank wall thickness [m] |

|inert_mass_fraction_struct |Inert mass fraction [kg] |

|Mass_inert |Inert mass [kg] |

|Length_stage |Length of stage [m] |

|yes_no |Success/Failure flag for target mass [unitless] |

|COST_stage |Cost of stage [USD] |

|Tot_Cost |Total Cost [USD] |

|D |Stage Diameter [m] |

|L_Ox |Length of oxidizer tank [m] |

|L_Fuel |Length of fuel tank [m] |

|CM_Full |Center of mass of fully fueled stage [m] |

|CM_Empty |Center of mass of empty stage [m] |

|In_Full |Mass moment of inertia of full nth stage [kgm2] |

|In_Empty |Mass moment of inertial of empty stage [kgm2] |

gond_strength.m

Written by Sarah Shoemaker

Revision 1.1 - 19 March 2008

Description:

This code generates the strength the base of the gondola experiences.

Important Notes:

The gondola weight is acquired from the CATIA model.

Input Section:

The call line of the function is:

[stress] = gon_strength.m ( GLOW, area, gond_weight )

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|GLOW |Gross lift off weight of the launch vehicle [kg] |

|area |Area of the gondola base [m2] |

|gond_weight |Mass of the guide rails, support rings, and avionics/avionics bay [kg] |

Output Section:

|Variable Name |Description |

|stress |Stress on the gondola base [Pa] |

Sample Output:

ans =

7.5479e+004

The stress the gondola base experiences.

buckle_main.m

Written by Jessica Schoenbauer

Revision 1.0 – 25 March 2008

Description:

This is the main script to run the global buckling analysis on the launch vehicle. This code formats inputs for global_buck.m and global_buck2.m and calls the codes. It also uses the output, the buckling factor, from the global_buck.m and global_buck2.m codes to calculate the maximum G’s that the launch vehicle can withstand.

Assumptions:

It is assumed that the launch vehicle can be simplified to represent a column-beam. It is assumed that the number of stages, the stage lengths, the stage diameters, the wall thicknesses for each stage, the material for each stage, the maximum acceleration in G’s that the rocket will experience, and the gross lift off mass for the launch vehicle are all known quantities.

Important Notes:

It is necessary to have the StaDyn executable to run this code. It is also necessary to comment out sections of the code. There is input for the 200g payload, the 1 kg payload, and the 5 kg payload launch vehicles. Depending on the launch vehicle that is to be analyzed, the other two vehicles should be commented out of the code.

Input Section:

The call line of the script is:

buckle_main

Output Section:

There is no “output” in the way a function does since this is a script. However, the resulting maximum G’s that the launch vehicle can withstand is calculated and can be considered output.

global_buck.m

Written by Jessica Schoenbauer

Revision 1.0 – 25 March 2008

Description:

This function is called by buckle_main.m. It creates input for editfiles2.m and calls the function using the inputs passed to it from buckle_main.m. The inputs that are created for editfiles2.m consist of the node locations, the material properties, including the areas and inertias for each stage cross-section, and the load.

The first line of this function is:

function [pass,lambda] = global_buck(stage_len,stage_diam,stage_thk,stage_mat,load)

Assumptions:

We assume a fixed number of nodes and elements for every launch vehicle.

Important Notes:

It is necessary to have the StaDyn executable to run this code. It is also necessary to have the following file to run the program: runbuck, which is the file that contains the commands used by StaDyn. StaDyn will also write an output file called stadyn.out. This file is read in to obtain the output for the code.

Input Section:

The call line of the function is:

function [pass,lambda] = global_buck(stage_len,stage_diam,stage_thk,stage_mat,load);

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|stage_len |A 3 vector containing the lengths of each stage, 1st to 3rd. |

|stage_diam |A 3 vector containing the stage diameters, 1st to 3rd. |

|stage_thk |A 3 vector containing the stage wall thicknesses, 1st to 3rd. |

|Stage_mat |A 3 vector containing the material for each stage, 1st to 3rd. |

|load |The maximum possible load applied to the launch vehicle. |

Output Section:

A pass/fail parameter and the buckling load factor, lambda, are the outputs. The pass parameter is 1 and the fail parameter is 2. The vehicle is considered to pass if the buckling load factor is greater than the factor-of-safety, 1.25. It also outputs the buckling load factor output by StaDyn.

editfiles2.m

Written by Jessica Schoenbauer

Revision 1.0 – 25 March 2008

Description:

This function is called by global_buck.m. It creates a structure data file that is used by StaDyn.

The first line of this function is:

function [] = editfiles2(Node_yloc,Fy,MatProp)

Assumptions:

We assume a fixed number of nodes and elements for every launch vehicle.

Important Notes:

It is necessary to have the following file to run the program: template.3.

Input Section:

The call line of the function is:

function [] = editfiles2(Node_yloc,Fy,MatProp);

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|Node_yloc |A 16 vector containing the y locations for all the nodes. |

|Fy |The load applied to the launch vehicle in the analysis. |

|MatProp |A 3x8 matrix containing the material properties, material number, Young’s modulus, |

| |shear modulus, cross-section area, density, and cross-section moments of inertias. |

| |The 1st row is the 1st stage. The 2nd row is the 2nd stage. And the 3rd row is the 3rd|

| |stage. |

Output Section:

It does not create any real output that is passed in Matlab, but it creates output that is written to the structure data file which is used in StaDyn. The structure data file is called rocket.3.

global_buck2.m

Written by Jessica Schoenbauer

Revision 1.0 – 25 March 2008

Description:

This function is called by buckle_main.m. It creates input for editfiles_3.m and calls the function using the inputs passed to it from buckle_main.m. The inputs that are created for editfiles_3.m consist of the node locations, the material properties, including the areas and inertias for each stage cross-section, and the load.

The first line of this function is:

function [pass,lambda] = global_buck2(stage_len,stage_diam,stage_thk,stage_mat,load)

Assumptions:

We assume a fixed number of nodes and elements for every launch vehicle.

Important Notes:

It is necessary to have the StaDyn executable to run this code. It is also necessary to have the following file to run the program: runbuck2.txt, which is the file that contains the commands used by StaDyn. StaDyn will also write an output file called stadyn.out. This file is read in to obtain the output for the code.

Input Section:

The call line of the function is:

function [pass,lambda] = global_buck2(stage_len,stage_diam,stage_thk,stage_mat,load);

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|stage_len |A 2 vector containing the lengths of each stage, 1st to 2nd. |

|stage_diam |A 2 vector containing the stage diameters, 1st to 2nd. |

|stage_thk |A 2 vector containing the stage wall thicknesses, 1st to 2nd. |

|Stage_mat |A 2 vector containing the material for each stage, 1st to 2nd. |

|load |The maximum possible load applied to the launch vehicle. |

Output Section:

A pass/fail parameter and the buckling load factor, lambda, are the outputs. The pass parameter is 1 and the fail parameter is 2. The vehicle is considered to pass if the buckling load factor is greater than the factor-of-safety, 1.25. It also outputs the buckling load factor output by StaDyn.

editfiles_3.m

Written by Jessica Schoenbauer

Revision 1.0 – 25 March 2008

Description:

This function is called by global_buck2.m. It creates a structure data file that is used by StaDyn.

The first line of this function is:

function [] = editfiles_3(Node_yloc,Fy,MatProp)

Assumptions:

We assume a fixed number of nodes and elements for every launch vehicle.

Important Notes:

Input Section:

The call line of the function is:

function [] = editfiles_3(Node_yloc,Fy,MatProp);

All of the variables that are passed into the function are described below:

|Variable Name |Description |

|Node_yloc |A 15 vector containing the y locations for all the nodes. |

|Fy |The load applied to the launch vehicle in the analysis. |

|MatProp |A 2x8 matrix containing the material properties, material number, Young’s modulus, |

| |shear modulus, cross-section area, density, and cross-section moments of inertias. |

| |The 1st row is the 1st stage. The 2nd row is the 2nd stage. |

Output Section:

It does not create any real output that is passed in Matlab, but it creates output that is written to the structure data file which is used in StaDyn. The structure data file is called rocket2.3.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download