John K. Ramsey, Jr., and John K. Ramsey, Sr.

Glenn Research Center, Cleveland, Ohio

Element Load Data Processor (ELDAP) 

User’s Manual 

NASA/TM—2015-218126

January 2015
1$6$67,3URJUDPLQ3UR¿OH

6LQFHLWVIRXQGLQJ1$6$KDVEHHQGHGLFDWHGWRWKH

DGYDQFHPHQWRIDHURQDXWLFVDQGVSDFHVFLHQFH7KH

1$6$6FLHQWL¿FDQG7HFKQLFDO,QIRUPDWLRQ67,

SURJUDPSOD\VDNH\SDUWLQKHOSLQJ1$6$PDLQWDLQ

WKLVLPSRUWDQWUROH

7KH1$6$67,3URJUDPRSHUDWHVXQGHUWKHDXVSLFHV

RIWKH$JHQF\&KLHI,QIRUPDWLRQ2I¿FHU,WFROOHFWV

RUJDQL]HVSURYLGHVIRUDUFKLYLQJDQGGLVVHPLQDWHV

1$6$¶V67,7KH1$6$67,SURJUDPSURYLGHVDFFHVV

WRWKH1$6$$HURQDXWLFVDQG6SDFH'DWDEDVHDQG

LWVSXEOLFLQWHUIDFHWKH1$6$7HFKQLFDO5HSRUWV

6HUYHUWKXVSURYLGLQJRQHRIWKHODUJHVWFROOHFWLRQV

RIDHURQDXWLFDODQGVSDFHVFLHQFH67,LQWKHZRUOG

5HVXOWVDUHSXEOLVKHGLQERWKQRQ1$6$FKDQQHOV

DQGE\1$6$LQWKH1$6$67,5HSRUW6HULHVZKLFK

