Asen 3112 Lab 2
Asen 3112 Lab 2
Asen 3112 Lab 2
LAB 2
Student Authors:
Skylar Edwards
109224424
1 November, 2021
I. Question 1: Experimental Results
In Fig. 1 it is shown that as the displacement becomes more negative as the internal force increases. This regression
line is extremely linear due to its correlation coefficient being -0.9444. The closer the correlation coefficient is to -1 or 1
means the more linear our data appears to fall. The uncertainty in the regression line is 0.000087. This is relatively low
meaning our regression model fits our data very accurately.
1
Fig. 2 Linear Regression of Displacement (LVDT) vs Reaction Forces
In Fig. 2 it is shown as the displacement becomes more negative as the reaction forces increases. These regression
lines are extremely linear due to their correlation coefficients being -0.9685, -0.9712, and -0.9670 respectively. The
closer the correlation coefficient is to -1 or 1 means the more linear our data appears to fall. The uncertainty in the
regression lines are 6.6e-5, 6.3e-5, and 6.7e-5 respectively. These are relatively low meaning our regression models fit
our data very accurately.
The equation used for the correlation coefficient is
Í𝑛
(𝑥 𝑖 − 𝑥) (𝑦 𝑖 − 𝑦)
𝑟 = √︃Í 𝑖=1 (1)
𝑛
(𝑥 − 𝑥) 2 (𝑦 − 𝑦) 2
𝑖=1 𝑖 𝑖
Where 𝑥𝑖 is the force for each data point, 𝑥 is the mean of the forces for every data point, 𝑦 𝑖 is the displacement for each
data point, 𝑦 is the mean of the displacements for every data point.
2
of the truss move in ways the model doesn’t track, and it may also mean that it doesn’t move in ways that the model
thinks in will, depending on how free each direction of freedom actually is.
B. ANSYS Results
Fig. 3 and Fig. 4 show the truss displacement of the ANSYS model at full loading; that is, 222.4 Newtons in the
negative y-direction on the middle of the truss. The truss deforms in the way we would expect, bending down in the
middle under the load, with its ends staying
Fig. 5 shows the internal forces felt by each element of the truss at full loading. Labeled on it you can see the
minimum and maximum internal forces; these are -440.02 N on element 325 and 450.14 N on element 338, respectively.
Table 1 contains the reaction forces at each of the nodes we restricted from moving. These are directly analogous to
the reaction forces plotted in Fig. 2. 𝐹0 and 𝐹1 , the experimental reaction forces, are measured at the same place as the
forces in Nodes 1 and 68. 𝐹2 , measured on the left end of the real truss, accounts for the reaction forces measured at
both Node 17 and 68; there is only one load cell on this side in the experimental setup, but ANSYS gives us the reaction
forces at the individual loads, and so 𝐹2 should be approximately equal to the sum of 𝐹𝑦,17 and 𝐹𝑦,68 . Notice that here,
these nodes don’t have any reaction force in the x-direction. This is by the nature of the ANSYS setup: the nodes are
approximated as being free in the x-direction only. In reality, there might be some friction or other things going on that
would create some reaction force at these nodes, but they should be small and so we are neglecting all of that.
Node 𝐹𝑥 𝐹𝑦 𝐹𝑧
1 -1.1295 55.562 1.0874
17 0 55.638 1.0040
52 1.1295 55.638 -1.1580
68 0 55.562 -0.93342
Table 1 Reaction Solutions per Node
3
Fig. 5 Tension and Compression in Truss Elements
Now that we have approximated the truss structure as a simple beam, we can set up our standard energy-based beam
bending problem to predict the displacement at the central section of our truss: here we’ll call this point B, and the
Í
displacement 𝑣 𝐵 . Our problem set up is shown in Fig. 6. Making cuts and looking at 𝑀 = 0 gives us Eq. 4.
(
111.2𝑥 0≤𝑥≤2
𝑀 (𝑥) = (4)
111.2𝑥 − 444.8 2 ≤ 𝑥 ≤ 4
To solve for 𝑣 𝐵 , we will solve 𝑊𝑒 = 𝑈, where 𝑊𝑒 and 𝑈 are Eqs. 5 and 6. As a note, here 𝐸 = 69 GPa.
4
Fig. 6 Equivalent Beam Calculation Set-up Diagram
𝑀 (𝑥) 2
∫
1 1
𝑊𝑒 = − 𝑃𝑣 𝐵 (5) 𝑈= 𝑑𝑥 (6)
2 2 𝐿 𝐸 𝐼 𝑧𝑧
Solving:
𝑊𝑒 = 𝑈
𝑀 (𝑥) 2
∫
1 1
− 𝑃𝑣 𝐵 = 𝑑𝑥
2 2 𝐿 𝐸 𝐼 𝑧𝑧
∫ 2 !
∫ 4
1 2 2
−𝑃𝑣 𝐵 = (111.2𝑥) 𝑑𝑥 + (111.2𝑥 − 444.8) 𝑑𝑥
𝐸 𝐼 𝑧𝑧 0 2
−65949
𝑣𝐵 =
𝑃𝐸 𝐼 𝑧𝑧
−65949
=
(222.4) (69 × 109 ) (2.72 × 10−6 )
= −1.5786 × 10−3 [𝑚]
Our Ansys model reports a maximum net deflection in the Y direction at Node 43, right in the center of our truss
underneath the load. This predicted displacement is 𝑣 𝑝 = −1.5625 × 10−3 [𝑚]. We can compare this to our number
from the equivalent beam bending model. Solving Eq. 7 shows that the two numbers are remarkably close: the midspan
displacement from the equivalent beam bending model comes within about 1% of that from the FEM model.
𝑣𝐵 − 𝑣 𝑝
Percent Error = × 100 = 1.0301% (7)
𝑣𝑝
There are several obvious reasons why these numbers should be different. The real truss is made up of a couple
hundred discrete tubes held together with fasteners, while the beam model hides all of that by pretending the truss is a
simple 1D beam. The joints might behave differently then a uniform beam, affecting the way stress propagates through
the structure. Similarly, the FEM model looks at each element as being purely in tension or compression, whereas
the beam model assumes the solid beam is bending, implying some internal tension and compression as well as some
shear stress. On the whole, the FEM and beam deflections models assume similar things about loading and material
properties, and so it makes sense that they are as close as less than 10%.
5
III. Question 3: Uncertainty Analysis
6
Fig. 8 Load vs Displacement
The error between the FEM data and the experimental data decreases as the stiffness is increased, (i.e. Young’s
Modulus increased, Cross-Sectional Area Increased, of Length decreased. This was not the expected result, as it was
expected that many of the potential sources of differences would result in experimental data that behaves as a system
with a lower stiffness. One explanation is that the supports in the experimental data do not overcome static friction, so
the behavior of the system is more similar to the FEM model where the supports are modeled as pinned joints. In figure
8 one can see that modeling both ends of the truss as pinned yields the most accurate results.
Imperfect joints may result in struts shifting while experiencing a load. This may reduce the effective stiffness of the
bars. The bar containing the in-line load cell allows for it’s pins to move axially, due to the nature of the measuring
device. This, in turn, means that that particular member’s stiffness is decreased, while the FEM simulation has perfectly
modelled members with the exact same characteristics.
Manufacturing imperfections means that not every member will have the same characteristics. Not every joint will
be identically distant from each other and the cross-section of the struts will not all be identical. This results in different
experimental results when compared to the perfectly modeled FEM simulation. The FEM model assumes that the struts
have no internal bending moments. However, in the experiment the joints can transmit bending moments and the struts
provide a bending stiffness. We could have modeled the truss elements as beams to simulate bending moments, but the
process is involved and, despite the deadline extension, it was not feasible. Likely, supporting moments decreases the
overall displacement per external load of the structure. If the external load is the same for a truss with only internal
tension and a truss with both internal tension and bending, then all of the load will go into tension in the first, but it
will split between tension and bending in the second. Hence, the second truss will in effect be more stiff, displacing
less overall. Our ANSYS model with higher stiffness has less error, as does our pinned model. It seems likely that an
ANSYS model which included moments and pinned the ends might yield results with less error. Some other possible
sources that may impact measurements could be the error within the measuring devices, vibrations, and fatigue.
C. Factor of Safety
All of the approximations we make in our models lead to discrepancies between the predicted behavior of a structure
and the actual behavior of that structure in real world conditions. This means that, in order to make safe structures, we
either need to have perfect models, or account for the error using factors of safety. This means designing structures so
that they can theoretically withstand loading that is some percentage larger than the largest expected real life loading
7
Percent Error from Experimental
Pinned 37.5006
Larger Stiffness 43.5107
Smaller Stiffness 49.4233
Anysis Data 46.0700
Table 2 Discrepencies between ANSYS and Experimental data sets
IV. Appendix
A. Participation Report
In our first meeting, the team divided up work and set internal deadlines for various portions of this report. Listed in
the table below are the explicit responsibilities of each group member. Along with completing their individual portions,
each team member helped others, wrote and edited portions of the report document, and assisted in group decision
making. The corresponding scores are based upon a survey filled out by each group member, scoring themselves and
their teammates.
Student Responsibility Contribution Factor
Alexander Bergemann P3, Code, Report 100%
Ryan Charles P2, ANSYS Model, Report 92%
Skylar Edwards P3, Code, Report 96%
Samuel Hatton ANSYS Model, Group Lead 100%
Amanda Marlow P2, ANSYS Model, Report 100%
Andrew Supuppo P1, Code, Report 100%
8
B. MATLAB Code
9
56 plot(F3, y3, 'LineWidth', 1.5)
57 title("Displacement (LVDT) vs Internal Force ($F_3$)")
58 ylabel("LVDT [m]")
59 xlabel("$F_3$ [N]")
60 legend("$F_3$ data", "$F_3$ Regression", 'Location', 'best')
61 grid on
62 hold off
63
64
65 % F0
66 delta0 = (length(F0) * sum(F0.^2)) - ((sum(F0))^2);
67 A0 = ((sum(F0.^2) * sum(LVDT)) - (sum(F0) * sum(F0.*LVDT))) / delta0; % Y-intercept of ...
the linear regression
68 B0 = ((length(F0) * sum(F0.*LVDT)) - (sum(F0) * sum(LVDT))) / delta0; % Slope of the ...
linear regression
69
70 y0 = A0 + (B0*F0); % Linear regression ...
line formula
71
72 dumb = zeros(1,length(F0));
73 for i = 1:length(F0)
74 dumb(i) = (LVDT(i)-A0-(B0*F0(i)))^2;
75 end
76
77 sigmaY0 = sqrt( (1/(length(F0)-2)) * sum(dumb) ); % Uncertainty in ...
linear regression line
78 sigmaA0 = sigmaY0 * sqrt( sum(F0.^2)/delta0 ); % Uncertainty in ...
y-intercept
79 sigmaB0 = sigmaY0 * sqrt( length(F0)/delta0 ); % Uncertainty in slope
80
81 aa = zeros(1,length(F0));
82 bb = zeros(1,length(F0));
83 cc = zeros(1,length(F0));
84 for i = 1:length(F0)
85 aa(i) = F0(i) - mean(F0); % Part of ...
denominator of correlation coefficient
86 bb(i) = LVDT(i) - mean(LVDT); % Part of ...
denominator of correlation coefficient
87 cc(i) = aa(i) * bb(i); % Numerator of ...
correlation coefficient
88 end
89
90 r0 = sum(cc) / sqrt( sum(aa.^2) * sum(bb.^2) ); % Calculates ...
correlation coefficient
91
92 fprintf("The correlation coefficient for F0 is: %.4f with linear regression uncertantiy: ...
%.6f\n", r0, sigmaY0)
93
94
95 % F1
96 delta1 = (length(F1) * sum(F1.^2)) - ((sum(F1))^2);
97 A1 = ((sum(F1.^2) * sum(LVDT)) - (sum(F1) * sum(F1.*LVDT))) / delta1; % Y-intercept of ...
the linear regression
98 B1 = ((length(F1) * sum(F1.*LVDT)) - (sum(F1) * sum(LVDT))) / delta1; % Slope of the ...
linear regression
99
100 y1 = A1 + (B1*F1); % Linear regression ...
line formula
101
102 dumb = zeros(1,length(F1));
103 for i = 1:length(F1)
104 dumb(i) = (LVDT(i)-A1-(B1*F1(i)))^2;
105 end
106
107 sigmaY1 = sqrt( (1/(length(F1)-2)) * sum(dumb) ); % Uncertainty in ...
linear regression line
108 sigmaA1 = sigmaY1 * sqrt( sum(F1.^2)/delta1 ); % Uncertainty in ...
y-intercept
10
109 sigmaB1 = sigmaY1 * sqrt( length(F1)/delta1 ); % Uncertainty in slope
110
111 aa = zeros(1,length(F1));
112 bb = zeros(1,length(F1));
113 cc = zeros(1,length(F1));
114 for i = 1:length(F1)
115 aa(i) = F1(i) - mean(F1); % Part of ...
denominator of correlation coefficient
116 bb(i) = LVDT(i) - mean(LVDT); % Part of ...
denominator of correlation coefficient
117 cc(i) = aa(i) * bb(i); % Numerator of ...
correlation coefficient
118 end
119
120 r1 = sum(cc) / sqrt( sum(aa.^2) * sum(bb.^2) ); % Calculates ...
correlation coefficient
121
122 fprintf("The correlation coefficient for F1 is: %.4f with linear regression uncertantiy: ...
%.6f\n", r1, sigmaY1)
123
124
125 % F2
126 delta2 = (length(F2) * sum(F2.^2)) - ((sum(F2))^2);
127 A2 = ((sum(F2.^2) * sum(LVDT)) - (sum(F2) * sum(F2.*LVDT))) / delta2; % Y-intercept of ...
the linear regression
128 B2 = ((length(F2) * sum(F2.*LVDT)) - (sum(F2) * sum(LVDT))) / delta2; % Slope of the ...
linear regression
129
130 y2 = A2 + (B2*F2); % Linear regression ...
line formula
131
132 dumb = zeros(1,length(F2));
133 for i = 1:length(F2)
134 dumb(i) = (LVDT(i)-A2-(B2*F2(i)))^2;
135 end
136
137 sigmaY2 = sqrt( (1/(length(F2)-2)) * sum(dumb) ); % Uncertainty in ...
linear regression line
138 sigmaA2 = sigmaY2 * sqrt( sum(F2.^2)/delta2 ); % Uncertainty in ...
y-intercept
139 sigmaB2 = sigmaY2 * sqrt( length(F2)/delta2 ); % Uncertainty in slope
140
141 aa = zeros(1,length(F2));
142 bb = zeros(1,length(F2));
143 cc = zeros(1,length(F2));
144 for i = 1:length(F2)
145 aa(i) = F2(i) - mean(F2); % Part of ...
denominator of correlation coefficient
146 bb(i) = LVDT(i) - mean(LVDT); % Part of ...
denominator of correlation coefficient
147 cc(i) = aa(i) * bb(i); % Numerator of ...
correlation coefficient
148 end
149
150 r2 = sum(cc) / sqrt( sum(aa.^2) * sum(bb.^2) ); % Calculates ...
correlation coefficient
151
152 fprintf("The correlation coefficient for F2 is: %.4f with linear regression uncertantiy: ...
%.6f\n", r2, sigmaY2)
153
154
155 figure % Reaction Forces vs Displacement Graph
156 plot(F0, LVDT, '.', 'MarkerSize', 15, 'Color','b')
157 hold on
158 plot(F0, y0, 'LineWidth', 1.5, 'Color','b')
159 hold on
160 plot(F1, LVDT, '.', 'MarkerSize', 15, 'Color','r')
161 hold on
11
162 plot(F1, y1, 'LineWidth', 1.5, 'Color','r')
163 hold on
164 plot(F2, LVDT, '.', 'MarkerSize', 15, 'Color','g')
165 hold on
166 plot(F2, y2, 'LineWidth', 1.5, 'Color','g')
167 hold on
168 title("Displacement (LVDT) vs Reaction Forces")
169 ylabel("LVDT [m]")
170 xlabel("Reaction Forces [N]")
171 legend("$F_0$ data", "$F_0$ Regression", "$F_1$ data", "$F_1$ Regression", "$F_2$ data", ...
"$F_2$ Regression", 'Location', 'best')
172 grid on
173 hold off
12