LQFOXGHVWKHIROORZLQJUHSRUWW\SHV

 7(&+1,&$/38%/,&$7,215HSRUWVRI

FRPSOHWHGUHVHDUFKRUDPDMRUVLJQL¿FDQWSKDVH

RIUHVHDUFKWKDWSUHVHQWWKHUHVXOWVRI1$6$

SURJUDPVDQGLQFOXGHH[WHQVLYHGDWDRUWKHRUHWLFDO

DQDO\VLV,QFOXGHVFRPSLODWLRQVRIVLJQL¿FDQW

VFLHQWL¿FDQGWHFKQLFDOGDWDDQGLQIRUPDWLRQ

GHHPHGWREHRIFRQWLQXLQJUHIHUHQFHYDOXH

1$6$FRXQWHUSDUWRISHHUUHYLHZHGIRUPDO

SURIHVVLRQDOSDSHUVEXWKDVOHVVVWULQJHQW

OLPLWDWLRQVRQPDQXVFULSWOHQJWKDQGH[WHQWRI

JUDSKLFSUHVHQWDWLRQV

 7(&+1,&$/0(025$1'806FLHQWL¿F

DQGWHFKQLFDO¿QGLQJVWKDWDUHSUHOLPLQDU\RU

RIVSHFLDOL]HGLQWHUHVWHJTXLFNUHOHDVH

UHSRUWVZRUNLQJSDSHUVDQGELEOLRJUDSKLHVWKDW

FRQWDLQPLQLPDODQQRWDWLRQ'RHVQRWFRQWDLQ

H[WHQVLYHDQDO\VLV

 &2175$&7255(32576FLHQWL¿FDQG

WHFKQLFDO¿QGLQJVE\1$6$VSRQVRUHG

FRQWUDFWRUVDQGJUDQWHHV

 &21)(5(1&(38%/,&$7,21&ROOHFWHG

SDSHUVIURPVFLHQWL¿FDQGWHFKQLFDO

FRQIHUHQFHVV\PSRVLDVHPLQDUVRURWKHU

PHHWLQJVVSRQVRUHGRUFRVSRQVRUHGE\1$6$

 63(&,$/38%/,&$7,216FLHQWL¿F

WHFKQLFDORUKLVWRULFDOLQIRUPDWLRQIURP

1$6$SURJUDPVSURMHFWVDQGPLVVLRQVRIWHQ

FRQFHUQHGZLWKVXEMHFWVKDYLQJVXEVWDQWLDO

SXEOLFLQWHUHVW

 7(&+1,&$/75$16/$7,21(QJOLVK

ODQJXDJHWUDQVODWLRQVRIIRUHLJQVFLHQWL¿FDQG

WHFKQLFDOPDWHULDOSHUWLQHQWWR1$6$¶VPLVVLRQ

6SHFLDOL]HGVHUYLFHVDOVRLQFOXGHRUJDQL]LQJ

DQGSXEOLVKLQJUHVHDUFKUHVXOWVGLVWULEXWLQJ

VSHFLDOL]HGUHVHDUFKDQQRXQFHPHQWVDQGIHHGV

SURYLGLQJLQIRUPDWLRQGHVNDQGSHUVRQDOVHDUFK

VXSSRUWDQGHQDEOLQJGDWDH[FKDQJHVHUYLFHV

)RUPRUHLQIRUPDWLRQDERXWWKH1$6$67,

SURJUDPVHHWKHIROORZLQJ

 $FFHVVWKH1$6$67,SURJUDPKRPHSDJHDW

http://www.sti.nasa.gov

 (PDLO\RXUTXHVWLRQWRhelp@sti.nasa.gov

 3KRQHWKH1$6$67,,QIRUPDWLRQ'HVNDW

 

 :ULWHWR

1$6$67,,QIRUPDWLRQ'HVN

0DLO6WRS

1$6$/DQJOH\5HVHDUFK&HQWHU

+DPSWRQ9$
John K. Ramsey, Jr., and John K. Ramsey, Sr.

Glenn Research Center, Cleveland, Ohio

Element Load Data Processor (ELDAP) 

User’s Manual 

NASA/TM—2015-218126

January 2015

1DWLRQDO$HURQDXWLFVDQG

6SDFH$GPLQLVWUDWLRQ

*OHQQ5HVHDUFK&HQWHU

&OHYHODQG2KLR
Acknowledgments

7KHDXWKRUVWKDQN9LQFH%LODUGR-UIRUIXQGLQJWKHGHYHORSPHQWRIWKLVVRIWZDUHZKLFKZDVXVHGLQWKHVWUXFWXUDODQDO\VLVRIWKH

$UHV,±;,QWHUVWDJHVHJPHQW7KDQNVDUHDOVRH[WHQGHGWRWKHUHYLHZSDQHO-HQQ\+D\HV1HOVRQ0RUDOHVDQG'XWFK0\HUVIRU

WKHLUYDOXDEOHVXJJHVWLRQVWKDWKDYHLPSURYHGWKHVRIWZDUHDQGWKLVSXEOLFDWLRQ,QSDUWLFXODUDVXJJHVWLRQGXULQJWKHSXEOLFDWLRQ

UHYLHZSURFHVVDIWHU$UHV,±;UHVXOWHGLQDQH[SDQVLRQRIWKHFDSDELOLW\RIWKH(OHPHQW/RDG'DWD3URFHVVRU(/'$3WRFRPELQH

IDVWHQHUVKHDUDQGD[LDOORDGVXVLQJDQLQWHUDFWLRQHTXDWLRQ

$YDLODEOHIURP

1$6$67,,QIRUPDWLRQ'HVN

0DLO6WRS

1$6$/DQJOH\5HVHDUFK&HQWHU

+DPSWRQ9$

1DWLRQDO7HFKQLFDO,QIRUPDWLRQ6HUYLFH

6KDZQHH5RDG

$OH[DQGULD9$

$YDLODEOHHOHFWURQLFDOO\DWKWWSZZZVWLQDVDJRY

7UDGHQDPHVDQGWUDGHPDUNVDUHXVHGLQWKLVUHSRUWIRULGHQWL¿FDWLRQ

RQO\7KHLUXVDJHGRHVQRWFRQVWLWXWHDQRI¿FLDOHQGRUVHPHQW

HLWKHUH[SUHVVHGRULPSOLHGE\WKH1DWLRQDO$HURQDXWLFVDQG

6SDFH$GPLQLVWUDWLRQ

Level of Review7KLVPDWHULDOKDVEHHQWHFKQLFDOO\UHYLHZHGE\WHFKQLFDOPDQDJHPHQW
 

Element Load Data Processor (ELDAP) User’s Manual 

John K. Ramsey, Jr.,*

 and John K. Ramsey, Sr. 

National Aeronautics and Space Administration 

Glenn Research Center 

Cleveland, Ohio 44135 

Summary 

Often, the shear and tensile forces and moments are extracted from finite element analyses to be used 

in off-line calculations for evaluating the integrity of structural connections involving bolts, rivets, and 

welds. Usually the maximum forces and moments are desired for use in the calculations. In situations 

where there are numerous structural connections of interest for numerous load cases, the effort in finding 

the true maximum force and/or moment combinations among all fasteners and welds and load cases 

becomes difficult. The Element Load Data Processor (ELDAP) software described herein makes this 

effort manageable. This software eliminates the possibility of overlooking the worst-case forces and 

moments that could result in erroneous positive margins of safety and/or selecting inconsistent 

combinations of forces and moments resulting in false negative margins of safety. In addition to forces 

and moments, any scalar quantity output in a PATRAN (MSC Sofware Corporation) report file may be 

evaluated with this software. 

This software was originally written to fill an urgent need during the structural analysis of the Ares 

I–X Interstage segment. As such, this software was coded in a straightforward manner with no effort 

made to optimize or minimize code or to develop a graphical user interface. 

Symbols 

A percent yield at maximum preload for yield strength interaction; (percent of Ft y ) Ftu for 

 ultimate strength interaction. See Equations (19) to (21). 

At fastener tensile area

B nISF Ft y At for yield strength interaction; nISF Ftu At for ultimate strength interaction. 

 See Appendix A. 

C SF 0.577Ft y At for yield strength interaction; SF 0.577Ftu At for ultimate strength 

 interaction. See Appendix A 

Fr resultant force 

Ft y fastener material tensile yield stress 

Ftu fastener material ultimate tensile stress 

Fx,y,z force components 

[IM] matrix of stress ratios 

Mr resultant momentum 

Mx,y,z moment components 

n loading plane factor (Ref. 1)

Ra,b,s stress ratios due to axial, bending, and shear loads, respectively 

 

*

NASA Glenn Research Center’s Lewis’ Educational and Research Collaborative Internship Project (LERCIP). 

NASA/TM—2015-218126 1
 

Rx,y,z stress ratio components 

SF yield factor of safety for yield strength interaction; ultimate factor of safety for ultimate 

strength interaction (Ref. 1) 

[Shear] matrix of shear values 

Vx,y,z shear force components 

x, y, z force coordinates 

I load factor (Ref. 1) 

Introduction 

Bolts are frequently modeled in NASTRAN (MSC Sofware Corporation) as rigid, beam, or spring 

finite elements for the purpose of extracting forces and moments to be used in subsequent off-line boltedjoint calculations; and also in the case of beam and spring elements, to model the bolt or bolted joint 

stiffness. Typically, the grid point (GP) force or multipoint constraint (MPC) force components are 

extracted at each GP associated with the rigid finite element representing the fastener. Element forces 

may be extracted from the beam and spring elements if they are used. Typically, the square root of the 

sum of the squares (i.e., the root-sum-square (RSS)) of two of the force components is computed to arrive 

at the shear force on the fastener. The third force component is usually the fastener axial force. Similar 

approaches may be used to evaluate welded and riveted connections. 

To obtain fastener forces, especially for multiple load cases, it is convenient to generate a report file 

using PATRAN (MSC Software Corporation), listing the GP or MPC forces as shown in Figure 1. For 

each load case, the report file can be made to list the x,y,z-coordinates of the GPs, as well as the GP x, y, 

and z force components. PATRAN automatically lists the GP number (denoted in the PATRAN report 

file as “Entity ID”). Concluding the report file is a summary of the maximum force components 

correlated with their corresponding GP and load case. The x, y, and z force components may be output 

with respect to any coordinate system within PATRAN. 

The Element Load Data Processor (ELDAP) was originally intended for use solely on GPs and 

consequently is limited to reading seven different data quantities, which were envisioned to cover GP 

identification number “ID,” three coordinates, and three forces or moments as previously mentioned. 

However, ELDAP can accommodate element forces as well. When element forces are requested in the 

PATRAN report file, PATRAN automatically outputs an element position ID along with the element ID, 

consequently taking up two data quantities and leaving five remaining data quantities choices. For 

example, when working with element forces the PATRAN report file could be specified to list any two of 

its coordinates (x, y, z), and its three x, y, and z force components. The element (Entity) ID and position 

ID are automatically generated, resulting in seven data quantities. 

Generally, the maximum force components do not result from the same load case or GP (fastener) 

location. This is shown in Figure 1, where load cases 17, 5, and 19 produce the maximum x, y, and z force 

components, respectively, at GPs 94467, 102339, and 136846, respectively. It is straightforward to use 

the maximum force components listed in the report summary to calculate the fastener shear force, even if 

the forces did not originate from the same load case and/or GP. Doing this results in what is known as a 

maximum-on-maximum load, often referred to as a “max-on-max load,” giving the largest shear force. 

This approach, being straightforward and convenient, will yield conservative bolted-joint margins of 

safety. However, this may result in the unnecessary selection of higher strength fasteners and possible 

false negative margins. 

NASA/TM—2015-218126 2
NASA/TM—2015-218126 3
NASA/TM—2015-218126 4
A list of the load cases containing one of the maximum force components is provided in the 

PATRAN report summary. One should not usually RSS the two force components from a load case listed 

in the PATRAN report summary, as this generally will not yield the maximum shear force. As an 

example, consider the hypothetical load case summary as shown in Figure 2. Here, the load cases that 

contain one of the maximum force components are listed. There are four load cases total, meaning one 

load case is not listed because it does not have a maximum force component. Here the maximum forces 

(fastener loads) in the x-, y-, and z-directions occur in load cases 2, 3, and 1, respectively. Assume the 

NASA/TM—2015-218126 5
analyst wants to calculate the shear force in the y,z-plane. If the analyst performs an RSS of the y and z

force components from the same load case, the resultant shear force from load cases 1, 2, and 3 would be 

3.16, 3.2, and 3.28 lbf, respectively. However, these load cases do not produce the largest shear force. 

This occurs in load case 4 where the shear force is 3.83 lbf. Load case 4 was not listed in the summary 

because its force components were not a maximum. Therefore, it is also possible to use loads that are too 

low resulting in false positive margins of safety. Note that the examples in this report use English units 

(lbf, in.) though metric units apply (N, m) and could be used as well. 

Element Load Data Processor (ELDAP) is a program based on MATLAB (The Mathworks, Inc.) that 

was developed to directly address these problems. The purpose of the program is to provide a tool that 

will enable the analyst to determine the maximum shear load and corresponding axial load from among 

multiple load cases and grid points using the PATRAN-generated report file. Specific GPs (fasteners) 

may be selected, shear forces in different planes and their corresponding axial forces may be obtained, 

and GP (fastener) loads and positions may be plotted. This program will enable the analyst to compute 

more-accurate bolted-joint margins by avoiding possible false negative margins as a result of using maxon-max loads, and by avoiding missing the true maximum bolt loads arising out of the use of the 

summary load cases containing one maximum force component. 

Equations 

Originally the program was developed to calculate fastener shear forces (by use of an RSS of two scalar 

forces) and also provide the third consistent scalar quantity, fastener axial load, associated with the two RSS 

components; consequently this report will focus on these aspects as the primary example. However, the 

program can calculate the RSS of any two or three scalar quantities that PATRAN provides as output. 

This section will present the equations used in this program to calculate the forces and moments from 

the ELDAP input file (PATRAN report file). As previously mentioned, fastener shear forces will be the 

focus of the example. However, as shown below, the equations are applicable to moments as well as 

forces. ELDAP first reads the PATRAN report file and converts its data into matrix form to be used in 

subsequent calculations as shown in Equations (3) to (13). Equations (3) to (5) are used to calculate the 

shear forces Vx,y,z from the three force components Fx, Fy, and Fz. Subscripts on V refer to the axis normal 

to the plane of shear (refer to Fig. 3). Equation (6) calculates the resultant of all three force components. 

By replacing Fx, Fy, and Fz with Mx, My, and Mz, respectively, the moment components may be RSS’d as 

shown in Equations (7) to (10). 

NASA/TM—2015-218126 6
 

Up to this point, fastener axial and shear loads have been treated separately and not in combination. 

The interaction equation in Reference 1 combines stress ratios R due to axial, bending, and shear loads: 

  1 2 3 Ra  Rb  Rs d (1) 

ELDAP can determine the worst-case fastener loads based on a combination of both axial and shear 

loads, also represented by an interaction equation. The interaction Equations (11) to (13) are derived in 

Appendix A and are based on the equations in Reference 1. The interaction equations of Reference 1 

include the effects of bolt bending; however, the interaction Equations (11) to (13) used in the present 

work omit the bolt bending term for simplicity. 

1 2 2 Ra  Rs d (2) 

In accordance with Reference 1 it is desired that the quantities Rx, Ry, and Rz be less than or equal to 1 

for fastener shanks parallel to the x-, y-, or z-directions, respectively. 

The constants A, B, and C are functions of the material properties and geometry of both the fastener 

and the joint and are defined in the Nomenclature section of this report and derived in Appendix A. These 

three constants are input into ELDAP if the calculation of the interaction equations is desired. 

2 2 Vx Fy  Fz (3) 

2 2 Vy Fx  Fz (4) 

2 2 Vz Fx  Fy (5) 

2 2 2 Fr Fx  Fy  Fz (6) 

2 2 M yz M y  M z (7) 

2 2 M xz M x  M z (8) 

2 2 M xy M x  M y (9) 

2 2 2 Mr M x  M y  M z (10) 

   

3 2 2 2 Rx A  BFx  C Fy  Fz (11) 

   

3 2 2 2 Ry A  BFy  C Fx  Fz (12) 

   

3 2 2 2 Rz A  BFz  C Fx  Fy (13) 

NASA/TM—2015-218126 7
The quantities calculated in Equations (3) to (6) and (7) to (10) are shown in Figures 3 and 4, 

respectively. Equations (3) to (6) are used to form four individual vectors in ELDAP: Vx, Vy, Vz, and Fr, 

which are subsequently arranged in columns to form the matrix of shear values: [Shear] = [Vx Vy Vz Fr], as 

shown in Figure 5. If moment quantities were generated in the PATRAN report file, this matrix would 

consist of four column vectors of moments [Myz Mxz Mxy Mr]. 

ELDAP determines the maximum value of Equations (3) to (13) and reports them in 11 output files, 1 

each for the 11 calculated quantities. The files are described in the section “Output Files.” 

NASA/TM—2015-218126 8
User’s Section 

ELDAP is an interactive program running in MATLAB. It requires a PATRAN report file and 

optionally a text file of GPs arranged in one row and delimited by commas. This section will present the 

steps necessary to generate the ELDAP input files. The program input prompts and graphing options will 

be discussed. An example of the required input file as well as the output files will be shown. In this report 

“node” will be synonymous with “grid point.” 

NASA/TM—2015-218126 9
Generating the PATRAN Results (ELDAP Input) File

The analyst must request the appropriate output quantities (GP forces, MPC forces, or element forces) 

in the NASTRAN bulk data file to be able to capture them in a PATRAN report file. This section will 

demonstrate the on-screen process for calculating fastener forces using GP forces and MPC forces. Note 

that terms in brackets ۃ ۄ are buttons, bold terms are categories, and italic terms are options to select. 

Place the desired GPs and finite elements representing the fasteners in the PATRAN display window. 

This may be accomplished by creating a group within PATRAN consisting solely of the finite elements 

and their GPs representing the fasteners. If GP or MPC forces were requested as output quantities in 

NASTRAN, all that is needed in the PATRAN group are the GPs. Shown in Figure 6 is an example of 

GPs representing a pattern of bolts. In PATRAN, select the ۃResultsۄ button and choose Action: Create, 

Object: Report, and Method: Overwrite File as shown in Figure 7. Continuing to refer to Figure 7, select 

the desired result cases in the Select Result Cases(s) list box. Select the desired output quantities: Grid 

Point Forces, MPC Forces from the Select Report Result list box. Select the quantities: X Location, Y 

Location, Z Location, X Component, Y Component, and Z Component from the Select Quantities list box. 

NASA/TM—2015-218126 10
As shown in Figure 8, select the ۃTarget Entitiesۄ icon and select Current Viewport from the dropdown box. Under Addtl. Display Control, select Nodes from the drop-down box. 

Referring to Figure 9, select the ۃDisplay Attributesۄ button and choose ۃFile...ۄ. If necessary, create 

the folder where the report file will reside and type in the desired name of the report file. For Report 

Type, select Full from the drop-down box, which will generate all of the GP/MPC forces for all of the 

GPs residing in the viewport window or current group for the selected load cases. Select ۃApplyۄ to 

generate the report file. Note that the forces will be generated for all GPs in the active group even if the 

analyst has zoomed in and the GPs are not all showing in the viewport window. 

Figure 1 is an excerpt from a PATRAN-generated results file, which is the ELDAP input file. Most of 

the file has been eliminated for clarity. The first several lines of data for selected load cases are shown, 

followed by the Summary Information section containing the maximum force components and their 

corresponding load case. Lastly, an index correlating load case number with load case name is presented, 

most of which has also been eliminated for clarity. 

NASA/TM—2015-218126 11
NASA/TM—2015-218126 12
 

Prompts 

This section is a brief overview of the input prompts that appear on the MATLAB window when 

ELDAP is run. As previously mentioned, this discussion will focus on extracting and calculating fastener 

loads, but the program may be used for any other available PATRAN output quantity (whether or not it 

makes sense). Figure 10 shows the MATLAB command line prompts and entries for this program. The 

first of the prompts will ask the user to enter the name of the file that contains the PATRAN report 

containing the GP, MPC, or element force data, followed by prompts for the number of load cases, and 

the number of nodes (GPs). The next prompt will ask the user if it is desired to calculate the fastener shear 

and tension interaction equation for each fastener. If so, the user is next prompted for the parameters A, B, 

and C as defined in the Symbols list at the beginning of this report. The user can enter the values of A, B, 

and C based on either yield or ultimate strengths (even though the prompt for A refers to yield). ELDAP 

is capable of processing any number of load cases and nodes (fasteners), subject to the limitations of 

NASTRAN, PATRAN, and MATLAB. As presented in the section “Output Files,” ELDAP determines 

the maximum values of Vx, Vy, Vz, Fr (or Myz, Mxz, Mxy, Mr), Rx, Ry, and Rz from among all load cases and 

GPs using Equations (3) to (13) and reports them along with their other corresponding consistent forces 

or moments in output files, one each for the calculated quantities. Additionally, ELDAP outputs the 

matrix of shear values, [Shear] = [Vx Vy Vz Fr], and the matrix of stress ratios, [IM] = [Rx Ry Rz]. If 

moments are being evaluated, the matrix of shear values contains the moments, [Shear] = [Mxy Mxz Myz 

Mr]. The subsequent prompts give the user the option of adding a standard prefix to the default file names 

(the default file names would then be a suffix) and asks the user to enter the desired prefix or hit return to 

accept the default file name listed on the screen. The default file names are Vcalc.out, Vx.out, Vy.out, 

Vz.out, Fr.out, Fx.out, Fy.out, Fz.out, Rcalc.out, Rx.out, Ry.out, and Rz.out. The user also has the option 

of changing the default name of each separate output file to a chosen name (e.g., Myname.out). If the 

prefix option is chosen, it will be used either for the default names (e.g., prefixVx.out) or the chosen 

names (e.g., prefixMyname.out). 

The subsequent prompts ask the user to enter the name of a file containing a list of specific GPs to be 

evaluated and if there is not one, to hit return. If a file name is entered, ELDAP makes calculations only 

on the GPs contained in that file. To use this option, the analyst must first construct a text file by creating 

a list of the desired GPs, making sure to delimit the list with commas and limit the list to one row of text. 

Next, ELDAP prints to the screen the maximum values and corresponding load cases for Vx, Vy, Vz, 

Fr, Rx, Ry, Rz, Fx, Fy, and Fz. 

The remaining prompts allow the analyst to make three types of plots of the processed data. The first 

of these prompts enables the analyst to make a three-dimensional (3D) plot of the original and processed 

data. To do this the analyst is asked to enter the load case from which to plot the data and also to enter the 

specific quantities to plot on the x-, y-, and z-axes. The user can refer to the data just printed to the screen 

to help choose which load case is of most interest. When entering the quantities to be plotted, the analyst 

needs to be aware of the orientation of the model to be sure to plot what is desired. ELDAP gives the 

analyst the option of making up to 15 consecutive plots. The second plot request will produce a graph of 

the location of the GPs along with their corresponding GP number. The third plot request will provide a 

graph of any one of the calculated quantities from Equations (3) to (13) for a particular GP (fastener) for 

each load case. 

The last ELDAP request will provide the opportunity to print all of the output files to the screen in 

concatenated form. 

NASA/TM—2015-218126 13
NASA/TM—2015-218126 14
NASA/TM—2015-218126 15
 

NASA/TM—2015-218126 16
Output files 

ELDAP determines the maximum values of Vx, Vy, Vz, Fr (or Myz, Mxz, Mxy, Mr), Rx, Ry, and Rz from 

among all load cases and GPs using Equations (3) to (13) and reports them along with their other 

corresponding consistent forces (or moments) in output files one each for the calculated quantities. The 

corresponding default file names are Vx.out, Vy.out, Vz.out, Fr.out, Fx.out, Fy.out, Fz.out, Rx.out, Ry.out, 

and Rz.out. If moments instead of forces are being evaluated, the output files Vx.out, Vy.out, Vz.out, and 

Fr.out contain moments instead of forces. The first output file that ELDAP generates has the default name of 

NASA/TM—2015-218126 17
 

Vcalc.out and contains the matrix of shear values: [Shear] = [Vx Vy Vz Fr]. This four-column matrix consists 

of the shear forces Vx, Vy, and Vz in the y,z-, x,z-, and x,y-planes, respectively, as well as Fr, which is an 

RSS of the three force components, as shown in Equations (3) to (6). If moments are being evaluated, this 

matrix contains the moments as calculated in Equations (7) to (10). Figure 5 is an example output file 

containing the matrix of shear values. The file has been shortened to fit on the page. ELDAP also calculates 

the interaction equation stress ratios Rx, Ry, and Rz as shown in Equations (11) to (13). These stress ratios are 

stored in the three-column matrix [IM] = [Rx Ry Rz]. This matrix is also printed to an output file with a 

default file name of Rcalc.out and in the same format as the matrix of shear values. The user has the option 

of naming these output files (e.g., MyName.out) or can accept the default name (e.g., Vx.out) given by the 

program. As previously mentioned, the user may also specify a prefix to the chosen or default file name. 

The default file names are included in the prompts as shown in Figure 10. 

Figure 11 is an example output file for Vx, the shear force in the y,z-plane. Output files for Vy, Vz, Fr, 

Fx, Fy, Fz, Ry, and Rz have identical formats. In the upper left of Figure 11 is the PATRAN report file load 

case number and row number for the data in this load case corresponding to the maximum shear force Vx. 

Below that is the maximum shear force value. The NASTRAN load case that produced the maximum Vx

is provided next in the center of the figure. After that is a reprint of the specific row of data from the 

PATRAN report file (containing the maximum Vx shear force) along with the RSS values of the 

combinations of the x-force (XComponent), y-force (YComponent), and z-force (ZComponent) 

components, denoted as Vx, Vy, Vz, and Fr per Equations (3) to (6). If moment results were used instead, 

the output file would have the moments about the x-, y-, and z-axes replacing the force components, and 

moment RSS values per Equations (7) to (10) replacing the RSS of the forces. Figure 11 presents the 

entire output file. 

Similarly, an output file for Fx, the maximum axial force on the fastener, is also to be generated. The 

file also includes the same type of data and has the same format as that shown in Figure 11. The specific 

row of data from the PATRAN report file containing the maximum force Fx, along with the RSS values 

of the three combinations of the x-force (XComponent), y-force (YComponent), and z-force 

(ZComponent) components denoted as Vx, Vy, and Vz is also provided, where the shear force Vx

corresponds to and is consistent with the axial force Fx. In this way both types of output files, one for Vx

and one for Fx, provide fastener maximum shear and correlated axial load and maximum axial load and 

correlated shear loads, respectively. 

Graphs 

ELDAP provides the analyst several plotting options. The first of these options is to make a 3D graph 

of any combination of the 10 data quantities (x, y, z, Vx, Vy, Vz, Fr, Fx, Fy, and Fz) from a particular load 

case previously generated. Figure 12 is an example 3D plot showing fastener (GP) shear forces (vertical 

axis) at each fastener location (horizontal axes). 

Figure 13 is an example of the second plotting option. This option plots the location of each GP and 

displays the GP number beside its corresponding location on the graph. When the GP numbers displayed 

on the plot overlap, the analyst can select (click) and drag the numbers apart. 

The last plot option is shown in Figure 14. Here the analyst can choose to plot any of the 10 data 

quantities (x, y, z, Vx, Vy, Vz, Fr, Fx, Fy, and Fz) for any one node (GP) as a function of all of the load 

cases. In this example, the GP is listed at the top of the graph, the load is indicated on the ordinate, and 

load case number on the abscissa. 

NASA/TM—2015-218126 18
NASA/TM—2015-218126 19
NASA/TM—2015-218126 20
Conclusion 

A MATLAB (The Mathworks, Inc.) computer program has been developed to facilitate the 

determination of the maximum NASTRAN (MSC Software Corporation) grid point (GP) forces and 

moments from among numerous GPs and numerous loads cases. This software denoted as ELDAP 

(Element Load Data Processor) determines the correlated shear and tension forces for each GP. The 

maximum shear force and corresponding tensile force or the maximum tensile force and the 

corresponding shear force for each GP are determined. This eliminates the possibility of recovering 

overly conservative loads as would be the case when only retrieving and combining the maximum force 

and moment components irrespective of the associated GP and load cases. It also eliminates the 

possibility of false positive margins that result from overlooking the root-sum-square (RSS) of less than 

maximum force components where the RSS would result in maximum forces. As such, this software 

eliminates erroneous margins of safety resulting from the use of inappropriate forces and moments. This 

software may also be used to evaluate any scalar quantity output from NASTRAN and PATRAN (MSC 

Software Corporation), in addition to the GP forces and moments. 

NASA/TM—2015-218126 21

 

Appendix A.—Derivation of Interaction 

Equations Based on Fastener Properties 

When a fastener experiences multiple loads simultaneously, such as axial, bending, and shear loads, 

the combined effect of all of the loads on the fastener integrity can be determined using an interaction 

equation. A typical interaction equation for axial and shear loads, omitting bending for simplicity, is 

considered in this work and is shown in Equation (2): 

 1 2 3 Ra  Rs d (2)

Here, Ra is the ratio of the bolt axial load to the allowable axial load, and Rs is the ratio of the bolt shear 

load to the allowable bolt shear load. The stress ratios can be written in terms of either yield or ultimate 

strength. The following derivation will be based on yield strength. Similar equations may be derived 

based on ultimate strength by replacing Ft y with Ftu (except that PLDmax remains in terms of Ft y ) and 

by replacing the yield factor of safety with the ultimate factor of safety. The allowable axial yield load is 

the product of the bolt allowable yield stress Ft y , and the bolt tensile area At. 

The ratio of the bolt load to the bolt allowable yield load may be expressed as 

 t t

b a F A

P R y

 (14) 

where Pb is the bolt axial load due to both the maximum preload PLDmax, and external load P, 

 Pb PLDmax  nI  SF u P (15) 

and where n, I, and SF are the loading-plane factor, load factor, and yield factor of safety, respectively, 

which are defined in Reference 1. Substituting Equation (15) into (14), 

  

t t t t

a F A

n SF P

F A

PLD R y y

I u  max (16)

Assuming the bolt shank is aligned with the z-axis, the external axial bolt load may be expressed as 

 P Fz (17) 

The maximum bolt preload is often given as a percentage of allowable material yield stress: 

 PLDmax   percent of Ft y At (18) 

Substituting Equations (17) and (18) into Equation (16), the axial stress ratio becomes 

  

t t

z

t t

t t a F A

n SF F

F A

F A

R y y

y I u  percent of

 (19) 

Recognizing the constant terms, Equation (19) can be simplified as 

 Ra A Bu Fz (20) 

NASA/TM—2015-218126 23
 

where the constant coefficients are 

A = percent of fastener yield strength at maximum preload (21a) 

  

Ft At

n SF B y

I (21b) 

The ratio of external shear force to the allowable shear force may be expressed as 

t t

s F A

SF V R

577 y 0.

u (22) 

where V is the external fastener shear force and 0.577Ft y At is the allowable shear force, where the 

allowable shear stress is given as 0.577 Ft y . The factor 0.577 is an average of the allowable shear stress 

for alloy and carbon steels   6Ft y 0. and stainless steels   55Ft y 0. as given in Reference 2. Since the 

fastener shank is aligned with the z-axis as previously mentioned, the fastener shear force may be 

computed as the root-sum-square of the two force components in the x,y-plane as shown in Equation (23): 

 2 2 V Fx  Fy (23) 

Substituting Equation (23) into (22), 

 t t

x y s F A

SF F F

R

577 y 0.

2 2  (24) 

Recognizing the constant terms and simplifying, Equation (24) becomes 

 2 2 Rs C Fx  Fy (25) 

where 

 Ft At

SF C

577 y 0. (26) 

Substituting Equations (20) and (25) into Equation (2), the axial and shear interaction equation for a 

fastener with its shank parallel to the z-axis may be expressed as 

    

3 2 2 2 Rz A Bu Fz  C Fx  Fy (27) 

Similar equations may be developed for fasteners with shanks parallel to the other two orthogonal 

directions as shown in Equations (11) and (12) of this report. 

 

NASA/TM—2015-218126 24
 

Appendix B.—ELDAP Program Source Code 

This appendix provides the source code for the Element Load Data Processor (ELDAP). This source 

code is written in the MATLAB programming language and was originally written to fill an urgent need 

during the structural analysis of the Ares I–X interstage segment. As such, this software is coded in a 

straightforward manner with no effort made to optimize or minimize code or to develop a graphical user 

interface. 

NASA/TM—2015-218126 25
% 

%% ~ELDAP~ % Element Load Data Processor % % %% NOMENCLATURE % % % -Variables- 

% Line# % (681) A = assigned to the function reading the input file from Patran, load case by load % case % (1036) AA = variable representing load cases when making IM a matrix of all zeros when R calcs % are not chosen to be calculated % (1036) CC = variable representing rows when making IM a matrix of all zeros when R calcs % are not chosen to be calculated % (658) dummy = assigned to the function reading lines that aren't the load case title % (310) FNF = assigned to the number of nodes in each load case % (646) file1 = assigned to the function opening the input file from Patran (Source) % (719) file2 = assigned to the function opening the output file for the shear calculations % (800) file3 = assigned to the function opening the output file to print the max calculations % for (Vx) % (822) file4 = assigned to the function opening the output file to print the max calculations % for (Vy) % (844) file5 = assigned to the function opening the output file to print the max calculations % for (Vz) % (866) file6 = assigned to the function opening the output file to print the max calculations % for (Fr) % (1421) file7 = assigned to the function opening the output file to print the max calculations % for (Fx) % (1523) file8 = assigned to the function opening the output file to print the max calculations % for (Fy) % (1465) file9 = assigned to the function opening the output file to print the max calculations % for (Fz) % (947) file12 = assigned to the function opening the output file to print the max calculations % for Rx) % (969) file13 = assigned to the function opening the output file to print the max calculations % for (Ry) % (991) file14 = assigned to the function opening the output file to print the max calculations % for (Rz) % (902) file15 = assigned to the function opening the output file to print the IM Matrix 

NASA/TM—2015-218126 26
% (739) FN1 = represents either (F*NF) or (GN) in the loop that 

% prints (Shear) to an output file % (752) FN2 = represents either (F*NF) or (GN) in the loop that % prints the max calculations to an output file % (428) FRMCAL = user input to name the output file that contains % the shear calculations and maximum data for (Fr) % (792) Fr = sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,6,1:L)).^2+... % (Matrix(:,7,1:L)).^2) % (583) FXMCAL = assigned to the user input to name the output file that contains % the shear calculations and maximum data for (Fx) % (475) FXPRE2 = assigned to the user chosen pre-fix to make a default % output file name for Fx % (590) FYMCAL = assigned to the user input to name the output file that contains % the shear calculations and maximum data for (Fy) % (486) FYPRE2 = assigned to the user chosen pre-fix to make a default % output file name for Fy % (597) FZMCAL = assigned to the user input to name the output file that contains % the shear calculations and maximum data for (Fz) % (497) FZPRE2 = assigned to the user chosen pre-fix to make a default % (1044) fr = used to define the (Fr) vector for plotting inputs % (1045) fx = assigned to the Fx force from M matrix to be % plotted in the 3D plot option % (1046) fy = assigned to the Fy force from M matrix to be % plotted in the 3D plot option % (1047) fz = assigned to the Fz force from M matrix to be % plotted in the 3D plot option % (1022) G = assigned to the user input stating whether or not % they would like to plot a 3D graph % (1263) GL = assigned to the input that asks the user if a plot % of a specific fastener across all of the load cases % is desired % (1284) GL1 = the grid point number of the fastener to be plotted % from the GL prompt % (629) GN = the number of grid points per load case to be % calculated % (1217) GPC = assigned to the grid point column pulled out of the M matrix % (1218) GPCCON = assigned to the conversion of the GPC matrix from % a number to a string for use in the 3D plot % (630) GPL = matrix containing specific grid points to be % calculated % (611)GridPointSource= the name of the file containing specific grid 

NASA/TM—2015-218126 27
% points to be calculated 

% (1280) Hby = converting Kbi2 from a number to a string % (306) L = number of load cases % (857) Label = assigned to the row of labels from the original file % from Patran % (859) Labe2 = as the row of labels from the original file % from Patran for R calcs % (1031) LC = assigned to the user input stating the Load Case from which they % would like to plot % (1388) LoadMaxFx = the number of the Load Case containing the max % value of (Fx) % (1398) LoadMaxFy = the number of the Load Case containing the max % value of (Fy) % (1408) LoadMaxFz = the number of the Load Case containing the max % value of (Fz) % (756) LoadMaxVx = the number of the Load Case containing the max % value of (Vx) % (766) LoadMaxVy = the number of the Load Case containing the max % value of (Vy) % (776) LoadMaxVz = the number of the Load Case containing the max % value of (Vz) % (786) LoadMaxFr = the number of the Load Case containing the max % value of (Fr) % (922) LoadMaxRx = the number of the Load Case containing the max % value of (Rx) % (932) LoadMaxRy = the number of the Load Case containing the max % value of (Ry) % (940) LoadMaxRz = the number of the Load Case containing the max % value of (Rz) % (682) M = the matrix containing the file read in from Patran % (708) Matrix = Used to represent either (M) or (GRID) in the shear % calculations % (1387) MaxFx = the row number in matrix (M) that contains the % maximum value for (Fx) % (1397) MaxFy = the row number in matrix (M) that contains the % maximum value for (Fy) % (1407) MaxFz = the row number in matrix (M) that contains the % maximum value for (Fz) % (756) MaxVx = the row number in matrix (M) that contains the % maximum value for (Vx) % (766) MaxVy = the row number in matrix (M) that contains the 

NASA/TM—2015-218126 28
% maximum value for (Vy) 

% (776) MaxVz = the row number in matrix (M) that contains the % maximum value for (Vz) % (786) MaxFr = the row number in matrix (M) that contains the % maximum value for (Fr) % (921) MaxRx = the row number in matrix (M) that contains the % maximum value for (Rx) % (931) MaxRy = the row number in matrix (M) that contains the % maximum value for (Ry) % (939) MaxRz = the row number in matrix (M) that contains the % maximum value for (Rz) % (711) MN1 = represents either (M) or (Q) in defining the % vectors that can be plotted % (369) MSC = user input to name the matrix that contains the shear % calculations performed on the (M) matrix or (Q) matrix % (648) ncases = assigned to number of load cases (L) % (320) NEW = User input for interaction equation question % (323) NEW4 = User input for variable A of interaction equation % (324) NEW2 = User input for variable b of interaction equation % (325) NEW3 = User input for variable c of interaction equation % (358) PRE = the option to add a pre-fix to the out put files % (361) PRE2 = the assigned prefix for the output files % (698) Q = the matrix containing the lines from (M) that are % specified by (GPL) % (660) r = the matrix containing a list of the load case % titles % (1215) RB2 = assigned to the prompt asking user if a 3D plot of the RBE2 % elements is desired % (375) RCalcPRE2 = assigned to the user chosen pre-fix to make a default % output file name for the file containing the IM % matrix that holds the R calcs % (381) RMAT = user input to name the output file that contains % the IM Matrix % (439) RXPRE2 = assigned to the user chosen pre-fix to make a default % output file name for Rx % (451) RYPRE2 = assigned to the using the user chosen pre-fix to make a default % output file name for Ry % (463) RZPRE2 = assigned to the using the user chosen pre-fix to make a default % output file name for Rz % (893) Rx = assigned to the interaction equation for Rx % (895) Ry = assigned to the interaction equation for Ry 

NASA/TM—2015-218126 29
% (897) Rz = assigned to the interaction equation for Rz 

% (379) RXR = assigned to the input prompt for the user chosen % output filename for the IM matrix % (445) RXMCAL = assigned to the user input to name the output file that contains % the calculations and maximum data for (Rx) % (457) RYMCAL = assigned to the user input to name the output file that contains % the calculations and maximum data for (Ry) % (468) RZMCAL = assigned to the user input to name the output file that contains % the calculations and maximum data for (Rz) % (732) Shear = the matrix containing the shear calculations % for each load case % (302) Source = the name of the input file to be opened from Patran % (757) Temp2 = temporarily assigned to the current max calculation % for (Vx) with every cycle of the loop % (767) Temp3 = temporarily assigned to the current max calculation % for (Vy) with every cycle of the loop % (777) Temp4 = temporarily assigned to the current max calculation % for (Vz) with every cycle of the loop % (787) Temp5 = temporarily assigned to the current max calculation % for (Fr) with every cycle of the loop % (1389) Temp6 = temporarily assigned to the current max calculation % for (Fx) with every cycle of the loop % (1399) Temp7 = temporarily assigned to the current max calculation % for (Fy) with every cycle of the loop % (1409) Temp8 = temporarily assigned to the current max calculation % for (Fz) with every cycle of the loop % (923) Temp9 = temporarily assigned to the current max calculation % for (Rx) with every cycle of the loop % (933) Temp10 = temporarily assigned to the current max calculation % for (Ry) with every cycle of the loop % (941) Temp11 = temporarily assigned to the current max calculation % for (Rz) with every cycle of the loop % (1388) TempFx = the maximum value currently calculated for (Fx) % (1397) TempFy = the maximum value currently calculated for (Fy) % (1407) TempFz = the maximum value currently calculated for (Fz) % (755) TempVx = the maximum value currently calculated for (Vx) % (765) TempVy = the maximum value currently calculated for (Vy) % (775) TempVz = the maximum value currently calculated for (Vz) % (785) TempFr = the maximum value currently calculated for (Fr) % (922) TempRx = the maximum value currently calculated for (Rx) % (931) TempRy = the maximum value currently calculated for (Ry) 

NASA/TM—2015-218126 30
% (939) TempRz = the maximum value currently calculated for (Rz) 

% (1041) vx = used to define the (Vx) vector for plotting inputs % (1042) vy = used to define the (Vy) vector for plotting inputs % (1043) vz = used to define the (Vz) vector for plotting inputs % (785) Vx = sqrt((Matrix(:,6,1:L)).^2+(Matrix(:,7,1:L)).^2) % (788) Vy = sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,7,1:L)).^2) % (790) Vz = sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,6,1:L)).^2) % output file name for Fz % (363) VCalcPRE2 = assigned to the user chosen pre-fix to make a default out % put file name for the Shear Matrix % (390) VXPRE2 = assigned to the user chosen pre-fix to make a default out % put file name for Vx % (402) VYPRE2 = assigned to the user chosen pre-fix to make a default out % put file name for Vy % (414) VZPRE2 = assigned to the user chosen pre-fix to make a default out % put file name for Vz % (425) FRPRE2 = using the user chosen pre-fix to make a default out % put file name for Fr % (394) VXMCAL = user input to name the output file that contains % the shear calculations and maximum data for (Vx) % (406) VYMCAL = user input to name the output file that contains % the shear calculations and maximum data for (Vy) % (417) VZMCAL = user input to name the output file that contains % the shear calculations and maximum data for (Vz) % (1038) x = assigned to the (x) vector while plotting inputs % (1062) x1 = user input defining which vector to plot on the x % axis % (367) XSM = assigned to the input prompt for the user chosen % output filename for the Shear Matrix % (392) XVX = assigned to the input prompt for the user chosen % output filename for (Vx) % (404) XVY = assigned to the input prompt for the user chosen % output filename for (Vy) % (412) XVZ = assigned to the input prompt for the user chosen % output filename for (Vz) % (426) XFR = assigned to the input prompt for the user chosen % output filename for (Fr) % (476) XFX = assigned to the input prompt for the user chosen % output filename for (Fx) % (487) XFY = assigned to the input prompt for the user chosen % output filename for (Fy) 

NASA/TM—2015-218126 31
% (498) XFZ = assigned to the input prompt for the user chosen 

% output filename for (Fz) % (441) XRX = assigned to the input prompt for the user chosen % output filename for (Rx) % (453) XRY = assigned to the input prompt for the user chosen % output filename for (Ry) % (464) XRZ = assigned to the input prompt for the user chosen % output filename for (Rz) % (1039) y = used to define the (y) vector for plotting inputs % (1064) y1 = user input defining which vector to plot on the y % axis % (1040) z = used to define the (z) vector for plotting inputs % (1066) z1 = user input defining which vector to plot on the z % axis % %% Description of the Different Matrices % % %% Matrix-M-Q 

% This is the matrix containing the readout of the rows and columns of % data from each load case. The indices for -M- are (R,C,L), where R is the 

% row of the load case, C is the column for the load case, and L specifies % which load case the R and C are from. Example: M(:,:,2) is load case 2. % This matrix is defined as M if the entire input file is processed or Q % if a list of specific grid point numbers is being processed. % %% Matrix-r 

% This matrix contains the load case information. Each load case title is % saved as a new row in the matrix. The indices for -r- are (R,C) where R 

% corresponds to the number of rows which is determined by the number of % load cases. C is always 1 in this matrix. Example: r(3,1) is the title % line for load case 3. % %% Matrix-Shear % This matrix contains the results from the shear calculations from the % last three columns of each load case (which are contained in matrix -M-). 

% The four columns of -Shear- are Vx, Vy, Vz, and Fr, where Fr is the Root 

% Sum of the Squares (RSS) of Fx, Fy and Fz. % %% Matrix-IM % This matrix contains the results from the interaction calculations from the 

NASA/TM—2015-218126 32
% last three columns of each load case (which are contained in matrix -M-). 

% The three columns of -IM- are Rx, Ry, and Rz % %% % format('short'); clear all; clear global; % Source=input('Please input the name of the file from Patran to be opened (extension required) ','s'); % disp(' '); % L=input('Input the number of load cases '); %input for # of load cases % disp(' '); % FNF=input('Input the number of grid points '); %input for # of fasteners % disp(' '); % %NF=input('Input the number of grid points per element (fastener) '); % disp(' '); %%%%%%%%%%%%%%%%%%%%%%%NEW MATERIAL AS OF 1/2/2010%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for Inter=1:20; disp('Do you want to Calculate the following interaction equation for each fastener?'); NEW=input('(A+B*Pext)^2+(C*V)^3 (y/n) ','s'); if NEW=='y';  disp(' ');  NEW4=input('Input A ( Percent of fastener yield strength at maximum preload) ');  NEW2=input('Input B (n*phi*SF/(Ft*At)) ');  NEW3=input('Input C (1/0.577*Ft*At) ');  break; % %%%%%%%%%%%%%%%%%%%%%%%%%%NEW 8-10-10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% else if NEW=='n';  break;  else %GL~= 'y'||'n'  disp(' ');  disp(' '); 

NASA/TM—2015-218126 33
 disp('The program did not recognize the input.') ; 

 disp('Enter y or n in a lowercase letter.'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% disp(' '); % disp('The results from the shear calculations that are performed on the filename'); disp('entered above are stored in the Shear matrix. This matrix along with'); disp('the shear calculations and maximum values for vectors: Vx Vy Vz Fr, and the '); disp('force vectors: Fx Fy Fz are printed to output files. The following prompts provide '); disp('different options for naming these output files. Type in a name of your choosing,'); disp('or hit return to accept the default name listed'); disp('Example: (filename.out)'); 

disp(' '); %% % Loop for prefixes %% for PREFIX=1:20; disp(' ') disp('Would you like to add a pre-fix to the beginning of each'); PRE=input('output file name? (y/n) ','s'); if PRE=='y';  disp(' ')  PRE2=input('Enter pre-fix ','s'); 

 disp(' ');  VCalcPRE2=[PRE2,'VCalc.out'];  disp('Enter a name for the file containing the Shear matrix.');  disp(['Default ','(',VCalcPRE2,')']);  disp(' ');  XSM=input(' ','s'); if isempty(XSM);  MSC = [PRE2,'VCalc.out']; else  MSC=[PRE2,XSM]; end disp(' '); %%%%%%%%%%%%NEW AS OF 8-9-10%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 

NASA/TM—2015-218126 34
RCalcPRE2=[PRE2,'RCalc.out']; 

disp('Enter a name for the file containing the Interaction Equation Matrix.'); disp(['Default ','(',RCalcPRE2,')']); disp(' '); RXR=input(' ','s'); if isempty(RXR);  RMAT= [PRE2,'RCalc.out']; else  RMAT=[PRE2,RXR]; end disp(' '); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % VXPRE2=[PRE2,'Vx.out']; disp('Enter a name for the file containing calculations for Vx.'); disp(['Default ','(',VXPRE2,')']); disp(' '); XVX=input(' ','s'); if isempty(XVX);  VXMCAL = [PRE2,'Vx.out']; else  VXMCAL=[PRE2,XVX]; end disp(' '); % VYPRE2=[PRE2,'Vy.out']; disp('Enter a name for the file containing calculations for Vy.'); disp(['Default ','(',VYPRE2,')']); disp(' '); XVY=input(' ','s'); if isempty(XVY);  VYMCAL = [PRE2,'Vy.out']; else  VYMCAL=[PRE2,XVY]; end disp(' '); % VZPRE2=[PRE2,'Vz.out']; disp('Enter a name for the file containing calculations for Vz.'); disp(['Default ','(',VZPRE2,')']); XVZ=input(' ','s'); 

NASA/TM—2015-218126 35
if isempty(XVZ); 

 VZMCAL = [PRE2,'Vz.out']; else  VZMCAL=[PRE2,XVZ]; end disp(' '); % FRPRE2=[PRE2,'Fr.out']; disp('Enter a name for the file containing calculations for Fr.'); disp(['Default ','(',FRPRE2,')']); XVR=input(' ','s'); if isempty(XVR);  VRMCAL = [PRE2,'Fr.out']; else  VRMCAL=[PRE2,XVR]; end disp(' '); %%%%%%%%%%%%%%%%%%%NEW on 7/27/10%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % disp(' '); RXPRE2=[PRE2,'Rx.out']; disp('Enter a name for the file containing calculations for Rx.'); disp(['Default ','(',RXPRE2,')']); disp(' '); XRX=input(' ','s'); if isempty(XRX);  RXMCAL = [PRE2,'Rx.out']; else  RXMCAL=[PRE2,XRX]; end disp(' '); % RYPRE2=[PRE2,'Ry.out']; disp('Enter a name for the file containing calculations for Ry.'); disp(['Default ','(',RYPRE2,')']); disp(' '); XRY=input(' ','s'); if isempty(XRY);  RYMCAL = [PRE2,'Ry.out']; else 

NASA/TM—2015-218126 36
 RYMCAL=[PRE2,XRY]; 

end disp(' '); % RZPRE2=[PRE2,'Rz.out']; disp('Enter a name for the file containing calculations for Rz.'); disp(['Default ','(',RZPRE2,')']); XRZ=input(' ','s'); if isempty(XRZ);  RZMCAL = [PRE2,'Rz.out']; else  RZMCAL=[PRE2,XRZ]; end % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% FXPRE2=[PRE2,'Fx.out']; disp('Enter a name for the file containing calculations for Fx. '); disp(['Default ','(',FXPRE2,')']); XFX=input(' ','s'); if isempty(XFX);  FXMCAL = [PRE2, 'Fx.out']; else  FXMCAL=[PRE2,XFX]; end disp(' '); % FYPRE2=[PRE2,'Fy.out']; disp('Enter a name for the file containing calculations for Fy. '); disp(['Default ','(',FYPRE2,')']); XFY=input(' ','s'); if isempty(XFY);  FYMCAL = [PRE2,'Fy.out']; else  FYMCAL=[PRE2,XFY]; end disp(' '); % FZPRE2=[PRE2,'Fz.out']; disp('Enter a name for the file containing calculations for Fz. '); disp(['Default ','(',FZPRE2,')']); 

NASA/TM—2015-218126 37
XFZ=input(' ','s'); 

if isempty(XFZ);  FZMCAL = [PRE2,'Fz.out']; else  FZMCAL=[PRE2,XFZ]; end break disp(' '); disp(' '); disp(' '); % else if PRE =='n'; disp(' '); disp(' '); disp('Enter a name for the file containing the Shear matrix.'); MSC=input('Default (VCalc.out) ','s'); if isempty(MSC);  MSC = 'VCalc.out'; end disp(' '); %%%%%%%%%%%%%%%%%%%%%%%%%NEW AS OF 8-9-10%%%%%%%%%%%%%%%%%%%%%%%%%%% 

disp('Enter a name for the file containing the Interaction Equation matrix.'); RMAT=input('Default (RCalc.out) ','s'); if isempty(RMAT);  RMAT = 'RCalc.out'; end disp(' '); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % disp('Enter a name for the file containing calculations for Vx.'); VXMCAL=input('Default (Vx.out) ','s'); if isempty(VXMCAL);  VXMCAL = 'Vx.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Vy.'); VYMCAL=input('Default (Vy.out) ','s'); if isempty(VYMCAL);  VYMCAL = 'Vy.out'; end 

NASA/TM—2015-218126 38
disp(' '); 

% disp('Enter a name for the file containing calculations for Vz.'); VZMCAL=input('Default (Vz.out) ','s'); if isempty(VZMCAL);  VZMCAL = 'Vz.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Fr.'); VRMCAL=input('Default (Fr.out) ','s'); if isempty(VRMCAL);  VRMCAL = 'Fr.out'; %% %%%%%%%%%%%%%%%%NEW on 7/27/10%%%%%%%%%%%%%%%%%%%%%%%%%% disp('Enter a name for the file containing calculations for Rx.'); RXMCAL=input('Default (Rx.out) ','s'); if isempty(RXMCAL);  RXMCAL = 'Rx.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Ry.'); RYMCAL=input('Default (Ry.out) ','s'); if isempty(RYMCAL);  RYMCAL = 'Ry.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Rz.'); RZMCAL=input('Default (Rz.out) ','s'); if isempty(RZMCAL);  RZMCAL = 'Rz.out'; end disp(' '); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end disp(' '); % % % 

NASA/TM—2015-218126 39
disp('Enter a name for the file containing calculations for Fx. '); 

FXMCAL=input('Default (Fx.out) ','s'); if isempty(FXMCAL);  FXMCAL = 'Fx.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Fy. '); FYMCAL=input('Default (Fy.out) ','s'); if isempty(FYMCAL);  FYMCAL = 'Fy.out'; end disp(' '); % disp('Enter a name for the file containing calculations for Fz. '); FZMCAL=input('Default (Fz.out) ','s'); if isempty(FZMCAL);  FZMCAL = 'Fz.out'; end break else  disp(' ');  disp(' ');  disp('The program did not recognize the input.') ;  disp('Enter y or n in a lowercase letter.');  end  end end disp(' '); % disp('If you have a file listing specific grid points that you would like evaluated '); GridPointSource=input('Enter the file name. Otherwise hit return. ','s'); disp(' '); disp(' '); % if isempty(GridPointSource);  GridPointSource = 'n';  disp('');  disp('');  disp('');  disp(''); 

NASA/TM—2015-218126 40
 disp('------------Please wait while ELDAP makes Calculations---------------- '); 

 disp('');  disp('');  disp('');  disp(''); else  GN=input('Enter the number of grid points in this file ');  GPL=dlmread(GridPointSource); % GPL=the Grid Point List that was read in  GridPointSource= 'y';  disp('');  disp('');  disp('');  disp('');  disp('------------Please wait while ELDAP makes Calculations---------------- ');  disp('');  disp('');  disp('');  disp(''); end % % file1=fopen(Source,'r'); frewind(file1); ncases=L; %This loop reads out the load case line from the %beginning of each matrix and puts them in a matrix (r) for j=1:ncases; %loop for load case % % read the first load case description %  if j==1; % j=number of load case  for i=1:14; % i=number of spaces to read until beginning of fastener loads  if i~=8;  dummy=fgets(file1); % reading out all lines that aren't the load case  else i==8;  r{j,:}=fgets(file1); % b= first load case, changed () to {} for r everywhere 1/13/09  end; 

NASA/TM—2015-218126 41
 end; 

 end; % % reading the load case descriptions after the first %  if j~=1;  for ii=1:9;  if (ii~=3);  dummy=fgets(file1);  else (ii==3);  r{j,:}=fgets(file1); % read load case j  end;  end;  end; % Dummy=fgets(file1); % % reading the lines of numerical data in each load case % A=fscanf(file1,'%8f %16f %14f %14f %14f %14f %14f',[7 ((FNF)+1)]); M(:,:,j)=A'; %M=the data output matrix % end; % M; % r ; % %% Section comparing the read in matrix (GPL) from the grid point file to the M matrix % if GridPointSource == 'y';  for LCL=1:L; % load case loop  for NGP=1:GN; % number of grid points per load case loop  for FL=1:(FNF); % fastener loop  for CN=1:7;  if M(FL,1,LCL)==GPL(1,NGP);  Q(NGP,CN,LCL)=M(FL,CN,LCL);  end  end  end  end 

NASA/TM—2015-218126 42
 end 

end % %% if GridPointSource =='n';  Matrix=M;  FN1=(FNF);  FN2=(FNF);  MN1=(M); else  Matrix=Q;  FN1=GN;  FN2=GN;  MN1=Q; end % file2=fopen(MSC,'wt'); %  % Vx=sqrt(B^2+C^2) Vx=sqrt((Matrix(:,6,1:L)).^2+(Matrix(:,7,1:L)).^2); %fprintf(file2,'%f\n',Vx)  % Vy=sqrt(A^2+C^2) Vy=sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,7,1:L)).^2);  % Vz=sqrt(A^2+B^2) Vz=sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,6,1:L)).^2);  % Fr=sqrt(A^2+B^2+C^2) Fr=sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,6,1:L)).^2+(Matrix(:,7,1:L)).^2); % % Shear=[ Vx Vy Vz Fr];[CC,BB,AA]=size(Shear);IM=zeros(CC,3,AA); % fprintf(file2,'These are the calculations made from the last three '); fprintf(file2,'\ncolumns of each load case (matrix M)'); fprintf(file2,'\n Vx Vy Vz Fr'); %  for k=1:L;  for e=1:(FN1);  fprintf(file2,'\n%14f %14f %14f %14f',Shear(e,:,k));  end  end % 

NASA/TM—2015-218126 43
%% 

% Temp2=0; Temp3=0; Temp4=0; Temp5=0; for n=1:L; for h=1:(FN2);  TempVx=max(Shear(1:h,1,n));  if TempVx>Temp2;  MaxVx=h;  LoadMaxVx=n;  Temp2=TempVx;  end end % % for p=1:(FN2);  TempVy=max(Shear(1:p,2,n));  if TempVy>Temp3;  MaxVy=p;  LoadMaxVy=n;  Temp3=TempVy;  end end % % for q=1:(FN2);  TempVz=max(Shear(1:q,3,n));  if TempVz>Temp4;  MaxVz=q;  LoadMaxVz=n;  Temp4=TempVz;  end end % % for t=1:(FN2);  TempFr=max(Shear(1:t,4,n));  if TempFr>Temp5; 

NASA/TM—2015-218126 44
 MaxFr=t; 

 LoadMaxFr=n;  Temp5=TempFr;  end end end %% Max values for Vx,Vy,Vz,Fr and recording their position in matrix M/Q. % %% Label=('Entity--ID XLocation YLocation ZLocation XComponent YComponent ZComponent Vx Vy Vz Fr'); % Labe2=('Entity--ID XLocation YLocation ZLocation XComponent YComponent ZComponent Rx Ry Rz'); % %% Calculations for Vx % file3=fopen(VXMCAL,'wt'); fprintf(file3,'Load Case for the max of Vx'); fprintf(file3,'\n%f',LoadMaxVx); fprintf('\nLoad Case for the max of Vx'); fprintf('\n%f',LoadMaxVx); % fprintf(file3,'\nRow Number of Load Case for max Vx'); fprintf(file3,'\n%f',MaxVx); % fprintf(file3,'\nThe max value for Vx'); fprintf(file3,'\n%f',Shear(MaxVx,1,LoadMaxVx)); fprintf('\nThe max value for Vx'); fprintf('\n%f',Shear(MaxVx,1,LoadMaxVx)); % fprintf(file3,'\nThe Load Case Title'); fprintf(file3,'\n%s',r{LoadMaxVx,:}); % fprintf(file3,'\nRow Data Containing the max value of Vx'); fprintf(file3,'\n%s',Label); fprintf(file3,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVx,:,LoadMaxVx) Shear(MaxVx,:,LoadMaxVx)]); % fclose(file3); % 

NASA/TM—2015-218126 45
%% Calculations for Vy 

% file4=fopen( VYMCAL,'wt'); fprintf(file4,'Load Case for the max of Vy'); fprintf(file4,'\n%f',LoadMaxVy); fprintf('\nLoad Case for the max of Vy'); fprintf('\n%f',LoadMaxVy); % fprintf(file4,'\nRow Number of Load Case for max Vy'); fprintf(file4,'\n%f',MaxVy); % fprintf(file4,'\nThe max value for Vy'); fprintf(file4,'\n%f',Shear(MaxVy,2,LoadMaxVy)); fprintf('\nThe max value for Vy'); fprintf('\n%f',Shear(MaxVy,2,LoadMaxVy)); % fprintf(file4,'\nThe Load Case Title'); fprintf(file4,'\n%s',r{LoadMaxVy,:}); % fprintf(file4,'\nRow Data Containing the max value of Vy'); fprintf(file4,'\n%s',Label); fprintf(file4,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVy,:,LoadMaxVy) Shear(MaxVy,:,LoadMaxVy)]); % fclose(file4); % %% Calculations for Vz % file5=fopen(VZMCAL,'wt'); fprintf(file5,'Load Case for the max of Vz'); fprintf(file5,'\n%f',LoadMaxVz); fprintf('\nLoad Case for the max of Vz'); fprintf('\n%f',LoadMaxVz); % fprintf(file5,'\nRow Number of Load Case for max Vz'); fprintf(file5,'\n%f',MaxVz); % fprintf(file5,'\nThe max value for Vz'); fprintf(file5,'\n%f',Shear(MaxVz,3,LoadMaxVz)); fprintf('\nThe max value for Vz'); fprintf('\n%f',Shear(MaxVz,3,LoadMaxVz)); 

NASA/TM—2015-218126 46
% 

fprintf(file5,'\nThe Load Case Title'); fprintf(file5,'\n%s',r{LoadMaxVz,:}); % fprintf(file5,'\nRow Data Containing the max value of Vz'); fprintf(file5,'\n%s',Label); fprintf(file5,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVz,:,LoadMaxVz) Shear(MaxVz,:,LoadMaxVz)]); % fclose(file5); % %% Calculations for Fr % file6=fopen(VRMCAL,'wt'); fprintf(file6,'Load Case for the max of Fr'); fprintf(file6,'\n%f',LoadMaxFr); fprintf('\nLoad Case for the max of Fr'); fprintf('\n%f',LoadMaxFr); % fprintf(file6,'\nRow Number of Load Case for max Fr'); fprintf(file6,'\n%f',MaxFr); % fprintf(file6,'\nThe max value for Fr'); fprintf(file6,'\n%f',Shear(MaxFr,4,LoadMaxFr)); fprintf('\nThe max value for Fr'); fprintf('\n%f',Shear(MaxFr,4,LoadMaxFr)); % fprintf(file6,'\nThe Load Case Title'); fprintf(file6,'\n%s',r{LoadMaxFr,:}); % fprintf(file6,'\nRow Data Containing the max value of Fr'); fprintf(file6,'\n%s',Label); fprintf(file6,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFr,:,LoadMaxFr) Shear(MaxFr,:,LoadMaxFr)]); % fclose(file6); % %% if NEW=='y'; % making IM matrix to hold R calcs 

NASA/TM—2015-218126 47
%MSC2=['Rcalc.out']; 

%file11=fopen(MSC2,'wt'); % Rx=((NEW4)+((NEW2).*(Matrix(:,5,1:L)))).^2+(((NEW3).*(sqrt((Matrix(:,6,1:L)).^2+(Matrix(:,7,1:L)).^2))).^3); % Ry=((NEW4)+((NEW2).*(Matrix(:,6,1:L)))).^2+(((NEW3).*(sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,7,1:L)).^2))).^3); % Rz=((NEW4)+((NEW2).*(Matrix(:,7,1:L)))).^2+(((NEW3).*(sqrt((Matrix(:,5,1:L)).^2+(Matrix(:,6,1:L)).^2))).^3); %% finding max R values% % IM=[Rx,Ry,Rz]; % file15=fopen(RMAT,'wt'); % fprintf(file15,'These are the calculations made from the last three '); fprintf(file15,'\ncolumns of each load case (matrix M)'); fprintf(file15,'\n Rx Ry Rz '); %  for k=1:L;  for e=1:(FN1);  fprintf(file15,'\n%14f %14f %14f ',IM(e,:,k));  end  end % Temp9=0; Temp10=0; Temp11=0; for n2=1:L; for h2=1:(FN2);  TempRx=max(IM(1:h2,1,n2));  if TempRx>Temp9;  MaxRx=h2;  LoadMaxRx=n2;  Temp9=TempRx;  end end % % 

NASA/TM—2015-218126 48
for p2=1:(FN2); 

 TempRy=max(IM(1:p2,2,n2));  if TempRy>Temp10;  MaxRy=p2;  LoadMaxRy=n2;  Temp10=TempRy;  end end for q2=1:(FN2);  TempRz=max(IM(1:q2,3,n2));  if TempRz>Temp11;  MaxRz=q2;  LoadMaxRz=n2;  Temp11=TempRz;  end end end %% Calculations for Rx % file12=fopen(RXMCAL,'wt'); fprintf(file12,'Load Case for the max of Rx'); fprintf(file12,'\n%f',LoadMaxRx); fprintf('\nLoad Case for the max of Rx'); fprintf('\n%f',LoadMaxRx); % fprintf(file12,'\nRow Number of Load Case for max Rx'); fprintf(file12,'\n%f',MaxRx); % fprintf(file12,'\nThe max value for Rx'); fprintf(file12,'\n%f',IM(MaxRx,1,LoadMaxRx)); fprintf('\nThe max value for Rx'); fprintf('\n%f',IM(MaxRx,1,LoadMaxRx)); % fprintf(file12,'\nThe Load Case Title'); fprintf(file12,'\n%s',r{LoadMaxRx,:}); % fprintf(file12,'\nRow Data Containing the max value of Rx'); fprintf(file12,'\n%s',Labe2); fprintf(file12,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRx,:,LoadMaxRx) IM(MaxRx,:,LoadMaxRx)]); % 

NASA/TM—2015-218126 49
fclose(file12); 

% %% Calculations for Ry % file13=fopen(RYMCAL,'wt'); fprintf(file13,'Load Case for the max of Ry'); fprintf(file13,'\n%f',LoadMaxRy); fprintf('\nLoad Case for the max of Ry'); fprintf('\n%f',LoadMaxRy); % fprintf(file13,'\nRow Number of Load Case for max Ry'); fprintf(file13,'\n%f',MaxRy); % fprintf(file13,'\nThe max value for Ry'); fprintf(file13,'\n%f',IM(MaxRy,2,LoadMaxRy)); fprintf('\nThe max value for Ry'); fprintf('\n%f',IM(MaxRy,2,LoadMaxRy)); % fprintf(file13,'\nThe Load Case Title'); fprintf(file13,'\n%s',r{LoadMaxRy,:}); % fprintf(file13,'\nRow Data Containing the max value of Ry'); fprintf(file13,'\n%s',Labe2); fprintf(file13,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRy,:,LoadMaxRy) IM(MaxRy,:,LoadMaxRy)]); % fclose(file13); % %% Calculations for Rz % file14=fopen(RZMCAL,'wt'); fprintf(file14,'Load Case for the max of Rz'); fprintf(file14,'\n%f',LoadMaxRz); fprintf('\nLoad Case for the max of Rz'); fprintf('\n%f',LoadMaxRz); % fprintf(file14,'\nRow Number of Load Case for max Rz'); fprintf(file14,'\n%f',MaxRz); % fprintf(file14,'\nThe max value for Rz'); fprintf(file14,'\n%f',IM(MaxRz,3,LoadMaxRz)); 

NASA/TM—2015-218126 50
fprintf('\nThe max value for Rz'); 

fprintf('\n%f',IM(MaxRz,3,LoadMaxRz)); % fprintf(file14,'\nThe Load Case Title'); fprintf(file14,'\n%s',r{LoadMaxRz,:}); % fprintf(file14,'\nRow Data Containing the max value of Rz'); fprintf(file14,'\n%s',Labe2); fprintf(file14,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRz,:,LoadMaxRz) IM(MaxRz,:,LoadMaxRz)]); % fclose(file14); else end % %% Finding and Printing Maximum Values for Fx, Fy, and Fz to output files % Temp6=0; Temp7=0; Temp8=0; for cove1=1:L; for flat1=1:(FN2);  TempFx=max(Matrix(1:flat1,5,cove1));  if TempFx>Temp6;  MaxFx=flat1;  LoadMaxFx=cove1;  Temp6=TempFx;  end end % % for flat2=1:(FN2);  TempFy=max(Matrix(1:flat2,6,cove1));  if TempFy>Temp7;  MaxFy=flat2;  LoadMaxFy=cove1;  Temp7=TempFy;  end end % % 

NASA/TM—2015-218126 51
for flat3=1:(FN2); 

 TempFz=max(Matrix(1:flat3,7,cove1));  if TempFz>Temp8;  MaxFz=flat3;  LoadMaxFz=cove1;  Temp8=TempFz;  end end end % %% Max values for Fx,Fy,Fz and recording their position in Matrix. % %% Label=('Entity--ID XLocation YLocation ZLocation XComponent YComponent ZComponent Vx Vy Vz Fr'); % %% Calculations for Fx % file7=fopen(FXMCAL,'wt'); fprintf(file7,'Load Case for the max of Fx'); fprintf(file7,'\n%f',LoadMaxFx); fprintf('\nLoad Case for the max of Fx'); fprintf('\n%f',LoadMaxFx); % fprintf(file7,'\nRow Number of Load Case for max Fx'); fprintf(file7,'\n%f',MaxFx); % fprintf(file7,'\nThe max value for Fx'); fprintf(file7,'\n%f',Matrix(MaxFx,5,LoadMaxFx)); fprintf('\nThe max value for Fx'); fprintf('\n%f',Matrix(MaxFx,5,LoadMaxFx)); % fprintf(file7,'\nThe Load Case Title'); fprintf(file7,'\n%s',r{LoadMaxFx,:}); % fprintf(file7,'\nRow Data Containing the max value of Fx'); fprintf(file7,'\n%s',Label); fprintf(file7,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFx,:,LoadMaxFx) Shear(MaxFx,:,LoadMaxFx)]); % fclose(file7); 

NASA/TM—2015-218126 52
% 

%% Calculations for Fy % file8=fopen(FYMCAL,'wt'); fprintf(file8,'Load Case for the max of Fy'); fprintf(file8,'\n%f',LoadMaxFy); fprintf('\nLoad Case for the max of Fy'); fprintf('\n%f',LoadMaxFy); % fprintf(file8,'\nRow Number of Load Case for max Fy'); fprintf(file8,'\n%f',MaxFy) ; % fprintf(file8,'\nThe max value for Fy'); fprintf(file8,'\n%f',Matrix(MaxFy,6,LoadMaxFy)); fprintf('\nThe max value for Fy'); fprintf('\n%f',Matrix(MaxFy,6,LoadMaxFy)); % fprintf(file8,'\nThe Load Case Title'); fprintf(file8,'\n%s',r{LoadMaxFy,:}); % fprintf(file8,'\nRow Data Containing the max value of Fy'); fprintf(file8,'\n%s',Label); fprintf(file8,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFy,:,LoadMaxFy) Shear(MaxFy,:,LoadMaxFy)]); % fclose(file8); % %% Calculations for Fz % file9=fopen(FZMCAL,'wt'); fprintf(file9,'Load Case for the max of Fz'); fprintf(file9,'\n%f',LoadMaxFz); fprintf('\nLoad Case for the max of Fz'); fprintf('\n%f',LoadMaxFz); % fprintf(file9,'\nRow Number of Load Case for max Fz'); fprintf(file9,'\n%f',MaxFz); % fprintf(file9,'\nThe max value for Fz'); fprintf(file9,'\n%f',Matrix(MaxFz,7,LoadMaxFz)); fprintf('\nThe max value for Fz'); 

NASA/TM—2015-218126 53
fprintf('\n%f',Matrix(MaxFz,7,LoadMaxFz)); 

% fprintf(file9,'\nThe Load Case Title'); fprintf(file9,'\n%s',r{LoadMaxFz,:}); % fprintf(file9,'\nRow Data Containing the max value of Fz'); fprintf(file9,'\n%s',Label); fprintf(file9,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFz,:,LoadMaxFz) Shear(MaxFz,:,LoadMaxFz)]); % fclose(file9); % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Graphing results according to user input % % %% % for u=1:15; disp(' ');  if u==1  G=input('Would you like to make a 3D plot of the calculated results?(y/n) ','s');  elseif u~=1  G=input('Would you like to make another 3D plot of the calculated results?(y/n) ','s');  end if G=='y';  disp(' ');  disp(' ');  disp(' ');  disp('Enter the load case number');  LC=input('from which you wish to graph the results '); % % defining the vectors that can be plotted % %[CC,BB,AA]=size(Shear); %IM=zeros(CC,3,AA); x=MN1(:,2,LC); y=MN1(:,3,LC); z=MN1(:,4,LC); vx=Shear(:,1,LC); 

NASA/TM—2015-218126 54
vy=Shear(:,2,LC); 

vz=Shear(:,3,LC); fr=Shear(:,4,LC); fx=MN1(:,5,LC); fy=MN1(:,6,LC); fz=MN1(:,7,LC); rx=IM(:,1,LC); ry=IM(:,2,LC); rz=IM(:,3,LC); % disp(' '); disp(' ');  disp('Enter the three vectors that you would like to graph.');  disp('They can be one of the following coordinates: x y z');  disp('or one of the ten quantities:');  disp(' vx vy vz fr fx fy fz rx ry rz.');  disp('Enter all inputs in lower case letters');  disp(' ');  disp(' ');  disp(' ');  x1=input('Input the vector to be plotted on the x axis ');  disp(' ');  y1=input('Input the vector to be plotted on the y axis ');  disp(' ');  z1=input('Input the vector to be plotted on the z axis '); % figure; stem3(x1,y1,z1) % 3D Plot command % % xlabel % if x1==vx;  xlabel('Vx(lbs.)');  else if x1==vy;  xlabel('Vy(lbs.)');  else if x1==vz;  xlabel('Vz(lbs.)');  else if x1==fr;  xlabel('Fr(lbs.)');  else if x1==fx;  xlabel('Fx(lbs.)'); 

NASA/TM—2015-218126 55
 else if x1==fy; 

 xlabel('Fy(lbs.)');  else if x1==fz;  xlabel('Fz(lbs.)');  else if x1==rx;  xlabel('Rx');  else if x1==ry;  xlabel('Ry');  else if x1==rz;  xlabel('Rz');  else if x1==x;  xlabel('X(in.)');  else if x1==y;  xlabel('Y(in.)');  else if x1==z;  xlabel('Z(in.)');  end  end  end  end  end  end  end  end  end  end  end  end end % % ylabel % if y1==vx;  ylabel('Vx(lbs.)');  else if y1==vy;  ylabel('Vy(lbs.)');  else if y1==vz;  ylabel('Vz(lbs.)');  else if y1==fr;  ylabel('Fr(lbs.)');  else if y1==fx; 

NASA/TM—2015-218126 56
 ylabel('Fx(lbs.)'); 

 else if y1==fy;  ylabel('Fy(lbs.)');  else if y1==fz;  ylabel('Fz(lbs.)');  else if y1==rx;  ylabel('Rx');  else if y1==ry;  ylabel('Ry');  else if y1==rz;  ylabel('Rz');  else if y1==x;  ylabel('X(in.)');  else if y1==y;  ylabel('Y(in.)');  else if y1==z;  ylabel('Z(in.)');  end  end  end  end  end  end  end  end  end  end  end  end end % % zlabel % if z1==vx;  zlabel('Vx(lbs.)');  else if z1==vy;  zlabel('Vy(lbs.)');  else if z1==vz;  zlabel('Vz(lbs.)');  else if z1==fr;  zlabel('Fr(lbs.)'); 

NASA/TM—2015-218126 57
 else if z1==fx; 

 zlabel('Fx(lbs.)');  else if z1==fy;  zlabel('Fy(lbs.)');  else if z1==fz;  zlabel('Fz(lbs.)');  else if z1==rx;  zlabel('Rx');  else if z1==ry;  zlabel('Ry');  else if z1==rz;  zlabel('Rz');  else if z1==x;  zlabel('X(in.)');  else if z1==y;  zlabel('Y(in.)');  else if z1==z;  zlabel('Z(in.)');  end  end  end  end  end  end  end  end  end  end  end  end end title({'Load Case Number',num2str(LC)}); % else if G=='n';  break; else  disp(' ');  disp(' ');  disp('The program did not recognize the input.') ;  disp('Enter y or n in a lowercase letter.');  end 

NASA/TM—2015-218126 58
end 

end % %% % for threeDL=1:20; disp(' '); disp(' '); disp('Would you like make a 3D plot showing the location of the grid'); RB2=input('points?(y/n) ','s'); if RB2=='y'; GPC=Matrix(:,1,1); GPCCON=num2str(GPC); % figure;  for jj=1:(FN1)  scatter3(Matrix(jj,2,1),Matrix(jj,3,1),Matrix(jj,4,1),'filled') hold on  end % x=MN1(:,2,:); y=MN1(:,3,:); z=MN1(:,4,:); % hold on for ee=1:(FN1)  for Fx=x(ee);  for Fy=y(ee);  for Fz=z(ee);  text(Fx,Fy,Fz,GPCCON(ee ,:),'fontsize',10)  end  end  end end hold on % xlabel('x Location (in.)'); ylabel('y Location (in.)'); zlabel('z Location (in.)'); %axis equal ; break 

NASA/TM—2015-218126 59
else if RB2 =='n'; 

 break; else %RB2~= 'y'||'n'  disp(' ');  disp(' ');  disp('The program did not recognize the input.') ;  disp('Enter y or n in a lowercase letter.');  end  end end %% for LP=1:10; disp(' '); disp(' ');  if LP==1  disp('Would you like to plot fx,fy,fz,vx,vy,vz,fr,rx,ry,or rz on a particular');  GL=input(' grid point as a function of the load cases?(y/n) ','s');  elseif LP~=1  disp('Would you like to make another plot of fx,fy,fz,vx,vy,vz,fr,rx,ry,or rz on a');  GL=input(' particular grid point as a function of the load cases?(y/n) ','s');  end % if GL=='y';  disp(' ');  disp(' ');  disp('Enter the grid point number');  GL1=input('to be plotted. ');  disp(' ');  disp(' ');  disp('Enter one of the entities, fx,fy,fz,vx,vy,vz,fr,rx,ry,or rz ');  GL2=input('to be plotted. ','s'); Kbi=1:L; Kbi2=Kbi'; Hby=num2str(Kbi2); figure; for de=1:L;  for dd=1:(FN1);  if Matrix(dd,1,de)==GL1;  if GL2=='vx';  plot(de,Shear(dd,1,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'vx (lbs.)';, hold on; 

NASA/TM—2015-218126 60
 text((de),(Shear(dd,1,de)+18),Hby(de,:)) 

 grid on;  hold on  else if GL2=='vy';  plot(de,Shear(dd,2,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'vy (lbs.)';, hold on;  text((de),(Shear(dd,2,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='vz';  plot(de,Shear(dd,3,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'vz (lbs.)';, hold on;  text((de),(Shear(dd,3,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='fr';  plot(de,Shear(dd,4,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'Fr (lbs.)';, hold on;  text((de),(Shear(dd,4,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='fx';  plot(de,M(dd,5,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'fx (lbs.)';, hold on;  text((de),(M(dd,5,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='fy';  plot(de,M(dd,6,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'fy (lbs.)';, hold on;  text((de),(M(dd,6,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='fz';  plot(de,M(dd,7,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3= 'fz (lbs.)';, hold on;  text((de),(M(dd,7,de)+18),Hby(de,:))  grid on;  hold on  %%%%%%%%%%%%%%%%%NEW AS OF 8-9-10%%%%%%%%%%%%%  else if GL2=='rx'; 

NASA/TM—2015-218126 61
 plot(de,IM(dd,1,de),'-ob','LineWidth',2,'MarkerSize',3) 

 GL3='rx';, hold on;  text((de),(IM(dd,1,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='ry';  plot(de,IM(dd,2,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3='ry';, hold on;  text((de),(IM(dd,2,de)+18),Hby(de,:))  grid on;  hold on  else if GL2=='rz';  plot(de,IM(dd,3,de),'-ob','LineWidth',2,'MarkerSize',3)  GL3='rz';, hold on;  text((de),(IM(dd,3,de)+18),Hby(de,:))  grid on;  hold on  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  end  end  end  end  end  end  end  end  end  end  end  end end hold on xlabel('Load Case Number'); ylabel([(GL3)]); title(['Grid Point Number ',num2str(GL1)]); hold off %break; else if GL =='n';  break; else %GL~= 'y'||'n'  disp(' '); 

NASA/TM—2015-218126 62
 disp(' '); 

 disp('The program did not recognize the input.') ;  disp('Enter y or n in a lowercase letter.'); end end end % %%%%%%%%%%%%%%%%%%%%%%%%%% disp(' '); disp(' '); % Last=input('Would you like to print the .out files to the screen (y/n) ','s'); if Last=='y' disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Vx'); fprintf(1,'\n%f',LoadMaxVx); % fprintf(1,'\nRow Number of Load Case for max Vx'); fprintf(1,'\n%f',MaxVx); % fprintf(1,'\nThe max value for Vx'); fprintf(1,'\n%f',Shear(MaxVx,1,LoadMaxVx)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxVx,:}); % fprintf(1,'\nRow Data Containing the max value of Vx'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVx,:,LoadMaxVx) Shear(MaxVx,:,LoadMaxVx)]); % %% Calculations for Vy % disp(' '); disp(' '); disp(' '); 

NASA/TM—2015-218126 63
disp(' '); 

file4=fopen( VYMCAL,'wt'); fprintf(1,'Load Case for the max of Vy'); fprintf(1,'\n%f',LoadMaxVy); % fprintf(1,'\nRow Number of Load Case for max Vy'); fprintf(1,'\n%f',MaxVy); % fprintf(1,'\nThe max value for Vy'); fprintf(1,'\n%f',Shear(MaxVy,2,LoadMaxVy)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxVy,:}); % fprintf(1,'\nRow Data Containing the max value of Vy'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVy,:,LoadMaxVy) Shear(MaxVy,:,LoadMaxVy)]); % %% Calculations for Vz % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Vz'); fprintf(1,'\n%f',LoadMaxVz); % fprintf(1,'\nRow Number of Load Case for max Vz'); fprintf(1,'\n%f',MaxVz); % fprintf(1,'\nThe max value for Vz'); fprintf(1,'\n%f',Shear(MaxVz,3,LoadMaxVz)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxVz,:}); % fprintf(1,'\nRow Data Containing the max value of Vz'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxVz,:,LoadMaxVz) Shear(MaxVz,:,LoadMaxVz)]); 

NASA/TM—2015-218126 64
% 

%% Calculations for Fr % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Fr'); fprintf(1,'\n%f',LoadMaxFr); % fprintf(1,'\nRow Number of Load Case for max Fr'); fprintf(1,'\n%f',MaxFr); % fprintf(1,'\nThe max value for Fr'); fprintf(1,'\n%f',Shear(MaxFr,4,LoadMaxFr)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxFr,:}); % fprintf(1,'\nRow Data Containing the max value of Fr'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFr,:,LoadMaxFr) Shear(MaxFr,:,LoadMaxFr)]); % if NEW=='y' %% Calculations for Rx % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Rx'); fprintf(1,'\n%f',LoadMaxRx); % fprintf(1,'\nRow Number of Load Case for max Rx'); fprintf(1,'\n%f',MaxRx); % fprintf(1,'\nThe max value for Rx'); fprintf(1,'\n%f',IM(MaxRx,1,LoadMaxRx)); 

NASA/TM—2015-218126 65
% 

fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxRx,:}); % fprintf(1,'\nRow Data Containing the max value of Rx'); fprintf(1,'\n%s',Labe2); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRx,:,LoadMaxRx) IM(MaxRx,:,LoadMaxRx)]); % %% Calculations for Ry % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Ry'); fprintf(1,'\n%f',LoadMaxRy); % fprintf(1,'\nRow Number of Load Case for max Ry'); fprintf(1,'\n%f',MaxRy); % fprintf(1,'\nThe max value for Ry'); fprintf(1,'\n%f',IM(MaxRy,2,LoadMaxRy)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxRy,:}); % fprintf(1,'\nRow Data Containing the max value of Ry'); fprintf(1,'\n%s',Labe2); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRy,:,LoadMaxRy) IM(MaxRy,:,LoadMaxRy)]); % %% Calculations for Rz % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Rz'); fprintf(1,'\n%f',LoadMaxRz); % 

NASA/TM—2015-218126 66
fprintf(1,'\nRow Number of Load Case for max Rz'); 

fprintf(1,'\n%f',MaxRz); % fprintf(1,'\nThe max value for Rz'); fprintf(1,'\n%f',IM(MaxRz,3,LoadMaxRz)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxRz,:}); % fprintf(1,'\nRow Data Containing the max value of Rz'); fprintf(1,'\n%s',Labe2); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxRz,:,LoadMaxRz) IM(MaxRz,:,LoadMaxRz)]); % else end %% Calculations for Fx % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Fx'); fprintf(1,'\n%f',LoadMaxFx); % fprintf(1,'\nRow Number of Load Case for max Fx'); fprintf(1,'\n%f',MaxFx); % fprintf(1,'\nThe max value for Fx'); fprintf(1,'\n%f',Matrix(MaxFx,5,LoadMaxFx)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxFx,:}); % fprintf(1,'\nRow Data Containing the max value of Fx'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFx,:,LoadMaxFx) Shear(MaxFx,:,LoadMaxFx)]); % %% Calculations for Fy % 

NASA/TM—2015-218126 67
disp(' '); 

disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Fy'); fprintf(1,'\n%f',LoadMaxFy); % fprintf(1,'\nRow Number of Load Case for max Fy'); fprintf(1,'\n%f',MaxFy) ; % fprintf(1,'\nThe max value for Fy'); fprintf(1,'\n%f',Matrix(MaxFy,6,LoadMaxFy)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxFy,:}); % fprintf(1,'\nRow Data Containing the max value of Fy'); fprintf(1,'\n%s',Label); fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFy,:,LoadMaxFy) Shear(MaxFy,:,LoadMaxFy)]); % %% Calculations for Fz % disp(' '); disp(' '); disp(' '); disp(' '); fprintf(1,'Load Case for the max of Fz'); fprintf(1,'\n%f',LoadMaxFz); % fprintf(1,'\nRow Number of Load Case for max Fz'); fprintf(1,'\n%f',MaxFz); % fprintf(1,'\nThe max value for Fz'); fprintf(1,'\n%f',Matrix(MaxFz,7,LoadMaxFz)); % fprintf(1,'\nThe Load Case Title'); fprintf(1,'\n%s',r{LoadMaxFz,:}); % fprintf(1,'\nRow Data Containing the max value of Fz'); 

NASA/TM—2015-218126 68
fprintf(1,'\n%s',Label); 

fprintf(1,'\n%8f %16f %14f %14f %14f %14f %14f %14f %14f %14f %14f'...  ,[Matrix(MaxFz,:,LoadMaxFz) Shear(MaxFz,:,LoadMaxFz)]); % else  break; end % fclose('all'); %added 1/13/09 

NASA/TM—2015-218126 69
 

References 

1. National Aeronautics and Space Administration: Criteria for Preloaded Bolts. NSTS 08307, Rev. A, 

1998. 

2. %DUUHWW5LFKDUG7)DVWHQHU'HVLJQ0DQXDO1$6$53௅

NASA/TM—2015-218126 70
REPORT DOCUMENTATION PAGE Form Approved

OMB No. 0704-0188

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and

maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including

suggestions for reducing this burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and Reports (0704-0188), 1215 Jefferson Davis Highway, Suite

1204, Arlington, VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to any penalty for failing to comply with a collection of information if it

does not display a currently valid OMB control number.

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD-MM-YYYY)

01-01-2015

2. REPORT TYPE

Technical Memorandum

3. DATES COVERED (From - To)

4. TITLE AND SUBTITLE

Element Load Data Processor (ELDAP) User’s Manual

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S)

Ramsey, John, K., Jr.; Ramsey, John, K., Sr.

5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

WBS 644423.06.32.03.09.03

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

John H. Glenn Research Center at Lewis Field

Cleveland, Ohio 44135-3191

8. PERFORMING ORGANIZATION

 REPORT NUMBER

E-18876

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

Washington, DC 20546-0001

10. SPONSORING/MONITOR'S

 ACRONYM(S)

NASA

11. SPONSORING/MONITORING

 REPORT NUMBER

NASA/TM-2015-218126

12. DISTRIBUTION/AVAILABILITY STATEMENT

Unclassified-Unlimited

Subject Categories: 61 and 39

Available electronically at http://www.sti.nasa.gov

This publication is available from the NASA Center for AeroSpace Information, 443-757-5802

13. SUPPLEMENTARY NOTES

14. ABSTRACT

Often, the shear and tensile forces and moments are extracted from finite element analyses to be used in off-line calculations for evaluating

the integrity of structural connections involving bolts, rivets, and welds. Usually the maximum forces and moments are desired for use in the

calculations. In situations where there are numerous structural connections of interest for numerous load cases, the effort in finding the true

maximum force and/or moment combinations among all fasteners and welds and load cases becomes difficult. The Element Load Data

Processor (ELDAP) software described herein makes this effort manageable. This software eliminates the possibility of overlooking the

worst-case forces and moments that could result in erroneous positive margins of safety and/or selecting inconsistent combinations of forces

and moments resulting in false negative margins of safety. In addition to forces and moments, any scalar quantity output in a PATRAN

report file may be evaluated with this software. This software was originally written to fill an urgent need during the structural analysis of

the Ares I-X Interstage segment. As such, this software was coded in a straightforward manner with no effort made to optimize or minimize

code or to develop a graphical user interface.

15. SUBJECT TERMS

Computer programs; Loads; Fasteners; Finite element method; PATRAN; NASTRAN

16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF

 ABSTRACT

UU

18. NUMBER

 OF

 PAGES

78

19a. NAME OF RESPONSIBLE PERSON

STI Help Desk (email:help@sti.nasa.gov) a. REPORT

U

b. ABSTRACT

U

c. THIS PAGE

U 19b. TELEPHONE NUMBER (include area code)

443-757-5802

Standard Form 298 (Rev. 8-98)

Prescribed by ANSI Std. Z39-18