SlideShare a Scribd company logo
M E C H A N I C A L D E S I G N O F A
C O N N E C T I N G R O D
erik kramer1
, deaho moon1
, jordan suls1
abstract
The goal of this project was to design a connecting rod for a Ferrari F136 F engine which
holds up to all safety standards as well as remains both cost and weight effective. A
MATLAB study of engine loads and beam analysis was performed to check analytically
for buckling or yield failure in a preliminary simplified beam design. These studies
resulted in a Yield Safety Factor of 2.09 as well as buckling safety factors of 16.25 in the y
direction and 64.98 in the z direction. Following the simplified analytical approach, a 2D
numerical plane stress assumption finite element analysis (FEA) was done in COMSOL
to further evaluate the design. A more realistic connecting rod but simplified profile
was used with a constant thickness of 0.5 inches. This gave a yield safety factor of 1.19.
Lifetime analysis was performed on this design and resulted in an infinite lifetime using
S-N methods but only 14032 cycles using fatigue fracture methods. Two design iterations
were then performed to increase the factor of safety against yield to 2.62 and to increase
the fatigue fracture cycles to failure to 19300. Finally, using our final iteration 2D profile
as a starting point, two detailed 3D models were produced and simulated under working
conditions in Abaqus. From this we found a successful final design with a yield safety
factor of 1.97.
1 Department of Mechanical and Aerospace Engineering, University of California Los Angeles
1
Contents 2
contents
1 Introduction 2
2 Engine Assumptions & Operating Loads 3
3 Load Analysis 4
4 Beam Theory Analysis 5
5 Initial Design Solid Modeling 7
6 Two-Dimensional Elastic Finite Element Analysis 8
7 Lifetime Analysis 11
7.1 S-N Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2 Fracture Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8 Design Optimization 15
9 Three-Dimensional Solid Model 18
10 Three-Dimensional Elastic Finite Element Analysis 18
11 Discussion & Conclusions 21
12 Appendix A - Derivations 21
13 Appendix B - MATLAB Code 24
13.1 Load Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
13.2 Beam Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
13.3 S-N Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
13.4 Fatigue Fracture Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.5 3D FEA Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
14 Appendix C - Final Design Documentation 46
1 introduction
Connecting rods are widely used as couplers in various engineering applications based
on slider-crank mechanisms. For example, depending on the kinematic inversion of the
mechanism, connecting rods are used in compressors, rotary engines found in early air-
craft, driving wheels of early steam locomotives, and garden water pumps [1].
Today connecting rods are mainly used in internal combustion engines. The purpose
of connecting rods is to convert linear motion of the pistons to rotational motion of the
crankshaft. The design of connecting rods for high strength with light weight is crucial
because they have to rapidly respond to the motion of the pistons under extreme levels of
stress exerted by pistons, chemical reactions, etc. Hence, they are one of the most critical
components of the engine because their performance and lifecycle directly affect those of
the engine.
Depending on the types of engines, connecting rod designs are varied based on the
beam shapes and materials. There are two basic types of connecting rods; I-Beam and
H-Beam. I-Beam rods are the most common type of connecting rods. Since I-Beams offer
high strength with light weight, I-Beams are generally used in high rpm engines. H-
engine assumptions & operating loads 3
Beam rods are used in low rpm engines with higher torque due to its greater compressive
strength than I-Beam rods [2]. The material selection plays a significant role in connecting
rod design. Light and strong materials are desired but material price is a limiting factor
in the connecting rod design. For example, using titanium for a connecting rod instead
of steel can reduce the weight by approximately 22% but will cost over twice as much
to manufacture [2]. Therefore, along with economical analysis, thorough material and
mechanical analysis is required for the optimal connecting rod design.
The purpose of this study is to optimize the design of a connecting rod for a selected
engine. The variable parameters for the connecting rod design are the dimensions, the
weight, the material used, and the cost. However, the cost will be the minimal factor to
be considered in this study because the connecting rod is designed for one of the most
expensive luxury car engines. The objective is to maximize the durability and resistance
to fatigue failure.
In this report we will present loading and bending analytical analysis which were de-
rived by hand and then computed via MATLAB. Following that we will present a simpli-
fied 2D model for a plane stress FEA as well as lifetime analysis. Several design iterations
will also be given. Lastly, a detailed 3D model will be shown which was used for a 3D
Abaqus FEA to prove its viability against static yield.
2 engine assumptions & operating loads
The connecting rod was designed for the Ferrari F136 F engine, which is primarily used
in the Ferrari 458 Italia, Spider and Speciale [3]. The specifications for this engine are as
follows:
Engine Displacement 4499 cm3
Engine Torque 540 N m
Engine Speed 6000 RPM
Stroke Length 81 mm
Connecting Rod Length 144 mm
Piston Mass 400 g
Along with these constant engine operation parameters, some preliminary design as-
sumptions and choices for the connecting rod’s properties were made such that a numer-
ical load analysis could be implemented with the use of MATLAB. The following design
values are based on a simple initial design which will be expanded upon in section 5.
Note that the values here were used for the initial analytical analysis but constantly re-
vised throughout the design optimization process to reflect the design being tested. Our
initial design assumed the use of AISI 4340 normalized steel.
load analysis 4
Connecting Rod Mass 557.64 g
Relative Center of Mass β 0.3250
Moment of Inertia 1.89x10−3 kg m2
Young’s Modulus 2.05x1011 Pa
Yield Strength 7.1x108 Pa
Ultimate Tensile Strength 1.11x109 Pa
3 load analysis
The connecting rod is subject to three time dependent loads: the inertial force due to
motion, the contact force from the piston, and the contact force crankshaft. Based on the
assumption that the crankshaft has a constant angular speed, the loads on the connecting
rod are known to be periodic.
Figure 1 shows the basic geometry of the study. The connecting rod is pinned to the
piston at P, to the crankshaft at R, and has its center of mass at G. The crankshaft rotates
about the origin at constant speed ω, the time derivative of its angle φ. The piston is
constrained to the y-axis and forms the angle γ with the connecting rod. Inspection
yields a geometric description of the positions of these three points. A basic kinematics
analysis, found in Appendix A, yields the position, speed, and acceleration of the three
key points.
• Angular Velocity of Connecting Rod: ˙γ = − ωλcosφ
(1−λ2 sin2 φ)1/2
• Angular Acceleration of Connecting Rod: ¨γ = ω2 λ(1−λ2 )sinφ
(1−λ2 sinφ)3/2
• Acceleration of Crankshaft Pin: ¨R = −ω2 R
• Acceleration of Piston Pin: ¨P = lλ[( ˙γ − ω)ωcosφ + ¨γsinφ]
• Acceleration of Center of Gravity: ¨G = (1 − β) ¨R + β ¨P
Figure 1: The simple assumed geometry of the piston crankshaft system
beam theory analysis 5
φ [rad]
-8 -6 -4 -2 0 2 4 6 8
AxialForces[N]
×105
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
ΦPRa
ΦSRa
-mg
ddGa
(a) Axial Forces vs Crankshaft Angle
φ [rad]
-8 -6 -4 -2 0 2 4 6 8
TransverseForces[N]
-8000
-6000
-4000
-2000
0
2000
4000
6000
8000
ΦPRt
ΦSRt
-mg
ddGt
(b) Transverse Forces vs Crankshaft Angle
Figure 2: Results of load analysis in MATLAB.
Combining these equations with the known combustion pressure on the piston, the
equations of motion for the system have been derived by balancing the linear momentum
for the piston and the angular momentum of the connecting rod. All derivations can be
found in Appendix A.
• Force of Piston on Rod: ΦPRy = −mP
¨P − p(φ)A
• Force of Crankshaft on Rod: ΦPRx = βmG
¨Gx −
JG ¨γ−[(β−1)ΦPRy +βΦSRy ]Rx
Py −Px
To allow for a focused finite element study of the connecting rod, the inertial reference
frame is changed to a non-inertial one. The origin of this frame is at the center of mass,
G. The x-axis lies along the line connecting points of the piston and crankshaft, and
the y-axis describes the transverse direction. To accurately describe the dynamics in this
reference frame, the inertial forces must be considered. Analysis of a generic material
particle at any location relative to the new reference frame yields a body force per unit
volume, which is related to the linear acceleration of the center of gravity, its angular
acceleration, and its centripetal acceleration.
Solving these equations with the use of the MATLAB Load Analysis code found in
Appendix B yields the axial and transverse components of force on the connecting rod
shown in Figure 2. We also calculate our Yield Safety Factor to be 2.09.
4 beam theory analysis
The results of the Load Analysis yielded values for the contact force at the crankshaft pin,
contact force at the piston pin, inertial force due to motion and inertial moment due to
motion. Using beam theory, the axial stresses on the connecting rod were found with the
aid of MATLAB. The geometry of our beam was set up as a rectangular cross section with
a thickness of 12.7mm (in the z-direction) and a height of 25.4mm (in the y-direction).
beam theory analysis 6
z [m]
-0.015 -0.01 -0.005 0 0.005 0.01 0.015
y[m]
-0.01
-0.005
0
0.005
0.01
cross section
Figure 3: The cross section of our beam used for preliminary analysis
The resulting data of the axial force, transverse force, axial load and bending moment
along the beam is shown in Figure 4. These graphs were constructed with the MATLAB
Beam Analysis code found in Appendix B.
The relevant values found from this Beam Analysis are as follows:
• Maximum stress in the beam: σmax = 339MPa
• Buckling Safety Z Factor: nz−axis = 64.98
• Buckling Safety Y Factor: ny−axis = 16.25
initial design solid modeling 7
φ [rad]
-10 -5 0 5 10
AxialForces[N]
×105
-1
-0.5
0
0.5
1
ΦPRa
ΦSRa
-mg
ddGa
φ [rad]
-10 -5 0 5 10
TransverseForces[N]
-8000
-6000
-4000
-2000
0
2000
4000
6000
8000
ΦPRt
ΦSRt
-mg
ddGt
x [m]
0 0.05 0.1
AxialLoad[N]
×104
-8
-6
-4
-2
0
x [m]
0 0.05 0.1
BendingMoment[Nm]
-200
-100
0
100
200
Figure 4: Results of a MATLAB beam analysis
5 initial design solid modeling
For our preliminary design we focused on a simple solution to quickly provide two dimen-
sional finite element stress results using a plane stress assumption. Some initial design
parameters were pulled directly from physical engine constraints such as the pin sizes
and rod length from center to center of the two pin holes. For the free parameters we
first chose a standard thickness of 12.7mm and width of 25.4mm with ease of manufac-
turing in mind. The two remaining free parameters, pin hole wall thicknesses and fillet
radius were chosen mostly aesthetically. Pin hole wall thicknesses were given a dimen-
sion of half of their respective pin hole radii and fillets were chosen to be 10mm. While
it is understood that these values are not necessarily optimal, they provide a somewhat
similar design to existing connecting rods and thus will serve as a good basis for initial
design analysis. Before being put into production, these values will most likely change to
be more optimal in both strength and weight conservation.
Production of a geometric model was done via two programs. The first was done in
SolidWorks using a simple sketch and extrude method. Fillets were added on once the
rod was extruded to the desired overall shape. A 3D model of our initial design can be
seen in Figure 5. Using SolidWorks material and mass properties function, we were able
to obtain accurate moments of inertia for the design as well as the location of the center
of mass which would be used in a 2D COMSOL analysis. Initial material for the part
two-dimensional elastic finite element analysis 8
Figure 5: A model of our initial design in 3D using SolidWorks
was chosen to be AISI 4340 normalized steel because it is a proven material for existing
connecting rods. Once the physical properties of the initial design were known, this
design was also created in COMSOL using their native geometric building tools. The
COMSOL model was done to be a 2D top down view of the full 3D part as shown in
Figure 7. More information on the COMSOL design and the resulting stress simulation
can be found in the following section.
6 two-dimensional elastic finite element analysis
To compute the stress and strain distributions on the connecting rod, a 2-D Finite Element
Analysis (FEA) in COMSOL was performed. A parametric simulation of the stress as a
function of the crank angle, φ, was produced with the use of body forces and certain fixed
constraints. The pressure distribution as a function of the crank angle is demonstrated in
Figure 6, where the maximum pressure placed on the connecting rod occurs at an angle
of approximately π/10.
In this case, the crankshaft pin was fixed in the x- and y-direction to restrict any motion.
For the piston pin, rigid body rotation was avoided by setting a prescribed displacement
of zero for the pin in the y-direction. Also, an axial force of FPRa, which represents the
combustion pressure, was transmitted from the piston pin onto the connecting rod, acting
in the x- direction. Finally, a body load, defined as a force per unit volume, was placed
on the connecting rod.
two-dimensional elastic finite element analysis 9
crank angle [rad]
-6 -4 -2 0 2 4 6
combustionpressure[Pa]
×106
0
5
10
15
Figure 6: Combustion pressure as a function of the crank angle
To ensure an accurate solution for the FEA, a fine mesh was used such that the stress
concentration in the crucial areas could be visualized. The areas of concern were the fil-
leted corners and the contact edges between the connecting rods and the crankshaft/pis-
ton pin. The resulting mesh is shown in Figure 7.
The results of this study is best shown graphically, so the areas of high stress can be
visualized. Figure 8 shows the stress distribution at the end of the cycle, with the default
color scale to see where the maximum stresses occur. It is clear that regions close to the
crankshaft and piston pin are subjected to the greatest compressive stresses.
For this analysis, it is useful to compare the stress to that of the yield strength to see
if the forces on the connecting rod are going to create plastic deformation. To do this,
the color scale was set from 0 to 7.1x108 Pa, which is the yield strength for AISI 4340
normalized steel. The crank angles of concern were 0 and π/10 radians, where the
pressure on the connecting rod is at a maximum. Figure 9 shows the stresses on the
connecting rod at those crank angles. The maximum stress values at 0 and π/10 are
3.34x108 Pa and 5.98x108 Pa, respectively. This equates to a safety factor against yield
of 1.19.
two-dimensional elastic finite element analysis 10
Figure 7: The 2D mesh used for COMSOL FEA.
Figure 8: Results of a COMSOL load analysis normalized to max stress calculated.
(a) A phi state where stress is at its min. (b) A phi state where stress is at its max.
Figure 9: FEA results normalized to yield strength.
lifetime analysis 11
7 lifetime analysis
While it is very important to design against static yielding and fracture in structural com-
ponents, many components are made to last numerous years before failure is acceptable.
Because of this, lifetime analysis is an important step in the design process. Depending
on the environment and loading conditions (both mechanically and thermally) compo-
nents can fail even if they have high static factors of safety. Lifetime failure comes in
many forms including fatigue, corrosion, creep, fouling, thermal shock, and wear. Most
lifetime failure mechanisms result from physical degradation of components to non ideal
operational conditions or outright yield or fracture. Some failure mechanisms can result
in technical faults without being destructive, like unacceptable increase of friction for a
sliding sleeve valve.[4] Due to the cyclic loading nature of a connecting rod, fatigue is one
of the main concerns of the rod s lifetime. The time for one engine revolution depends
on the rpm of the engine, therefore it is easier to measure lifetime of a connecting rod in
engine cycles instead of absolute time. For the reasons stated above we focus our lifetime
analysis on fatigue in this report. Fatigue has two main approaches, S-N (damage accu-
mulation) methods or crack propagation. In the following sections we present analysis
using these two theories.
7.1 S-N Fatigue Analysis
For the S-N fatigue we adopt a numerical rainflow method for the connecting rod s load-
ing cycle. The Palmgren-Miner rule can be written as a linear damage rule:
D = Σ
ni
Ni
where D is the accumulated damage, ni is the number of cycles at stress level σi, and Ni
is the number of cycles to failure at stress level σi.[1] To calculate the fatigue life, ni, Ni,
and Si should be determined, however, the fatigue data provided in S-N curves are not
directly interchangable for real-life mechanical components. Using the rainflow method,
Si is calculated by using Soderberg criteria and its corresponding Ni can be obtained
from S-N curves.
Due to lack of data availability at higher temperatures and for the consistency among
the values, material property constants are used at room temperatures. For our numerical
fatigue analysis, the input values are based on the SN curve for 4340 steel. The strengths
of the connecting rod material are Sut = 125ksi = 861MPa, Sy = 103ksi = 710MPa.
By considering that the material should be an un-notched steel bar with 0 stress ratio,
the SN curve of 4340 steel which satisfies the conditions is shown.[5] Reliability is the
probability that machine systems and components will perform their intended function
satisfactorily without failure.[1] For our fatigue analysis, we used the 95 percent reliability
factor, which is a high reliability. In other words, based on our design, 95 percent of
connecting rods are capable of enduring the cyclic loads.
lifetime analysis 12
Figure 10: The S-N curve for 4340 steel at room temperature.[5]
From the S-N curve shown in Figure 10, the yield and endurance cycles are found
as Ny = 4x104, Ne = 2x107. These values and the Sut and Sy of the material are
used as inputs in a numerical MATLAB rainflow fatigue analysis (code for which can be
found in Appendix B). Figure 11 shows the damage accumulation of our design using
this method. The results of this analysis found our initial connecting rod design to have
infinite lifetime.
7.2 Fracture Fatigue Analysis
In a fracture approach to fatigue analysis, it is assumed that every component has cracks
which form inherently during the manufacturing process. Though the size of these cracks
may be too small to detect with modern technology, they are nonetheless present. Fatigue
fracture analysis builds off the idea that under a load cycle these cracks propagate in size
until they hit a critical crack size when fast fracture occurs. A simplified version of crack
propagation in one dimension can be done via Paris law which gives a relation between
cycles N and the crack length based on constants C and m as well as shape factor b and
alternating stress ∆σ.
dA
dN
= C∆Km ∆K = ∆σβ
√
πa
Using this simplified version of crack propagation, the crack always grows each cycle.
This means that there exists a finite number of cycles before the crack reaches a critical
length and fast fracture occurs (KI > KIC for mode one cracks). Since the finest and the
lifetime analysis 13
Figure 11: The damage accumulation over the lifetime of our connecting rod.
most precise machining and manufacturing technologies will be used for the luxury car
engine, it is assumed that the initial crack size is the smallest detectable with current tech-
nology. According to Larsen, the minimum detectable crack depth of AISI 4340 steel is
50µm by using an ultrasonic method along with split spectrum processing.[6] By investi-
gating the highest stress concentration location on the connecting rod through COMSOL,
we located a likely mode-I crack on the fillet surface between the bar and small pin sec-
tions. The Paris constants for AISI 4340 steel are C = 4.5x10−12 [m/(cycle MPa
√
m]
and m = 2.36.[7] For our numerical analysis, C should be converted into SI units. By mul-
tiplying the conversion factor 10−6m, C becomes 4.5x10−12−6m [m/(cycle Pa
√
m].
The critical stress intensity factor, KIC, for 4340 Steel is 99MPa
√
m.[1]
According to City Speed for Los Angeles [8], the average driving speed in LA is 26.8
mph with standard deviation of 8.8 mph. Since the engine we chose is for the 2012 Ferrari
458 Italia, one of the fastest cars, we assumed that the average driving speed of the car is
44.4 mph, which is two standard deviations above the average so that the car s average
driving speed is within the top 2.1 percent range in LA. The relationship between engine
rpm and car speed is approximately given as
V =
DF
336R
where V is the velocity in mph, D the tire diameter in inches, F the engine rpm, and
R the gear ratio.[9] Based on the relationship, we assume that the Ferrari drives at 44.4
mph in 5th gear at 3000 rpm. The Ferrari has a 5th gear ratio of 1.03 with a final drive
axle ratio of 5.14. The front tire size is 235/35R20 which corresponds to 26.5 inches for
lifetime analysis 14
Figure 12: Possible initial crack locations allowed in our fatigue fracture study.
the tire diameter.[10] We use the front tire size because the engine rotates front wheels to
drive the car. The maximum number of miles driven by the car is assumed to be 300,000
miles and the maximum number of load cycles N can be derived from the relationship
between engine and wheel rpm along with transmission ratio. Note that a single load
cycle is equal to two engine cycles. Wheel revolution can be derived by dividing engine
crankshaft revolution by transmission ratio, which is the product of the gear ratio and
the final drive axle ratio. Therefore we conclude that 6.04x108 load cycles would be
considered infinite lifetime.
Ninf =
Distance Car Driven
T ire Circumference
x
T ransmission Ratio
2
Ninf = 300, 000miles x
63360 in
mile
x
1 wheel revolution
26.5π in
x
1.03x5.14
2
Ninf = 6.04x108
A MATLAB script (included in the Appendix B) was implemented to numerically solve
for the cycles to failure using fatigue fracture in mode one. It was designed to assume
the worst case scenario. Due to the greatest tensile stresses occurring in the middle bar
region of the connecting rod, the script only focused on that region and assumed that
cracks propagated only normal to the top and bottom surface of the connecting rod as
shown in Figure 12. After finding the point of highest edge stress from our 2D COMSOL
analysis and checking for fast fracture in the first cycle, the script uses Paris law to
propagate the crack for each subsequent cycle. During each cycle the script checks for fast
design optimization 15
Figure 13: Crack propagation as a function of loading cycles N.
fracture before propagating the crack. In order to obtain the most realistic results possible,
the maximum stress (σmax) used for ∆K in Paris law as well as in the fast fracture
check (KI > KIC) was the 2D COMSOL results for σx averaged over the crack length at
the crack surface. Because only tensile forces cause crack opening, the minimum stress
(σmin) was assumed to be zero. Beta was also resolved each cycle based on the current
crack length. Using this script a lifetime of 14032 cycles was found. Figure 13 shows
a plot of the crack size vs cycles for our initial design. While this number is far below
what we calculated to be infinite lifetime, we can attribute this to the many simplified
assumptions our method introduced. In reality the crack heals itself under compression
each cycle. Also, crack propagation is not a 2D phenomenon. Real cracks have a depth
dimension along side the length and can propagate in any direction. Additionally, they
are subject to multiple crack opening modes at any one time. Paris law, while a good
starting tool is not great for accurate results in complicated geometries. Due to the scope
of this project we will not be focusing on refining our code to reflect more realistic crack
propagation but instead look for increased cycles to failure with each design optimization
iteration.
8 design optimization
In order to find an optimal design we iterated through two more 2D designs before mov-
ing onto a 3D one. Each time the design was changed, a new run of 2D FEA and lifetime
analysis was performed. The first design iteration changed the shape profile of the con-
design optimization 16
(a) The profile of our first design iteration. Thick-
ness into the page for this design is 0.5 inches.
(b) The profile of our second design iteration.
Thickness into the page for this design is 1
inches.
Figure 14: The profiles of our two design iterations.
necting rod while maintaining its original thickness of 0.5 inches. We increased the width
of the middle beam section while decreasing the thickness of the material surrounding
the crank shaft and piston pin. This was done in an attempt to increase its fatigue fracture
lifetime while not drastically increasing material use as shown in Figure 14a and Figure
15. While this produced more cycles to failure, COMSOL results still showed contact
stress still being very close to the yield strength as well as a drastically increased amount
of elastic deformation in each cycle. Another design iteration (shown in Figure Figure
14b and Figure 16) was performed keeping the shape profile the same but increasing the
beam thickness as well as the thickness of the material around crankshaft. This change
produced a more favorable safety factor against yield as well as increased cycles to failure.
The third design’s increased strength results and 1 inch thick contact areas were satisfac-
tory enough to allow us to move onto 3D analysis while feeling confident about removing
material to turn the connecting rod into an I-beam. The results of our design iterations
are produced in the table below.
Design One Design Two Design Three
Maximum Von Mises Stress (σ ) 5.98x108 Pa 5.44x108 Pa 2.71x108 Pa
Yield Safety Factor (ny) 1.19 1.31 2.62
S-N Lifetime Infinite Infinite Infinite
Fatigue Fracture Lifetime ny 14032 cycles 14578 cycles 19300 cycles
design optimization 17
Figure 15: 2D FEA results of our first design iteration. Thickness into the page for this design is
0.5 inches.
Figure 16: 2D FEA results of our second design iteration. Thickness into the page for this design
is 1 inch.
three-dimensional solid model 18
9 three-dimensional solid model
With the satisfactory results from our third redesign we began our move to 3D using the
2D profile of Design Three shown in Figure 14b. Modeling was done in SolidWorks and
continued to use AISI 4340 normalized steel as the material of choice due to its properties
and availability. Because 2D FEA simulations showed low stress in the beam portion
of the connecting rod even at the thinner thickness of 0.5 inches, we chose to use that
as the nominal thickness in our bar. However, in order to keep our advantage against
yield due to contact stresses at the piston pin, we kept the thickness of that area at 1
inch as simulated in Design Three of our 2D analysis. With this overall shape we added
Figure 17: Our first detailed 3D solid model design.
wings for the later addition of crankshaft bolts as well as numerous fillets to reduce stress
concentrations at design corners and edges. Material was also cut out on both sides of
the beam portion to reduce weight. This cutout also changed the rod’s cross-section to
that of an I-beam. The completed 3D model of our connecting rod can be seen in Figure
17.
10 three-dimensional elastic finite element analysis
The 3-D model created in SolidWorks was imported into ABAQUS to perform a Finite
Element Analysis on our fully designed connecting rod. Simulation was done for the
most critical crankshaft angle π/10 radians, which was found determined from the re-
sults of our 2D COMSOL FEA. By applying the axial and transverse body forces on the
connecting rod and the corresponding compressive force from the Piston pin, the stress
concentrations at every node of our 3-D model was found. This was done to determine
three-dimensional elastic finite element analysis 19
Figure 18: Abaqus results for our first 3D design.
which areas were developing the greatest stresses and whether the connecting rod would
yield under the stress. During the first run the nominal thickness of the bar was 0.5
inches with the pin contact areas having increased thickness of 1 inch as per our design
presented in the previous section. The maximum stress was found to be on the fillet of
the I-beam cutout closest to the Piston Pin, shown in Figure 18. The maximum Von Mises
stress was 4.76 MPa. When compared to the yield strength of Forged 4340 Steel, this gave
a safety factor of 1.49. This value was too low to safely implement into a car, so one itera-
tion of the 3D design was performed to increase nominal thickness of the rod increasing
it to 1 inch and the thickness of the connecting pin areas to 1.5 inch. Some alterations
of the fillets were also performed and the differences between the two 3D designs can be
seen in figure 19. Although this increases the amount of material required to manufacture
the connecting rod, which corresponds to an increase in the cost of the part, this design
alteration was necessary to ensure that yielding does not occur during a single loading
cycle. With a thicker connecting rod, the maximum stress was calculated to be 3.61 MPa,
giving a safety factor of 1.97. The safety factor for the second design is significantly more
conservative so it was selected as our final design. The stress state of the second and final
connecting rod is shown in Figure 20. Engineering drawings and a render of our final
design can be found in Appendix C.
three-dimensional elastic finite element analysis 20
Figure 19: A comparison of our two 3D designs.
Figure 20: Abaqus results for our second and final 3D design.
discussion & conclusions 21
11 discussion & conclusions
Though it took several iterations at different points, we believe the final design of our
connecting rod is acceptable for further deeper analysis and/or prototyping. Overall,
we encountered favorable results in beam bending simulations and 2D FEA plane stress
analysis. In the analytical analysis, our design produced large safety factors for buckling
(ny−axis = 16.25 and nz−axis = 64.98). With some design changes we were also able to
reach a safety factor of 2.62 for yield in a 2D plane stress simulation.
In the S-N lifetime analysis, we achieved favorable infinite life results but had to use
fatigue data and all other material property values at room temperature due to the lack
of availability of data at engine operation temperatures. The normal car engine operating
temperature is between 195 F and 220 F, which is around 95 C[11]. As temperature affects
the strength of material, there must be an error in the analysis. However, around this tem-
perature, the ratio of tensile strength at operating temperature and at room temperature
for steel is 1.020.[1] The actual material strength at the engine operating temperature is
higher than at room temperature. By using the room temperature values, our analysis
corresponds to a worst case scenario. This means that we can safely say infinite life for
S-N fatigue analysis will hold at true engine temperatures.
Although overall our fatigue fracture lifetime was small in comparison to the expected
level for infinite lifetime, this was mainly due to the use of simplified crack propagation
techniques. We were however able to increase our cycles to failure significantly which
attests to the success of our design iterations. Finally, in the 3D analysis we similarly
produced satisfactory results to the 2D case after some small design tweaking.
The promising results from our analysis for a Ferrari F136 F engine connecting rod
supports moving forward with more refined 3D analysis and/or prototyping. While there
were initial issues with high contact forces and yielding, our final design was calculated
to not fail under the operative axial or radial forces. Using these results we might wish
to continue on with a rigorous cost and weight analysis to provide a satisfactory final
product for both the consumer and the manufacturer.
12 appendix a - derivations
appendix a - derivations 22
Figure 21: Kinematic equation derivations
appendix a - derivations 23
Figure 22: Dynamic equation derivations
appendix b - matlab code 24
13 appendix b - matlab code
13.1 Load Analysis
1 % MAE 296A Project, Fall 2015
2 % Load_Analysis
3 clc
4 clear
5 close all
6 disp('Load Analysis')
7
8
9 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10 % Engine Parameters (choose you own values) - Ferrari F136F Engine Used in
11 % Ferrari 458 italia GT3 2011-2013
12 omega=6000; % Engine angular speed [rpm]
13 T=540; % Engine Torque at omega=6000 [Nm]
14 V=0.004499; % Engine total dispacement [m^3]
15 n=8; % Number of cylinders
16 r=0.0405; % half stroke length [m]
17 l=0.144; % connectin rod length [m]
18
19 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20 % Mass Properties (input your own values. Values will be refined when you ...
have your solid model)
21 mp=0.4; % piston mass [kg]
22 mg=0.55764; % connecting rod mass [kg]
23 beta=0.3250; % ralative position of G [-] beta= where ...
beta=((l/2)-(Solidworks CoM))/l is center to center legnth of holes ...
(l=144m)
24 J=0.0018907464; % moment of inertia [Kg*m^2] Lyy from solidworks
25
26 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27 % Automatically generated values (do not edit)
28 rpm2rads=2*pi/60; % conversion factor rpm to rad/s [rad/s/rpm]
29 omega=omega*rpm2rads; % Engine angular speed [rad/s]
30 Vc=V/n; % cylinder volume [m^3]
31 A=Vc/(2*r); % piston surface area [m^2]
32 lambda=r/l; % lambda ratio [-]
33 mep=4*pi*T/V; % mean effective pressure [Pa]
34 eta=0.8; % engine mechanical efficiency [-]
35 mip=mep/eta; % mean indicated pressure [Pa]
36
37 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38 % load the combustion data (do not edit)
39 %load combustion_pressure
40 load cp_downsampled_v6
41
42 pressure=pressure*mip; % rescale presure based on engine parameters
43 figure(1)
appendix b - matlab code 25
44 plot(phi,pressure,'Linewidth',2)
45 xlim([-2*pi 2*pi])
46 grid on
47 xlabel('crank angle [rad]')
48 ylabel('combustion pressure [Pa]')
49 set(gcf , ...
50 'Color' , 'w' );
51 set(gca, ...
52 'FontName' , 'Helvetica' , ...
53 'Box' , 'off' , ...
54 'TickDir' , 'out' , ...
55 'TickLength' , [.02 .02] , ...
56 'XMinorTick' , 'on' , ...
57 'YMinorTick' , 'on' , ...
58 'XGrid' , 'on' , ...
59 'YGrid' , 'on' , ...
60 'XColor' , [.15 .15 .15] , ...
61 'YColor' , [.15 .15 .15] , ...
62 'LineWidth' , 1 );
63
64 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
65 % Calculate Inertial Components (complete here - done 10/9)
66 dgamma=-lambda*cos(phi)*omega./ ...
67 sqrt((1-lambda^2*sin(phi).^2));% first time derivative of gamma
68 ddgamma=(1-lambda^2)*lambda*sin(phi)*omega^2./ ...
69 (1-lambda^2*sin(phi).^2).^(3/2);% first time derivative of gamma
70 R=r*[-sin(phi) cos(phi)]; % position of R
71 P=l*[zeros(length(phi),1) lambda*cos(phi)+sqrt(1-lambda^2*sin(phi).^2)]; ...
% position of P
72 G=R+beta*(P-R); % position of G
73 ddR=-(omega^2)*(R); % acceleration of R
74 ddP=l*lambda*[zeros(length(phi),1) ...
cos(phi).*(dgamma-omega)*omega+sin(phi).*ddgamma]; % acceleration of P
75 ddG=(1-beta)*ddR+beta*ddP; %(My edit)
76 % acceleration of G
77
78 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79 % Calculate Contact Forces (complete here - done 10/9)
80 FPRy=-mp*ddP(:,2)-pressure*A;
81 FSRy=mg*ddG(:,2)-FPRy; %my Edit
82 FPRx=beta*mg*ddG(:,1)-(J*ddgamma-((beta-1)*FPRy+beta*FSRy) ...
83 .*R(:,1))./(P(:,2)-R(:,2));
84 FSRx=mg*ddG(:,1)-FPRx; %my Edit
85
86 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
87 % Store forces in vector form for easier manipulation (do not edit)
88 FPR=[FPRx FPRy];
89 FSR=[FSRx FSRy];
90
91 %cross2Dv(FSR,G-R)+cross2Dv(FPR,G-P)-J*ddgamma
92 %return
93
94 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
appendix b - matlab code 26
95 % Find the axial components of forces (complete here - not edited 10/9)
96 a=1/l*(P-R); % axial unit vector
97 FPRa=dot2Dv(a,FPR);
98 FSRa=dot2Dv(a,FSR);
99 ddGa=dot2Dv(a,ddG);
100
101 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102 % Find the transverse components of forces (complete here - not edited 10/9)
103 t=[-a(:,2) a(:,1)]; % unit vector along the trasverse direction
104 FPRt=dot2Dv(t,FPR);
105 FSRt=dot2Dv(t,FSR);
106 ddGt=dot2Dv(t,ddG);
107
108 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
109 % Store forces in vector form in the axial-transverse
110 % reference system (do not edit)
111 FPRat=[FPRa FPRt];
112 FSRat=[FSRa FSRt];
113 ddGat=[ddGa ddGt];
114
115 Gat=[ones(length(phi),1) zeros(length(phi),1)]*beta*l;
116 Rat=[zeros(length(phi),1) zeros(length(phi),1)];
117 Pat=[ones(length(phi),1) zeros(length(phi),1)]*l;
118 %cross2Dv(FSRat,Gat-Rat)+cross2Dv(FPRat,Gat-Pat)-J*ddgamma
119 %FPRat+FSRat-mg*ddGat
120 %return
121
122 figure(2)
123 plot(phi,FPRa,'r','Linewidth',2)
124 hold on
125 plot(phi,FSRa,'b','Linewidth',2)
126 plot(phi,-mg*ddGa,'k','Linewidth',2)
127 legend(texlabel('Phi_{PRa}'),texlabel('Phi_{SRa}'),texlabel('-m_g ddGa'))
128 grid on
129 xlabel([texlabel('phi ') '[rad]'])
130 ylabel([texlabel('Axial Forces ') '[N]'])
131 print(gcf, '-depsc', 'axial')
132 set(gcf , ...
133 'Color' , 'w' );
134 set(gca, ...
135 'FontName' , 'Helvetica' , ...
136 'Box' , 'off' , ...
137 'TickDir' , 'out' , ...
138 'TickLength' , [.02 .02] , ...
139 'XMinorTick' , 'on' , ...
140 'YMinorTick' , 'on' , ...
141 'XGrid' , 'on' , ...
142 'YGrid' , 'on' , ...
143 'XColor' , [.15 .15 .15] , ...
144 'YColor' , [.15 .15 .15] , ...
145 'LineWidth' , 1 );
146
147 figure(3)
appendix b - matlab code 27
148 plot(phi,FPRt,'r','Linewidth',2)
149 hold on
150 plot(phi,FSRt,'b','Linewidth',2)
151 plot(phi,-mg*ddGt,'k','Linewidth',2)
152 legend(texlabel('Phi_{PRt}'),texlabel('Phi_{SRt}'),texlabel('-m_g ddGt'))
153 grid on
154 xlabel([texlabel('phi ') '[rad]'])
155 ylabel([texlabel('Transverse Forces ') '[N]'])
156 print(gcf, '-depsc', 'transverse')
157 set(gcf , ...
158 'Color' , 'w' );
159 set(gca, ...
160 'FontName' , 'Helvetica' , ...
161 'Box' , 'off' , ...
162 'TickDir' , 'out' , ...
163 'TickLength' , [.02 .02] , ...
164 'XMinorTick' , 'on' , ...
165 'YMinorTick' , 'on' , ...
166 'XGrid' , 'on' , ...
167 'YGrid' , 'on' , ...
168 'XColor' , [.15 .15 .15] , ...
169 'YColor' , [.15 .15 .15] , ...
170 'LineWidth' , 1 );
171
172 error_axial=max(abs(FPRa+FSRa-mg*ddGa))
173 error_transverse=max(abs(FPRt+FSRt-mg*ddGt))
174
175 disp('Done')
appendix b - matlab code 28
13.2 Beam Analysis
1 % MAE 296A Project
2 % Beam_Analysis 1
3 disp('Beam Analysis 1')
4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 % Bending moment diagram
7 Mx=[zeros(length(phi),1) -FSRt*beta*l -FSRt*beta*l-J*ddgamma ...
zeros(length(phi),1)];
8 Mmax=max(max(Mx)); % maximum of bending moment over x and phi
9 Mmin=min(min(Mx)); % minimum of bending moment over x and phi
10 % Axial load diagram
11 Px=[-FSRa -FSRa FPRa FPRa];
12 Pmax=max(max(Px)); % maximum of axial load over x and phi
13 Pmin=min(min(Px)); % minimum of axial load over x and phi
14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16 % Movie
17 figure(4)
18 clf
19 subplot(2,2,1)
20 plot(phi,FPRa,'r','Linewidth',2)
21 hold on
22 plot(phi,FSRa,'b','Linewidth',2)
23 plot(phi,-mg*ddGa,'k','Linewidth',2)
24 legend(texlabel('Phi_{PRa}'),texlabel('Phi_{SRa}'),texlabel('-m_g ddGa'))
25 grid on
26 xlabel([texlabel('phi ') '[rad]'])
27 ylabel([texlabel('Axial Forces ') '[N]'])
28 v1=axis;
29
30 subplot(2,2,3)
31 plot(phi,FPRt,'r','Linewidth',2)
32 hold on
33 plot(phi,FSRt,'b','Linewidth',2)
34 plot(phi,-mg*ddGt,'k','Linewidth',2)
35 legend(texlabel('Phi_{PRt}'),texlabel('Phi_{SRt}'),texlabel('-m_g ddGt'))
36 grid on
37 xlabel([texlabel('phi ') '[rad]'])
38 ylabel([texlabel('Transverse Forces ') '[N]'])
39 v3=axis;
40
41 subplot(2,2,2)
42 xlabel('x [m]')
43 ylabel('Axial Load [N]')
44
45 subplot(2,2,4)
46 xlabel('x [m]')
47 ylabel('Bending Moment [Nm]')
48 set(gcf , ...
appendix b - matlab code 29
49 'Color' , 'w' );
50
51 for kk=1:length(phi)
52 subplot(2,2,1)
53 p1=plot([phi(kk) phi(kk)],[v1(3) v1(4)],'m','Linewidth',2);
54
55 set(gca, ...
56 'FontName' , 'Helvetica' , ...
57 'Box' , 'off' , ...
58 'TickDir' , 'out' , ...
59 'TickLength' , [.02 .02] , ...
60 'XMinorTick' , 'on' , ...
61 'YMinorTick' , 'on' , ...
62 'XGrid' , 'on' , ...
63 'YGrid' , 'on' , ...
64 'XColor' , [.15 .15 .15] , ...
65 'YColor' , [.15 .15 .15] , ...
66 'LineWidth' , 1 );
67
68 subplot(2,2,3)
69 p2=plot([phi(kk) phi(kk)],[v3(3) v3(4)],'m','Linewidth',2);
70
71 set(gca, ...
72 'FontName' , 'Helvetica' , ...
73 'Box' , 'off' , ...
74 'TickDir' , 'out' , ...
75 'TickLength' , [.02 .02] , ...
76 'XMinorTick' , 'on' , ...
77 'YMinorTick' , 'on' , ...
78 'XGrid' , 'on' , ...
79 'YGrid' , 'on' , ...
80 'XColor' , [.15 .15 .15] , ...
81 'YColor' , [.15 .15 .15] , ...
82 'LineWidth' , 1 );
83
84 subplot(2,2,4)
85 hold on
86 p3=plot([0 beta*l beta*l l]', Mx(kk,:),'Linewidth',2);
87 grid on
88 axis([0 l Mmin Mmax])
89
90 set(gca, ...
91 'FontName' , 'Helvetica' , ...
92 'Box' , 'off' , ...
93 'TickDir' , 'out' , ...
94 'TickLength' , [.02 .02] , ...
95 'XMinorTick' , 'on' , ...
96 'YMinorTick' , 'on' , ...
97 'XGrid' , 'on' , ...
98 'YGrid' , 'on' , ...
99 'XColor' , [.15 .15 .15] , ...
100 'YColor' , [.15 .15 .15] , ...
101 'LineWidth' , 1 );
appendix b - matlab code 30
102
103 subplot(2,2,2)
104 hold on
105 p4=plot([0 beta*l beta*l l]', Px(kk,:),'Linewidth',2);
106 grid on
107 axis([0 l Pmin Pmax])
108
109 set(gca, ...
110 'FontName' , 'Helvetica' , ...
111 'Box' , 'off' , ...
112 'TickDir' , 'out' , ...
113 'TickLength' , [.02 .02] , ...
114 'XMinorTick' , 'on' , ...
115 'YMinorTick' , 'on' , ...
116 'XGrid' , 'on' , ...
117 'YGrid' , 'on' , ...
118 'XColor' , [.15 .15 .15] , ...
119 'YColor' , [.15 .15 .15] , ...
120 'LineWidth' , 1 );
121
122 drawnow
123 if kk=length(phi)
124 delete(p1)
125 delete(p2)
126 delete(p3)
127 delete(p4)
128 end
129 end
130 disp('Done')
131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1 % MAE 296A Project
2 % Beam_Analysis 2
3 disp('Beam Analysis 2')
4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 % Material properties (complete here - Edited 10/9)
7 E=2.05e11; % Young modulus (in Pa)
8 sy=710e6; % yield strength (in Pa)
9
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 % Geometric properties (complete here - Edited 10/9)
12 h=0.0254; % heigth of the beam (in m)
13 b=0.0127; % tickness of the beam (in m)
14 Ax=b*h; % cross section area
15 Iz=b*h^3/12; % moment of inertia with respect to the z axis
16 Iy=h*b^3/12; % moment of inertia with respect to the y axis
17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18 % The maximum axial stress over x and y is
19 Smax=abs(Px)/Ax+abs(Mx)*h/(2*Iz); % axial stress as a function ...
of x and phi
appendix b - matlab code 31
20 smax=max(max(Smax)); % maximum axial stress in the ...
beam
21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22 % Check for elastic yield (do not edit)
23 yield_safety_facor=sy/smax
24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 % Check for buckling using Iz (do not edit)
26 Pcr_z=pi*2*E*Iz/l^2
27 buckling_z_safety_facor=Pcr_z/max(max(Px))
28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29 % Check for buckling using Iy (do not edit)
30 Pcr_y=pi*2*E*Iy/l^2
31 buckling_y_safety_facor=Pcr_y/max(max(Px))
32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
33 % plot the cross section (do not edit)
34 figure(5)
35 clf
36 plot([-b/2 b/2 b/2 -b/2 -b/2],[-h/2 -h/2 h/2 h/2 -h/2],'Linewidth',2)
37 hold on
38 plot(1.1*[-b b]/2,[0 0],'-.k')
39 plot([0 0],1.1*[-h h]/2,'-.k')
40 axis equal
41 xlabel(['z [m]'])
42 ylabel(['y [m]'])
43 title('cross section')
44 disp('Done')
45 set(gcf , ...
46 'Color' , 'w' );
47 set(gca, ...
48 'FontName' , 'Helvetica' , ...
49 'Box' , 'off' , ...
50 'TickDir' , 'out' , ...
51 'TickLength' , [.02 .02] , ...
52 'XMinorTick' , 'on' , ...
53 'YMinorTick' , 'on' , ...
54 'XGrid' , 'on' , ...
55 'YGrid' , 'on' , ...
56 'XColor' , [.15 .15 .15] , ...
57 'YColor' , [.15 .15 .15] , ...
58 'LineWidth' , 1 );
appendix b - matlab code 32
13.3 S-N Fatigue Analysis
1 %Fatigue Analysis using Rainflow counting method
2 clc
3 clear
4 sigmax = importdata('sigmaxSimple3.txt');
5 sigmay = importdata('sigmaySimple3.txt');
6 sigmaxy = importdata('sigmaxySimple3.txt');
7
8
9 %*********Input values************************************************
10 Sy = 71e7; %yield strength
11 Ny = 4e4; %yield cycles
12 Sut = 86.1e7; %ultimate strength
13 Se = modified_endurance_limit(Sut); % endurance stress limit
14 Ne = 2e7; % endurance cycles
15
16 % Sy ---^--------
17 % |
18 % | 
19 % | 
20 % Se ---+---+-----
21 % | |
22 % +---------> N
23 % Ny Ne
24 %*********************************************************************
25
26 %**** Inputing Stresses (x, y, xy)************************************
27 sx = sigmax; %[node,cycle]
28 sy = sigmay; %[node,cycle]
29 sxy = sigmaxy; %[node,cycle]
30
31 allstress = zeros(3,size(sx,2)-2,size(sx,1));
32 % store the stress components in a 3-dimensional array [component, ...
cycle,node]
33
34 for f=1:size(sx,1) %loop through nodes
35 allstress(1,:,f)=sx(f,3:end);
36 end
37 for f2=1:size(sy,1) %loop through nodes
38 allstress(2,:,f2)=sy(f2,3:end);
39 end
40 for f3=1:size(sxy,1) %loop through nodes
41 allstress(3,:,f3)=sxy(f3,3:end);
42 end
43 %*****************************************************************
44
45 %*****************Principle Stresses (sigma 1 and 2)**********************
46 %Transform the stress state at each state into principle stresses
47 %Because the stress state is two-dimensional, we can use Mohr's circle ...
equations
appendix b - matlab code 33
48
49 principlestress = zeros(2,size(allstress,2),size(allstress,3));
50 % store the stress components in a 3-dimensional array [principle ...
component, cycle, node]
51
52 for u1=1:size(principlestress,3) %loop through nodes
53 for u2=1:size(principlestress,2) %loop through cycle
54 sigma_x = allstress(1,u2,u1);
55 sigma_y = allstress(2,u2,u1);
56 sigma_xy = allstress(3,u2,u1);
57
58 sigma_1 = 0.5*(sigma_x + sigma_y) + sqrt( (0.5*(sigma_x - ...
sigma_y))^2 + sigma_xy^2 );
59 sigma_2 = 0.5*(sigma_x + sigma_y) - sqrt( (0.5*(sigma_x - ...
sigma_y))^2 + sigma_xy^2 );
60
61 principlestress(1,u2,u1) = sigma_1;
62 principlestress(2,u2,u1) = sigma_2;
63 end
64 end
65 %*****************************************************************
66
67 %*****************Damage Analysis*****************************************
68 oneNodeStresses = zeros(size(principlestress,2), 1); % [cycle]
69 Dc_damage = zeros(size(principlestress,3), 1); % [node]
70
71 for ii=1:1:size(principlestress,3) %loop through nodes
72
73 Both_Dc_damage = 0;
74 for kk=1:1:size(principlestress,1) %loop through components
75
76 for gg=1:1:size(principlestress,2) %loop through cycles
77 oneNodeStresses(gg,1) = principlestress(kk,gg,ii);
78 end
79 [maxstress, minstress, meanstress, alternatingstress] = ...
rainflow_counter(oneNodeStresses);
80
81 Dc = 0;
82 for pp=1:1:size(meanstress,1) %loop through peaks
83
84 sigma_m = meanstress(pp,1);
85 sigma_a = alternatingstress(pp,1);
86
87 %**** Soderberg criteria ******
88 Si = sigma_a/(1-(sigma_m/Sy));
89 %*******************************
90
91 %**** From S-N curve ***********
92 m =(Sy-Si)/(Sy-Se);
93 Ni = Ny*(Ne/Ny)^m;
94
95 if (Si Se)
96 Ni = inf;
appendix b - matlab code 34
97 end
98 if (Si Sy)
99 Ni = Ny;
100 end
101
102 %*******************************
103
104 %**** Palgren-Miner ***********
105 n_i = 0.5;
106 Di = n_i/Ni;
107 Dc = Dc + Di;
108
109 %*******************************
110 end %end of loop through peaks
111
112 Both_Dc_damage = Both_Dc_damage + Dc;
113
114 end %end of loop through components
115
116 Dc_damage(ii) = Both_Dc_damage;
117
118 end %end of loop through nodes
119
120 Nt = 1/max(max(Dc_damage))
121
122 %*************************************************************************
123
124 %*****************Plotting Damage*****************************************
125 figure(1)
126 scatter3(sx(:,1),sx(:,2),zeros(size(sx(:,1))),20,Dc_damage(:,1),'filled')
127 axis equal
128 view(0,90)
129 grid off
130 colorbar
131 title('Single Cycle Damage Parameter: Dc')
132 xlabel('X Coordinate [m]')
133 ylabel('Y Coordinate [m]')
134 %*************************************************************************
1 function [Se_mod] = modified_endurance_limit( Sut )
2
3 %****** Calculate modified endurance limit************
4
5 %********** Average Endurance Limit **********************
6 if (Sut 1400e6) %1400 MPa
7 Se = 0.5*Sut;
8 end
9 if (Sut > 1400e6) %1400 MPa
10 Se = 700e6; %700 MPa
11 end
12
appendix b - matlab code 35
13 %****************** Surface Factor, ka ************************
14
15 % Surface Finish | a | b |
16 % --------------------------------------------------
17 % Ground | 1.58 | -0.085 |
18 % Machined or cold-drawn | 4.51 | -0.265 |
19 % Hot-rolled | 57.7 | -0.718 |
20 % As-forged | 272.0 | -0.995 |
21
22 %Assuming machined surface finish, but you can modify the code for
23 %another choose
24
25 a = 4.51;
26 b = -0.265;
27
28 ka = a*(Sut/1e6)^b; %Sut is in Pa and ka = a*Sut^b uses Sut in MPa
29 %so 1e6 modification used.
30
31 %****************** Size Factor, kb ************************
32
33 %Axial loading causes the most fatigue damage.
34 %Therefore, the size factor will be based on axial loading.
35 %Axial loading has no size effect, so kb = 1;
36
37 kb = 1;
38
39 %****************** Loading Factor, kc ************************
40
41 % { 1 bending
42 % kc = { 0.85 axial
43 % { 0.59 pure torsion
44
45 %Axial loading is assumed to dominate.
46
47 kc = 0.85;
48
49 %****************** Temperature Factor, kd ************************
50
51 %This value can be modified for your engine temperature
52 Tf = 90; % degrees F where 70 Tf 1000
53
54 kd = ...
0.975+((0.432e-3)*Tf)-((0.115e-5)*Tf^2)+((0.104e-8)*Tf^3)-((0.595e-12)*Tf^4);
55
56 %****************** Reliability Factor, ke ************************
57
58 %This is statistical data for endurance strength
59
60 %Column 1: Reliability (%)
61 %Column 2: Reliability Factor
62 reliability_table = [50 1.0;
63 90 0.897;
64 95 0.868;
appendix b - matlab code 36
65 99 0.814;
66 99.9 0.753;
67 99.99 0.702;
68 99.999 0.659;
69 99.9999 0.620 ];
70
71
72 ke = reliability_table(3,2); %Using 95% reliability.
73 %You can choose your reliability percent
74
75 %********** Modified Endurance Limit **********************
76
77 Se_mod = ka*kb*kc*kd*ke*Se;
78
79 end
1 function [maxstress, minstress, meanstress, alternatingstress] = ...
rainflow_counter( stress )
2 % stress, maxstress, and minstress are column vectors.
3 %*******************************************************************
4 %Finding all of the min and max values (peaks) for rainflow counting
5 slope = 0;
6 old_slope = 0;
7 actual_start_stress = 0;
8 i = 1;
9 count = 1;
10 actual_stress = [0];
11 temp = [0];
12 first_peak = 0; %if = 1 first peak is a max
13 %if = -1 first peak is a min
14
15 %****For the first value to establish the first old_slope*****
16 p = 0;
17 while p < size(stress, 1)
18 start1_stress = stress(size(stress, 1)-p,1);
19 next1_stress = stress(1,1);
20 if (start1_stress = next1_stress)
21
22 if (start1_stress > next1_stress)
23 old_slope = -1;
24 p = size(stress, 1) + 1;
25 end
26 if (start1_stress < next1_stress)
27 old_slope = 1;
28 p = size(stress, 1) + 1;
29 end
30 end
31 p = p + 1;
32 %*******************************************************
33 end
34
appendix b - matlab code 37
35 while i < size(stress, 1) %size: 1 = row, 2 = column
36 start_stress = stress(i,1);
37 next_stress = stress(i+1,1);
38 if (start_stress = next_stress)
39 if (start_stress > next_stress)
40 slope = -1;
41 end
42 if (start_stress < next_stress)
43 slope = 1;
44 end
45 if (old_slope = 0)
46 if (old_slope = slope)
47 %*******Found a peak or valley*************
48 for x=1:1:size(actual_stress, 1)
49 temp(x,1)= actual_stress(x,1);
50 end
51 actual_stress = zeros(count, 1);
52 for y=1:1:size(temp, 1)
53 actual_stress(y,1)= temp(y,1);
54 end
55 actual_stress(count,1) = start_stress;
56 count = count + 1;
57 temp = zeros(count, 1);
58
59 if (first_peak == 0)
60 if (slope == -1)%peak/maximum
61 first_peak = 1;
62 end
63 if (slope == 1) %valley/minimum
64 first_peak = -1;
65 end
66 end
67 end
68 %****************************************
69 end
70 end
71 old_slope = slope;
72 i = i+1;
73 end
74 %*******************************************************************
75 %Adds the first peak value to 'actual_stress' as the last peak value
76 for t=1:1:size(actual_stress, 1)
77 temp(t,1)= actual_stress(t,1);
78 end
79 actual_stress = zeros(count, 1);
80 for g=1:1:size(temp, 1)
81 actual_stress(g,1)= temp(g,1);
82 end
83 actual_stress(count,1) = actual_stress(1,1);
84 %*******************************************************************
85
86 %**************************Rule 1, 2, and 3***************************
87 minstress = zeros((size(actual_stress, 1)-1),1);
appendix b - matlab code 38
88 maxstress = zeros((size(actual_stress, 1)-1),1);
89 meanstress = zeros((size(actual_stress, 1)-1),1);
90 alternatingstress = zeros((size(actual_stress, 1)-1),1);
91
92 ender = -1;
93 stressmarkers = zeros(size(actual_stress, 1),5);
94 %1: beginning value; values of -1 mean the marker is empty
95 %2: stop value
96 %3: stress value for top rainflow marker
97 %4: stress value for bottom rainflow marker
98 %5: 1 = top marker or 2 = bottom marker
99 for a=1:1:size(stressmarkers, 1)
100 stressmarkers(a,1) = -1;
101 end % setting all stress markers to empty
102 stressmarkercount = 1;
103 stoppedbymarker = 0;
104 for k=1:1:(size(actual_stress, 1)-1) %loop through all peaks and valleys
105 maxvalue = actual_stress(k,1);
106 nextmarker = 0;
107 %***loop through to find next highest peak or lowest valley*****
108 j = k;
109 while (j size(actual_stress, 1) )
110 if (first_peak == 1)
111 if (maxvalue < actual_stress(j,1))
112 ender = j;
113 j = size(actual_stress, 1)+1;
114 end
115 end
116 if (first_peak == -1)
117 if (maxvalue > actual_stress(j,1))
118 ender = j;
119 j = size(actual_stress, 1)+1;
120 end
121 end
122 j = j + 2;
123 end
124 if (ender == -1)
125 ender = size(actual_stress, 1);
126 end
127 %*************************************************************
128
129 %***loop through to find next highest peak or lowest valley*****
130 %For the opposition (peak or valley)
131 maxopposite = actual_stress(k+1,1);
132 L = k+1;
133 while (L ender)
134 if (first_peak == 1)
135 %*********Looping through markers**************
136 b = 1;
137 while (b size(stressmarkers, 1))
138 if (stressmarkers(b,1) = -1)
139 if (stressmarkers(b, 5) == 2)
140 endmarker = stressmarkers(b,2);
appendix b - matlab code 39
141 if (endmarker == L)
142 %******Rainflow from above has stopped it
143 stoppedbymarker = 1;
144 maxopposite = stressmarkers(b,4); %bottom ...
value.
145 stressmarkers(b, 1) = -1;
146 b = size(stressmarkers, 1)+1;
147 %***********************************
148 end
149 end
150 end
151 b = b + 1;
152 end
153 %*********************************************
154 if (maxopposite > actual_stress(L,1))
155 stop = L;
156 if (oncethroughL == 1)
157 %*********Leaving a stop marker**************
158 stressmarkers(stressmarkercount, 1) = k+1;
159 stressmarkers(stressmarkercount, 2) = stop;
160 stressmarkers(stressmarkercount, 4) = ...
actual_stress(k+1+nextmarker,1);
161 stressmarkers(stressmarkercount, 5) = 2;
162 stressmarkercount = stressmarkercount +1;
163 nextmarker = L - (k+1);
164 %*********************************************
165 end
166 if (stoppedbymarker == 0)
167 maxopposite = actual_stress(L,1);
168 end
169 %*********************************************
170 end
171 end
172 if (first_peak == -1)
173 %*********Looping through markers**************
174 b = 1;
175 while (b size(stressmarkers, 1))
176 if (stressmarkers(b,1) = -1)
177 if (stressmarkers(b, 5) == 1)
178 endmarker = stressmarkers(b,2);
179 if (endmarker == L)
180 %******Rainflow from above has stopped it
181 stoppedbymarker = 1;
182 maxopposite = stressmarkers(b,3); %top value.
183 stressmarkers(b, 1) = -1;
184 b = size(stressmarkers, 1)+1;
185 %***********************************
186 end
187 end
188 end
189 b = b + 1;
190 end
191 if (maxopposite < actual_stress(L,1))
appendix b - matlab code 40
192 %*********************************************
193 stop = L;
194 if (oncethroughL == 1)
195 %*********Leaving a stop marker**************
196 stressmarkers(stressmarkercount, 1) = k+1;
197 stressmarkers(stressmarkercount, 2) = stop;
198 stressmarkers(stressmarkercount, 3) = ...
actual_stress(k+1+nextmarker,1);
199 stressmarkers(stressmarkercount, 5) = 1;
200 stressmarkercount = stressmarkercount +1;
201 nextmarker = L - (k+1);
202 %*********************************************
203 end
204 if (stoppedbymarker == 0)
205 maxopposite = actual_stress(L,1);
206 end
207 %*********************************************
208 end
209 end
210 oncethroughL = 1;
211 L = L+2;
212 if (stoppedbymarker == 1)
213 L = ender+1;
214 end
215 end
216 oncethroughL = 0;
217 stoppedbymarker = 0;
218
219 %*************************************************************
220 %assigns minimum and max stress values
221 if (maxopposite < actual_stress(k,1))
222 minstress(k,1) = maxopposite;
223 maxstress(k,1) = actual_stress(k,1);
224 end
225 if (maxopposite > actual_stress(k,1))
226 maxstress(k,1) = maxopposite;
227 minstress(k,1) = actual_stress(k,1);
228 end
229
230 %*************************************************************
231 if (first_peak == 1)
232 first_peak = -1;
233 elseif (first_peak == -1)
234 first_peak = 1;
235 end
236 ender = -1;
237 end
238
239 for b1=1:1:(size(maxstress,1))
240 meanstress(b1,1) = 0.5*(maxstress(b1,1) + minstress(b1,1));
241 alternatingstress(b1,1) = 0.5*(maxstress(b1,1) - minstress(b1,1));
242 end
243
appendix b - matlab code 41
244 end %end of function
1 function N=S2N(Sy,Se,Ne,S)
2 % S ^
3 % |
4 % | 
5 % | 
6 % Se +---+-----
7 % | |
8 % +---------> N
9 % Ne
10
11
12
13 N=Ne*(S-Sy)/(Se-Sy); % equation of the slope
14 N(find(S<Se))=Inf; % Overwrite values for stresses lower than the ...
endurance limit S<Se
15 N(find(S>Sy))=0; % Overwrite values for stresses larger than the ...
yield strength
1 function S=soderberg(Sy,Sa,Sm)
2 S=Sa./(1-Sm/Sy);
appendix b - matlab code 42
13.4 Fatigue Fracture Analysis
1 % MAE 296A Project, Fall 2015
2 % Fatigue Fracture
3 % Erik Kramer
4 clc
5 clear
6
7 %% Import Data
8 sigmax = importdata('sigmaxSimple.txt');
9
10 %% Declare Initial Values
11 a=5e-5; %inital crack length in meters (decided from minimum inspection size)
12 asave(1)=a; %crack propogation vector
13 rodWidth=0.0245; %From design geometry
14 N=0; %start with no intital cycles
15 m=2.36; %Paris Constant for material type
16 C=4.5*10^(-12-6*m); %Paris Constant for material type
17 KIc=99e6; %Fracture property for material type
18 cycle=true; %inital set of fast frac conditions
19 Nmax=1.2e9; %value for infinite lifetime Back out N for 300,000 miles ...
(200k with safety factor of 1.5) 2 engine cycles per loading cycle N
20 startX=0; %minimum x dim where cracks are allowed to start
21 lastX=0.06; %max x dim where cracks are allowed to start
22 topEdge=0.0127; %Nominal Top surface y dim
23 topEdgeFlux=0.0001; %Top mesh nodes y dim deviation must be postive
24 botEdge=-0.0127; %Nominal bot surface max y dim
25 botEdgeFlux=0.0001; %Bot mesh nodes y dim deviation must be postive
26 meshResolution=0.003; %Given x variation between assumed close by left ...
right nodes
27
28 %% Read 2D COMSOL Results for Edge Smax and Smin and Find highest Edge Stress
29 %sigmax needs to be preloaded
30
31 %Finding Stresses at intersted edges
32 TopEdgeStress=sigmax(sigmax(:,2)<(topEdge+topEdgeFlux) & ...
sigmax(:,2)>(topEdge-topEdgeFlux) & ...
33 sigmax(:,1)<(lastX) & sigmax(:,1)>(startX),:);
34 BotEdgeStress=sigmax(sigmax(:,2)<(botEdge+botEdgeFlux) & ...
sigmax(:,2)>(botEdge-botEdgeFlux) & ...
35 sigmax(:,1)<(lastX) & sigmax(:,1)>(startX),:);
36 EdgeStress=[TopEdgeStress; BotEdgeStress];
37
38 %Finding Max Stress at the interested edges
39 stressOnlyEdge=EdgeStress;
40 stressOnlyEdge(:,[1 2])=[];
41 [EdgeMax, Imax]=max(stressOnlyEdge(:));
42 [EdgeMin, Imin]=min(stressOnlyEdge(:));
43 [rowMax, colMax]=ind2sub(size(stressOnlyEdge),Imax);
44 [rowMin, colMin]=ind2sub(size(stressOnlyEdge),Imin);
45 colMax=colMax+2;
appendix b - matlab code 43
46 colMin=colMin+2;
47
48
49 %Inital Crack location where max edge stress is
50 crackStartX=EdgeStress(rowMax,1);
51 crackStartY=EdgeStress(rowMax,2);
52
53 %Finding inital remote stresses
54 Smax=EdgeStress(rowMax,colMax);
55 if min(stressOnlyEdge(rowMax,:))<0
56 Smin=0; %Min Remote stress tensile from COMSOL DATA assumed zero ...
becasue tension-compression
57 else
58 Smin=min(stressOnlyEdge(rowMax,:));
59 end
60
61
62 %% Stresses Along the Crack Propagation Direction
63 CrackStress=sigmax(sigmax(:,1)>(crackStartX-meshResolution) & ...
sigmax(:,1)<(crackStartX+meshResolution),:);
64
65
66 %% Check for Immideate Fracture
67 KImax=BetaFinder(a/rodWidth)*sqrt(pi*a)*Smax;
68 if KImax KIc
69 cycle=false;
70 FastFrac=true;
71 end
72
73
74 %% Run Cycles
75 while cycle==true
76
77 %Progressing Cycles
78 N=N+1;
79
80 %Solves for beta using current a
81 beta=BetaFinder(a/rodWidth);
82
83 %Solves for new a via Paris law
84 a=ParisCrackProp(a,C,m,N,beta,Smax-Smin);
85 asave(N+1)=a;
86
87 %Smax FINISH TO AVERAGE STRESS
88 if crackStartY>0 %top edge
89 currentCrackStress=CrackStress(CrackStress(:,2) crackStartY-a,:);
90 else %bottom edge
91 currentCrackStress=CrackStress(CrackStress(:,2) crackStartY+a,:);
92 end
93 currentCrackStressOnly=currentCrackStress;
94 currentCrackStressOnly(:,[1 2])=[];
95
96 %average max stress over the length of the crack
appendix b - matlab code 44
97 maxCurrent=max(currentCrackStressOnly,[],2);
98 Smax=sum(maxCurrent)/length(maxCurrent);
99 minCurrent=min(currentCrackStressOnly,[],2);
100 minCurrent(minCurrent<0)=0;
101 Smin=sum(minCurrent)/length(minCurrent);
102
103 KImax=BetaFinder(a/rodWidth)*sqrt(pi*a)*Smax; %check for fast fracture
104 if KImax KIc
105 cycle=false;
106 FastFrac=true;
107 end
108
109 if cycle==true && N==Nmax
110 cycle=false;
111 FastFrac=false;
112 end
113 end
114
115 %% Give Results
116
117 if FastFrac==false
118 N=Inf;
119 end
120
121 sprintf('The cycles to failure are %d.',N)
122
123 figure(1)
124 plot(0:N,asave/0.0254,'b');
125 hold on
126 plot(N,asave(N+1)/0.0254,'rx');
127 legend('Crack Growth','Fast Fracture','Location', 'Best');
128 grid on
129 xlabel('Cycles');
130 ylabel('Crack Length (Inches)');
131 print(gcf, '-depsc', 'transverse')
132 set(gcf , ...
133 'Color' , 'w' );
134 set(gca, ...
135 'FontName' , 'Helvetica' , ...
136 'Box' , 'off' , ...
137 'TickDir' , 'out' , ...
138 'TickLength' , [.02 .02] , ...
139 'XMinorTick' , 'on' , ...
140 'YMinorTick' , 'on' , ...
141 'XGrid' , 'on' , ...
142 'YGrid' , 'on' , ...
143 'XColor' , [.15 .15 .15] , ...
144 'YColor' , [.15 .15 .15] , ...
145 'LineWidth' , 1 );
146 hold off;
appendix b - matlab code 45
1 function [anew] = ParisCrackProp(a,C,m,N,beta,dS)
2 %solves for new crack length via Paris' Law
3 Q=C*(beta*sqrt(pi)*dS)^m;
4 z=(1-(m/2));
5 y=m-2;
6 K=((Q*N-((2*a^z)/(y)))*(y/-2));
7 anew=K^(1/z);
8
9 end
13.5 3D FEA Analysis
1 clc
2 clear
3 pressure4COMSOL = importdata('pressure4COMSOL.txt');
4
5 %Inputs [Put in crank angle]
6 %phi = -0.5585; % [rad] crank angle (Angle that causes bending) CRANK ...
ANGLE ONE IN ABAQUS
7 phi = 0.3142; % [rad] crank angle (Angle of MAX CONTACT STRESS from ...
COMSOL)CRANK ANGLE TWO IN ABAQUS
8
9 %Additional Inputs [Connecting rod parameters]
10 R = 0.0405; %[m] half stroke length
11 L = 0.144; %[m] connecting rod length
12 mp = 0.4; %[kg] piston mass
13 omega = 6000*2*pi/60; %[1/s] engine rotational velocity in rad/sec
14 beta = 0.2874; %[1] relative position of center of mass
15 A = 0.0069; %[m^2] piston area
16 rho = 10000 %[kg/m^3] density of connecting rod
17 Jg = 3.54150667e-3; %[kg m^2] moment of inertia Pz solidworks
18 vol = 133128.69e-9; %[m^3] volume of connecting rod
19 D_pin = 0.022; %[m] Diameter of piston pin
20 t_pin = 0.0354; %[m] Thickness of piston pin
21
22 %Equations ******* DO NOT CHANGE ****************************
23 volume_pin = pi()*t_pin*(D_pin/2)^2; %[m^3] Volume of piston pin
24 pressure = interp1(pressure4COMSOL(:,1),pressure4COMSOL(:,2),phi);% [Pa] ...
pressure
25 lam = R/L; % ratio R/L
26 mg =rho*vol; % mass of connecting rod
27 dgamma = -omega*lam*cos(phi)/(1-lam^2*sin(phi)^2)^0.5 % angular velocity ...
of the rod
28 ddgamma = omega^2*lam*(1-lam^2)*sin(phi)/(1-lam^2*sin(phi)^2)^1.5 % ...
angular acceleration of the rod
29
30 Rx = -R*sin(phi); %x position of Crankshaft pin
31 Ry = R*cos(phi); % y position of Crankshaft pin
32 Px =0; % Piston pin position x
appendix c - final design documentation 46
33 Py =L*(lam*cos(phi)+(1-lam^2*sin(phi)^2)^0.5); % Piston pin position y
34
35 ddRx = -omega^2*Rx; % x acceleration of Crankshaft pin
36 ddRy = -omega^2*Ry; % y acceleration of Crankshaft pin
37 ddPx = 0; % x acceleration of Piston pin
38 ddPy = L*lam*((dgamma-omega)*omega*cos(phi)+ddgamma*sin(phi)); % y ...
acceleration of Piston pin
39 ddGx = (1-beta)*ddRx+beta*ddPx; % x acceleration of Centroid
40 ddGy =(1-beta)*ddRy+beta*ddPy; % y acceleration of Centroid
41 ax =(Px-Rx)/((Px-Rx)^2+(Py-Ry)^2)^0.5; %x component of axial unit vector
42 ay =(Py-Ry)/((Px-Rx)^2+(Py-Ry)^2)^0.5; %y component of axial unit vector
43 tx =-ay; %x component of transverse unit vector
44 ty =ax; %y component of transverse unit vector
45
46 FPRy= -mp*ddPy-pressure*A; % y Piston Force on pin
47 FSRy =mg*ddGy-FPRy; % y Crankshaft Force on pin
48 FPRx= beta*mg*ddGx-(Jg*ddgamma-((beta-1)*FPRy+beta*FSRy)*Rx)/(Py-Ry); % x ...
Piston Force on pin
49 FPRa= FPRx*ax+FPRy*ay; % Axial Piston Force on pin
50 FPRaPerVol =FPRa/volume_pin
51 ddGa =ddGx*ax+ddGy*ay % axial acceleration of Centroid
52 ddGt= ddGx*tx+ddGy*ty % transverse acceleration of Centroid
53
54 %These are body load equations that you will put into Abaqus
55 %ba =-rho*(ddGa-ddgamma*Z-dgamma*dgamma*(X-0.0338)); % Body Load in x
56 %bt =-rho*(ddGt+ddgamma*(X-0.0338)-dgamma*dgamma*Z); % Body Load in y
14 appendix c - final design documentation
appendix c - final design documentation 47
Figure 23: A 3D render of our final design
appendix c - final design documentation 48
1.00
1.50
7.70
5.67
1.25
1.99
3.47
0.79
R1.15
AA
2.11
0.25
0.87
R0.12
R0.12
R0.12
2.81
0.25
SECTION A-A
C
D
E
B
F
A
23 14
C
F
E
A
B
D
2 14 3
DRAWN
CHK'D
APPV'D
MFG
Q.A
UNLESS OTHERWISE SPECIFIED:
DIMENSIONS ARE IN MILLIMETERS
SURFACE FINISH:
TOLERANCES:
LINEAR:
ANGULAR:
FINISH: DEBURR AND
BREAK SHARP
EDGES
NAME SIGNATURE DATE
MATERIAL:
DO NOT SCALE DRAWING REVISION
TITLE:
DWG NO.
SCALE:1:5 SHEET 1 OF 1
A4
WEIGHT:
FINAL_ROD
Figure 24: An engineering drawing of our final design.
References 49
references
[1] Shigley, Joseph Edward, and John Joseph Uicker. Theory of Machines and Mecha-
nisms. International ed. New York: McGraw-Hill, 1980: 15-16.
[2] Carley, Larry. "Connecting Rods: So Many Choices - Engine Builder Maga-
zine." Engine Builder Magazine. Babcox Media, Inc., 1 Sept. 2008. Web. 10
Oct. 2015. <http://www.enginebuildermag.com /2008/09/connecting-rods-so-many-
choices/>.
[3] "The 458 Italia’s V8 Voted Best Performance Engine and Best Engine." Ferrari GT. N.p.,
18 May 2015. Web. 19 Oct. 2015.
[4] http://www.exprobase.com/Default.aspx?page=11#
[5] Military Handbook - MIL-HDBK-5H Metallic Materials and Elements for Aerospace
Vehicle Structures (Knovel Interactive Edition). Place of Publication Not Identified:
U.S. Dept. of Defense. Print.
[6] Larsen, James M. Small-crack Test Methods. Philadelphia, PA: ASTM, 1992. Print.
[7] Putatunda, S.k., and J.m. Rigsbee. "Effect of Specimen Size on Fatigue Crack Growth
Rate in AISI 4340 Steel." Engineering Fracture Mechanics: 335-45. Print.
[8] http://infinitemonkeycorps.net/projects/cityspeed/city.html?city=
losangelesca
[9] http://www.dragtimes.com/2012-Ferrari-458-gear-ratios-top-speed-31.html?
tire_width=235&tire_aspect=35&wheel_diam=20&tire_diam=28.1299212598&axle_
ratio=5.140&redline=9000&gear1=3.080&gear2=2.190&gear3=1.630&gear4=1.290&
gear5=1.030&gear6=0.840&gear7=0.690&gear8=0.000&calc_button=Calculate
[10] http://www.driverside.com/specs/ferrari-458_italia-2012-30960-54122-0
[11] http://www.cars.com

More Related Content

Viewers also liked

Connecting rod
Connecting rodConnecting rod
Connecting rod
karthi d
 
manufacturing of connecting rod
manufacturing of connecting rodmanufacturing of connecting rod
manufacturing of connecting rodMuhammad Waseem
 
connecting-rods
connecting-rodsconnecting-rods
connecting-rods
dilip510
 
Design and Construction of a Connecting rod
Design and Construction of a Connecting rodDesign and Construction of a Connecting rod
Design and Construction of a Connecting rod
Faisal Niloy
 
Modeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
Modeling and Analysis of Two Wheeler Connecting Rod by Using AnsysModeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
Modeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
IOSR Journals
 
Analysis of connecting rod in ansys
Analysis of connecting rod in ansysAnalysis of connecting rod in ansys
Analysis of connecting rod in ansys
CADmantra Technologies
 
Manufacturing a piston
Manufacturing a pistonManufacturing a piston
Manufacturing a piston
Muhammad Umar
 
Stress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
Stress Analysis of I.C.Engine Connecting Rod by FEM and PhotoelasticityStress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
Stress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
IOSR Journals
 
Piston manufacturing process
Piston manufacturing process Piston manufacturing process
Piston manufacturing process
ROb Vincing
 
Assembly of IC Engine Connecting rod
Assembly of IC Engine Connecting rodAssembly of IC Engine Connecting rod
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
Altair
 
FinalProject_Report_ADEKT
FinalProject_Report_ADEKTFinalProject_Report_ADEKT
FinalProject_Report_ADEKTAjinkya Shewale
 
Design & Construction of a Connecting rod
Design & Construction of a Connecting rodDesign & Construction of a Connecting rod
Design & Construction of a Connecting rod
Faisal Niloy
 
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING RODSTRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
Vishnu R
 
K table
K tableK table
K table
lawlaw Ali
 
Static Stress Analysis of Connecting Rod Using Finite Element Approach
Static Stress Analysis of Connecting Rod Using Finite Element ApproachStatic Stress Analysis of Connecting Rod Using Finite Element Approach
Static Stress Analysis of Connecting Rod Using Finite Element Approach
IOSR Journals
 
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511 DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
IAEME Publication
 
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
IAEME Publication
 
Drop forging report
Drop forging reportDrop forging report
Drop forging reportRox Liberato
 
IC Engine Piston Design
IC Engine Piston DesignIC Engine Piston Design
IC Engine Piston Design
JJ Technical Solutions
 

Viewers also liked (20)

Connecting rod
Connecting rodConnecting rod
Connecting rod
 
manufacturing of connecting rod
manufacturing of connecting rodmanufacturing of connecting rod
manufacturing of connecting rod
 
connecting-rods
connecting-rodsconnecting-rods
connecting-rods
 
Design and Construction of a Connecting rod
Design and Construction of a Connecting rodDesign and Construction of a Connecting rod
Design and Construction of a Connecting rod
 
Modeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
Modeling and Analysis of Two Wheeler Connecting Rod by Using AnsysModeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
Modeling and Analysis of Two Wheeler Connecting Rod by Using Ansys
 
Analysis of connecting rod in ansys
Analysis of connecting rod in ansysAnalysis of connecting rod in ansys
Analysis of connecting rod in ansys
 
Manufacturing a piston
Manufacturing a pistonManufacturing a piston
Manufacturing a piston
 
Stress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
Stress Analysis of I.C.Engine Connecting Rod by FEM and PhotoelasticityStress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
Stress Analysis of I.C.Engine Connecting Rod by FEM and Photoelasticity
 
Piston manufacturing process
Piston manufacturing process Piston manufacturing process
Piston manufacturing process
 
Assembly of IC Engine Connecting rod
Assembly of IC Engine Connecting rodAssembly of IC Engine Connecting rod
Assembly of IC Engine Connecting rod
 
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
Integrated AVL EXCITE – Altair Engineering Software Solution for Durability a...
 
FinalProject_Report_ADEKT
FinalProject_Report_ADEKTFinalProject_Report_ADEKT
FinalProject_Report_ADEKT
 
Design & Construction of a Connecting rod
Design & Construction of a Connecting rodDesign & Construction of a Connecting rod
Design & Construction of a Connecting rod
 
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING RODSTRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
STRESS LIFE BASED FATIGUE ANALYSIS ON AUTOMOTIVE CONNECTING ROD
 
K table
K tableK table
K table
 
Static Stress Analysis of Connecting Rod Using Finite Element Approach
Static Stress Analysis of Connecting Rod Using Finite Element ApproachStatic Stress Analysis of Connecting Rod Using Finite Element Approach
Static Stress Analysis of Connecting Rod Using Finite Element Approach
 
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511 DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
DESIGN AND ANALYSIS OF CONNECTING ROD USING ALUMINIUM ALLOY 7068 T6, T6511
 
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
DESIGN AND ANALYSIS OF I.C. ENGINE PISTON AND PISTON-RING USING CATIA AND ANS...
 
Drop forging report
Drop forging reportDrop forging report
Drop forging report
 
IC Engine Piston Design
IC Engine Piston DesignIC Engine Piston Design
IC Engine Piston Design
 

Similar to Connecting_Rod_Report_Kramer_Suls_Moon (1)

EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element MethodsEShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
IJERA Editor
 
Investigation and Optimization of two cylinder crankshaft by FE Analysis
Investigation and Optimization of two cylinder crankshaft by FE AnalysisInvestigation and Optimization of two cylinder crankshaft by FE Analysis
Investigation and Optimization of two cylinder crankshaft by FE Analysis
IRJET Journal
 
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFTDESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
ijiert bestjournal
 
Finite Element Analysis and Design Optimization of Connecting Rod
Finite Element Analysis and Design Optimization of Connecting RodFinite Element Analysis and Design Optimization of Connecting Rod
Finite Element Analysis and Design Optimization of Connecting Rod
IJERA Editor
 
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
IJET - International Journal of Engineering and Techniques
 
IRJET - Optimization of Crankshaft by Modification in Design and Material
IRJET - Optimization of Crankshaft by Modification in Design and MaterialIRJET - Optimization of Crankshaft by Modification in Design and Material
IRJET - Optimization of Crankshaft by Modification in Design and Material
IRJET Journal
 
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
ijiert bestjournal
 
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
IRJET Journal
 
Design, Analysis and Optimization of a 6 cylinder Engine Crank shaft
Design, Analysis and Optimization of a 6 cylinder Engine Crank  shaftDesign, Analysis and Optimization of a 6 cylinder Engine Crank  shaft
Design, Analysis and Optimization of a 6 cylinder Engine Crank shaft
IJMER
 
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
IRJET Journal
 
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum PumpIRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
IRJET Journal
 
IRJET- Analysis of Automobile Rim on Strain Criteria
IRJET- Analysis of Automobile Rim on Strain CriteriaIRJET- Analysis of Automobile Rim on Strain Criteria
IRJET- Analysis of Automobile Rim on Strain Criteria
IRJET Journal
 
77201942
7720194277201942
77201942
IJRAT
 
77201942
7720194277201942
77201942
IJRAT
 
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
IRJET Journal
 
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
IRJET Journal
 
IRJET - Design and Analysis of Connecting Rod using Different Materials
IRJET - Design and Analysis of Connecting Rod using Different MaterialsIRJET - Design and Analysis of Connecting Rod using Different Materials
IRJET - Design and Analysis of Connecting Rod using Different Materials
IRJET Journal
 
Design, Analysis & Balancing of 5 Cylinder Engine Crankshaft
Design, Analysis & Balancing of 5 Cylinder Engine CrankshaftDesign, Analysis & Balancing of 5 Cylinder Engine Crankshaft
Design, Analysis & Balancing of 5 Cylinder Engine Crankshaft
IJMER
 

Similar to Connecting_Rod_Report_Kramer_Suls_Moon (1) (20)

32-IJRERD-B412.pdf
32-IJRERD-B412.pdf32-IJRERD-B412.pdf
32-IJRERD-B412.pdf
 
EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element MethodsEShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
EShape Optimization Of A Suspension Bellcrank Using 3d Finite Element Methods
 
Investigation and Optimization of two cylinder crankshaft by FE Analysis
Investigation and Optimization of two cylinder crankshaft by FE AnalysisInvestigation and Optimization of two cylinder crankshaft by FE Analysis
Investigation and Optimization of two cylinder crankshaft by FE Analysis
 
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFTDESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
DESIGN, OPTIMIZATION AND FINITE ELEMENT ANALYSIS OF CRANKSHAFT
 
Finite Element Analysis and Design Optimization of Connecting Rod
Finite Element Analysis and Design Optimization of Connecting RodFinite Element Analysis and Design Optimization of Connecting Rod
Finite Element Analysis and Design Optimization of Connecting Rod
 
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
[IJET-V1I3P7] Authors : Prateek Joshi, Mohammad UmairZaki
 
IRJET - Optimization of Crankshaft by Modification in Design and Material
IRJET - Optimization of Crankshaft by Modification in Design and MaterialIRJET - Optimization of Crankshaft by Modification in Design and Material
IRJET - Optimization of Crankshaft by Modification in Design and Material
 
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
FINITE ELEMENT ANALYSIS OF CONNECTING ROD OF MG-ALLOY
 
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
Finite Element Analysis of Connecting rod for Internal Combustion Engines: A ...
 
Design, Analysis and Optimization of a 6 cylinder Engine Crank shaft
Design, Analysis and Optimization of a 6 cylinder Engine Crank  shaftDesign, Analysis and Optimization of a 6 cylinder Engine Crank  shaft
Design, Analysis and Optimization of a 6 cylinder Engine Crank shaft
 
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
Finite Element Analysis of Connecting Rod for Two Wheeler and Optimization of...
 
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum PumpIRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
IRJET- Rotor Dynamic Analysis of Driving Shaft of Dry Screw Vacuum Pump
 
IRJET- Analysis of Automobile Rim on Strain Criteria
IRJET- Analysis of Automobile Rim on Strain CriteriaIRJET- Analysis of Automobile Rim on Strain Criteria
IRJET- Analysis of Automobile Rim on Strain Criteria
 
77201942
7720194277201942
77201942
 
77201942
7720194277201942
77201942
 
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
IRJET- Transient Dynamic Analysis and Optimization of a Piston in an Automobi...
 
35.pdf
35.pdf35.pdf
35.pdf
 
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
IRJET- Design Optimization and Analysis of a One Piece Composite Drive Shaft ...
 
IRJET - Design and Analysis of Connecting Rod using Different Materials
IRJET - Design and Analysis of Connecting Rod using Different MaterialsIRJET - Design and Analysis of Connecting Rod using Different Materials
IRJET - Design and Analysis of Connecting Rod using Different Materials
 
Design, Analysis & Balancing of 5 Cylinder Engine Crankshaft
Design, Analysis & Balancing of 5 Cylinder Engine CrankshaftDesign, Analysis & Balancing of 5 Cylinder Engine Crankshaft
Design, Analysis & Balancing of 5 Cylinder Engine Crankshaft
 

Connecting_Rod_Report_Kramer_Suls_Moon (1)

  • 1. M E C H A N I C A L D E S I G N O F A C O N N E C T I N G R O D erik kramer1 , deaho moon1 , jordan suls1 abstract The goal of this project was to design a connecting rod for a Ferrari F136 F engine which holds up to all safety standards as well as remains both cost and weight effective. A MATLAB study of engine loads and beam analysis was performed to check analytically for buckling or yield failure in a preliminary simplified beam design. These studies resulted in a Yield Safety Factor of 2.09 as well as buckling safety factors of 16.25 in the y direction and 64.98 in the z direction. Following the simplified analytical approach, a 2D numerical plane stress assumption finite element analysis (FEA) was done in COMSOL to further evaluate the design. A more realistic connecting rod but simplified profile was used with a constant thickness of 0.5 inches. This gave a yield safety factor of 1.19. Lifetime analysis was performed on this design and resulted in an infinite lifetime using S-N methods but only 14032 cycles using fatigue fracture methods. Two design iterations were then performed to increase the factor of safety against yield to 2.62 and to increase the fatigue fracture cycles to failure to 19300. Finally, using our final iteration 2D profile as a starting point, two detailed 3D models were produced and simulated under working conditions in Abaqus. From this we found a successful final design with a yield safety factor of 1.97. 1 Department of Mechanical and Aerospace Engineering, University of California Los Angeles 1
  • 2. Contents 2 contents 1 Introduction 2 2 Engine Assumptions & Operating Loads 3 3 Load Analysis 4 4 Beam Theory Analysis 5 5 Initial Design Solid Modeling 7 6 Two-Dimensional Elastic Finite Element Analysis 8 7 Lifetime Analysis 11 7.1 S-N Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2 Fracture Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8 Design Optimization 15 9 Three-Dimensional Solid Model 18 10 Three-Dimensional Elastic Finite Element Analysis 18 11 Discussion & Conclusions 21 12 Appendix A - Derivations 21 13 Appendix B - MATLAB Code 24 13.1 Load Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 13.2 Beam Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 13.3 S-N Fatigue Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 13.4 Fatigue Fracture Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 13.5 3D FEA Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 14 Appendix C - Final Design Documentation 46 1 introduction Connecting rods are widely used as couplers in various engineering applications based on slider-crank mechanisms. For example, depending on the kinematic inversion of the mechanism, connecting rods are used in compressors, rotary engines found in early air- craft, driving wheels of early steam locomotives, and garden water pumps [1]. Today connecting rods are mainly used in internal combustion engines. The purpose of connecting rods is to convert linear motion of the pistons to rotational motion of the crankshaft. The design of connecting rods for high strength with light weight is crucial because they have to rapidly respond to the motion of the pistons under extreme levels of stress exerted by pistons, chemical reactions, etc. Hence, they are one of the most critical components of the engine because their performance and lifecycle directly affect those of the engine. Depending on the types of engines, connecting rod designs are varied based on the beam shapes and materials. There are two basic types of connecting rods; I-Beam and H-Beam. I-Beam rods are the most common type of connecting rods. Since I-Beams offer high strength with light weight, I-Beams are generally used in high rpm engines. H-
  • 3. engine assumptions & operating loads 3 Beam rods are used in low rpm engines with higher torque due to its greater compressive strength than I-Beam rods [2]. The material selection plays a significant role in connecting rod design. Light and strong materials are desired but material price is a limiting factor in the connecting rod design. For example, using titanium for a connecting rod instead of steel can reduce the weight by approximately 22% but will cost over twice as much to manufacture [2]. Therefore, along with economical analysis, thorough material and mechanical analysis is required for the optimal connecting rod design. The purpose of this study is to optimize the design of a connecting rod for a selected engine. The variable parameters for the connecting rod design are the dimensions, the weight, the material used, and the cost. However, the cost will be the minimal factor to be considered in this study because the connecting rod is designed for one of the most expensive luxury car engines. The objective is to maximize the durability and resistance to fatigue failure. In this report we will present loading and bending analytical analysis which were de- rived by hand and then computed via MATLAB. Following that we will present a simpli- fied 2D model for a plane stress FEA as well as lifetime analysis. Several design iterations will also be given. Lastly, a detailed 3D model will be shown which was used for a 3D Abaqus FEA to prove its viability against static yield. 2 engine assumptions & operating loads The connecting rod was designed for the Ferrari F136 F engine, which is primarily used in the Ferrari 458 Italia, Spider and Speciale [3]. The specifications for this engine are as follows: Engine Displacement 4499 cm3 Engine Torque 540 N m Engine Speed 6000 RPM Stroke Length 81 mm Connecting Rod Length 144 mm Piston Mass 400 g Along with these constant engine operation parameters, some preliminary design as- sumptions and choices for the connecting rod’s properties were made such that a numer- ical load analysis could be implemented with the use of MATLAB. The following design values are based on a simple initial design which will be expanded upon in section 5. Note that the values here were used for the initial analytical analysis but constantly re- vised throughout the design optimization process to reflect the design being tested. Our initial design assumed the use of AISI 4340 normalized steel.
  • 4. load analysis 4 Connecting Rod Mass 557.64 g Relative Center of Mass β 0.3250 Moment of Inertia 1.89x10−3 kg m2 Young’s Modulus 2.05x1011 Pa Yield Strength 7.1x108 Pa Ultimate Tensile Strength 1.11x109 Pa 3 load analysis The connecting rod is subject to three time dependent loads: the inertial force due to motion, the contact force from the piston, and the contact force crankshaft. Based on the assumption that the crankshaft has a constant angular speed, the loads on the connecting rod are known to be periodic. Figure 1 shows the basic geometry of the study. The connecting rod is pinned to the piston at P, to the crankshaft at R, and has its center of mass at G. The crankshaft rotates about the origin at constant speed ω, the time derivative of its angle φ. The piston is constrained to the y-axis and forms the angle γ with the connecting rod. Inspection yields a geometric description of the positions of these three points. A basic kinematics analysis, found in Appendix A, yields the position, speed, and acceleration of the three key points. • Angular Velocity of Connecting Rod: ˙γ = − ωλcosφ (1−λ2 sin2 φ)1/2 • Angular Acceleration of Connecting Rod: ¨γ = ω2 λ(1−λ2 )sinφ (1−λ2 sinφ)3/2 • Acceleration of Crankshaft Pin: ¨R = −ω2 R • Acceleration of Piston Pin: ¨P = lλ[( ˙γ − ω)ωcosφ + ¨γsinφ] • Acceleration of Center of Gravity: ¨G = (1 − β) ¨R + β ¨P Figure 1: The simple assumed geometry of the piston crankshaft system
  • 5. beam theory analysis 5 φ [rad] -8 -6 -4 -2 0 2 4 6 8 AxialForces[N] ×105 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 ΦPRa ΦSRa -mg ddGa (a) Axial Forces vs Crankshaft Angle φ [rad] -8 -6 -4 -2 0 2 4 6 8 TransverseForces[N] -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 ΦPRt ΦSRt -mg ddGt (b) Transverse Forces vs Crankshaft Angle Figure 2: Results of load analysis in MATLAB. Combining these equations with the known combustion pressure on the piston, the equations of motion for the system have been derived by balancing the linear momentum for the piston and the angular momentum of the connecting rod. All derivations can be found in Appendix A. • Force of Piston on Rod: ΦPRy = −mP ¨P − p(φ)A • Force of Crankshaft on Rod: ΦPRx = βmG ¨Gx − JG ¨γ−[(β−1)ΦPRy +βΦSRy ]Rx Py −Px To allow for a focused finite element study of the connecting rod, the inertial reference frame is changed to a non-inertial one. The origin of this frame is at the center of mass, G. The x-axis lies along the line connecting points of the piston and crankshaft, and the y-axis describes the transverse direction. To accurately describe the dynamics in this reference frame, the inertial forces must be considered. Analysis of a generic material particle at any location relative to the new reference frame yields a body force per unit volume, which is related to the linear acceleration of the center of gravity, its angular acceleration, and its centripetal acceleration. Solving these equations with the use of the MATLAB Load Analysis code found in Appendix B yields the axial and transverse components of force on the connecting rod shown in Figure 2. We also calculate our Yield Safety Factor to be 2.09. 4 beam theory analysis The results of the Load Analysis yielded values for the contact force at the crankshaft pin, contact force at the piston pin, inertial force due to motion and inertial moment due to motion. Using beam theory, the axial stresses on the connecting rod were found with the aid of MATLAB. The geometry of our beam was set up as a rectangular cross section with a thickness of 12.7mm (in the z-direction) and a height of 25.4mm (in the y-direction).
  • 6. beam theory analysis 6 z [m] -0.015 -0.01 -0.005 0 0.005 0.01 0.015 y[m] -0.01 -0.005 0 0.005 0.01 cross section Figure 3: The cross section of our beam used for preliminary analysis The resulting data of the axial force, transverse force, axial load and bending moment along the beam is shown in Figure 4. These graphs were constructed with the MATLAB Beam Analysis code found in Appendix B. The relevant values found from this Beam Analysis are as follows: • Maximum stress in the beam: σmax = 339MPa • Buckling Safety Z Factor: nz−axis = 64.98 • Buckling Safety Y Factor: ny−axis = 16.25
  • 7. initial design solid modeling 7 φ [rad] -10 -5 0 5 10 AxialForces[N] ×105 -1 -0.5 0 0.5 1 ΦPRa ΦSRa -mg ddGa φ [rad] -10 -5 0 5 10 TransverseForces[N] -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 ΦPRt ΦSRt -mg ddGt x [m] 0 0.05 0.1 AxialLoad[N] ×104 -8 -6 -4 -2 0 x [m] 0 0.05 0.1 BendingMoment[Nm] -200 -100 0 100 200 Figure 4: Results of a MATLAB beam analysis 5 initial design solid modeling For our preliminary design we focused on a simple solution to quickly provide two dimen- sional finite element stress results using a plane stress assumption. Some initial design parameters were pulled directly from physical engine constraints such as the pin sizes and rod length from center to center of the two pin holes. For the free parameters we first chose a standard thickness of 12.7mm and width of 25.4mm with ease of manufac- turing in mind. The two remaining free parameters, pin hole wall thicknesses and fillet radius were chosen mostly aesthetically. Pin hole wall thicknesses were given a dimen- sion of half of their respective pin hole radii and fillets were chosen to be 10mm. While it is understood that these values are not necessarily optimal, they provide a somewhat similar design to existing connecting rods and thus will serve as a good basis for initial design analysis. Before being put into production, these values will most likely change to be more optimal in both strength and weight conservation. Production of a geometric model was done via two programs. The first was done in SolidWorks using a simple sketch and extrude method. Fillets were added on once the rod was extruded to the desired overall shape. A 3D model of our initial design can be seen in Figure 5. Using SolidWorks material and mass properties function, we were able to obtain accurate moments of inertia for the design as well as the location of the center of mass which would be used in a 2D COMSOL analysis. Initial material for the part
  • 8. two-dimensional elastic finite element analysis 8 Figure 5: A model of our initial design in 3D using SolidWorks was chosen to be AISI 4340 normalized steel because it is a proven material for existing connecting rods. Once the physical properties of the initial design were known, this design was also created in COMSOL using their native geometric building tools. The COMSOL model was done to be a 2D top down view of the full 3D part as shown in Figure 7. More information on the COMSOL design and the resulting stress simulation can be found in the following section. 6 two-dimensional elastic finite element analysis To compute the stress and strain distributions on the connecting rod, a 2-D Finite Element Analysis (FEA) in COMSOL was performed. A parametric simulation of the stress as a function of the crank angle, φ, was produced with the use of body forces and certain fixed constraints. The pressure distribution as a function of the crank angle is demonstrated in Figure 6, where the maximum pressure placed on the connecting rod occurs at an angle of approximately π/10. In this case, the crankshaft pin was fixed in the x- and y-direction to restrict any motion. For the piston pin, rigid body rotation was avoided by setting a prescribed displacement of zero for the pin in the y-direction. Also, an axial force of FPRa, which represents the combustion pressure, was transmitted from the piston pin onto the connecting rod, acting in the x- direction. Finally, a body load, defined as a force per unit volume, was placed on the connecting rod.
  • 9. two-dimensional elastic finite element analysis 9 crank angle [rad] -6 -4 -2 0 2 4 6 combustionpressure[Pa] ×106 0 5 10 15 Figure 6: Combustion pressure as a function of the crank angle To ensure an accurate solution for the FEA, a fine mesh was used such that the stress concentration in the crucial areas could be visualized. The areas of concern were the fil- leted corners and the contact edges between the connecting rods and the crankshaft/pis- ton pin. The resulting mesh is shown in Figure 7. The results of this study is best shown graphically, so the areas of high stress can be visualized. Figure 8 shows the stress distribution at the end of the cycle, with the default color scale to see where the maximum stresses occur. It is clear that regions close to the crankshaft and piston pin are subjected to the greatest compressive stresses. For this analysis, it is useful to compare the stress to that of the yield strength to see if the forces on the connecting rod are going to create plastic deformation. To do this, the color scale was set from 0 to 7.1x108 Pa, which is the yield strength for AISI 4340 normalized steel. The crank angles of concern were 0 and π/10 radians, where the pressure on the connecting rod is at a maximum. Figure 9 shows the stresses on the connecting rod at those crank angles. The maximum stress values at 0 and π/10 are 3.34x108 Pa and 5.98x108 Pa, respectively. This equates to a safety factor against yield of 1.19.
  • 10. two-dimensional elastic finite element analysis 10 Figure 7: The 2D mesh used for COMSOL FEA. Figure 8: Results of a COMSOL load analysis normalized to max stress calculated. (a) A phi state where stress is at its min. (b) A phi state where stress is at its max. Figure 9: FEA results normalized to yield strength.
  • 11. lifetime analysis 11 7 lifetime analysis While it is very important to design against static yielding and fracture in structural com- ponents, many components are made to last numerous years before failure is acceptable. Because of this, lifetime analysis is an important step in the design process. Depending on the environment and loading conditions (both mechanically and thermally) compo- nents can fail even if they have high static factors of safety. Lifetime failure comes in many forms including fatigue, corrosion, creep, fouling, thermal shock, and wear. Most lifetime failure mechanisms result from physical degradation of components to non ideal operational conditions or outright yield or fracture. Some failure mechanisms can result in technical faults without being destructive, like unacceptable increase of friction for a sliding sleeve valve.[4] Due to the cyclic loading nature of a connecting rod, fatigue is one of the main concerns of the rod s lifetime. The time for one engine revolution depends on the rpm of the engine, therefore it is easier to measure lifetime of a connecting rod in engine cycles instead of absolute time. For the reasons stated above we focus our lifetime analysis on fatigue in this report. Fatigue has two main approaches, S-N (damage accu- mulation) methods or crack propagation. In the following sections we present analysis using these two theories. 7.1 S-N Fatigue Analysis For the S-N fatigue we adopt a numerical rainflow method for the connecting rod s load- ing cycle. The Palmgren-Miner rule can be written as a linear damage rule: D = Σ ni Ni where D is the accumulated damage, ni is the number of cycles at stress level σi, and Ni is the number of cycles to failure at stress level σi.[1] To calculate the fatigue life, ni, Ni, and Si should be determined, however, the fatigue data provided in S-N curves are not directly interchangable for real-life mechanical components. Using the rainflow method, Si is calculated by using Soderberg criteria and its corresponding Ni can be obtained from S-N curves. Due to lack of data availability at higher temperatures and for the consistency among the values, material property constants are used at room temperatures. For our numerical fatigue analysis, the input values are based on the SN curve for 4340 steel. The strengths of the connecting rod material are Sut = 125ksi = 861MPa, Sy = 103ksi = 710MPa. By considering that the material should be an un-notched steel bar with 0 stress ratio, the SN curve of 4340 steel which satisfies the conditions is shown.[5] Reliability is the probability that machine systems and components will perform their intended function satisfactorily without failure.[1] For our fatigue analysis, we used the 95 percent reliability factor, which is a high reliability. In other words, based on our design, 95 percent of connecting rods are capable of enduring the cyclic loads.
  • 12. lifetime analysis 12 Figure 10: The S-N curve for 4340 steel at room temperature.[5] From the S-N curve shown in Figure 10, the yield and endurance cycles are found as Ny = 4x104, Ne = 2x107. These values and the Sut and Sy of the material are used as inputs in a numerical MATLAB rainflow fatigue analysis (code for which can be found in Appendix B). Figure 11 shows the damage accumulation of our design using this method. The results of this analysis found our initial connecting rod design to have infinite lifetime. 7.2 Fracture Fatigue Analysis In a fracture approach to fatigue analysis, it is assumed that every component has cracks which form inherently during the manufacturing process. Though the size of these cracks may be too small to detect with modern technology, they are nonetheless present. Fatigue fracture analysis builds off the idea that under a load cycle these cracks propagate in size until they hit a critical crack size when fast fracture occurs. A simplified version of crack propagation in one dimension can be done via Paris law which gives a relation between cycles N and the crack length based on constants C and m as well as shape factor b and alternating stress ∆σ. dA dN = C∆Km ∆K = ∆σβ √ πa Using this simplified version of crack propagation, the crack always grows each cycle. This means that there exists a finite number of cycles before the crack reaches a critical length and fast fracture occurs (KI > KIC for mode one cracks). Since the finest and the
  • 13. lifetime analysis 13 Figure 11: The damage accumulation over the lifetime of our connecting rod. most precise machining and manufacturing technologies will be used for the luxury car engine, it is assumed that the initial crack size is the smallest detectable with current tech- nology. According to Larsen, the minimum detectable crack depth of AISI 4340 steel is 50µm by using an ultrasonic method along with split spectrum processing.[6] By investi- gating the highest stress concentration location on the connecting rod through COMSOL, we located a likely mode-I crack on the fillet surface between the bar and small pin sec- tions. The Paris constants for AISI 4340 steel are C = 4.5x10−12 [m/(cycle MPa √ m] and m = 2.36.[7] For our numerical analysis, C should be converted into SI units. By mul- tiplying the conversion factor 10−6m, C becomes 4.5x10−12−6m [m/(cycle Pa √ m]. The critical stress intensity factor, KIC, for 4340 Steel is 99MPa √ m.[1] According to City Speed for Los Angeles [8], the average driving speed in LA is 26.8 mph with standard deviation of 8.8 mph. Since the engine we chose is for the 2012 Ferrari 458 Italia, one of the fastest cars, we assumed that the average driving speed of the car is 44.4 mph, which is two standard deviations above the average so that the car s average driving speed is within the top 2.1 percent range in LA. The relationship between engine rpm and car speed is approximately given as V = DF 336R where V is the velocity in mph, D the tire diameter in inches, F the engine rpm, and R the gear ratio.[9] Based on the relationship, we assume that the Ferrari drives at 44.4 mph in 5th gear at 3000 rpm. The Ferrari has a 5th gear ratio of 1.03 with a final drive axle ratio of 5.14. The front tire size is 235/35R20 which corresponds to 26.5 inches for
  • 14. lifetime analysis 14 Figure 12: Possible initial crack locations allowed in our fatigue fracture study. the tire diameter.[10] We use the front tire size because the engine rotates front wheels to drive the car. The maximum number of miles driven by the car is assumed to be 300,000 miles and the maximum number of load cycles N can be derived from the relationship between engine and wheel rpm along with transmission ratio. Note that a single load cycle is equal to two engine cycles. Wheel revolution can be derived by dividing engine crankshaft revolution by transmission ratio, which is the product of the gear ratio and the final drive axle ratio. Therefore we conclude that 6.04x108 load cycles would be considered infinite lifetime. Ninf = Distance Car Driven T ire Circumference x T ransmission Ratio 2 Ninf = 300, 000miles x 63360 in mile x 1 wheel revolution 26.5π in x 1.03x5.14 2 Ninf = 6.04x108 A MATLAB script (included in the Appendix B) was implemented to numerically solve for the cycles to failure using fatigue fracture in mode one. It was designed to assume the worst case scenario. Due to the greatest tensile stresses occurring in the middle bar region of the connecting rod, the script only focused on that region and assumed that cracks propagated only normal to the top and bottom surface of the connecting rod as shown in Figure 12. After finding the point of highest edge stress from our 2D COMSOL analysis and checking for fast fracture in the first cycle, the script uses Paris law to propagate the crack for each subsequent cycle. During each cycle the script checks for fast
  • 15. design optimization 15 Figure 13: Crack propagation as a function of loading cycles N. fracture before propagating the crack. In order to obtain the most realistic results possible, the maximum stress (σmax) used for ∆K in Paris law as well as in the fast fracture check (KI > KIC) was the 2D COMSOL results for σx averaged over the crack length at the crack surface. Because only tensile forces cause crack opening, the minimum stress (σmin) was assumed to be zero. Beta was also resolved each cycle based on the current crack length. Using this script a lifetime of 14032 cycles was found. Figure 13 shows a plot of the crack size vs cycles for our initial design. While this number is far below what we calculated to be infinite lifetime, we can attribute this to the many simplified assumptions our method introduced. In reality the crack heals itself under compression each cycle. Also, crack propagation is not a 2D phenomenon. Real cracks have a depth dimension along side the length and can propagate in any direction. Additionally, they are subject to multiple crack opening modes at any one time. Paris law, while a good starting tool is not great for accurate results in complicated geometries. Due to the scope of this project we will not be focusing on refining our code to reflect more realistic crack propagation but instead look for increased cycles to failure with each design optimization iteration. 8 design optimization In order to find an optimal design we iterated through two more 2D designs before mov- ing onto a 3D one. Each time the design was changed, a new run of 2D FEA and lifetime analysis was performed. The first design iteration changed the shape profile of the con-
  • 16. design optimization 16 (a) The profile of our first design iteration. Thick- ness into the page for this design is 0.5 inches. (b) The profile of our second design iteration. Thickness into the page for this design is 1 inches. Figure 14: The profiles of our two design iterations. necting rod while maintaining its original thickness of 0.5 inches. We increased the width of the middle beam section while decreasing the thickness of the material surrounding the crank shaft and piston pin. This was done in an attempt to increase its fatigue fracture lifetime while not drastically increasing material use as shown in Figure 14a and Figure 15. While this produced more cycles to failure, COMSOL results still showed contact stress still being very close to the yield strength as well as a drastically increased amount of elastic deformation in each cycle. Another design iteration (shown in Figure Figure 14b and Figure 16) was performed keeping the shape profile the same but increasing the beam thickness as well as the thickness of the material around crankshaft. This change produced a more favorable safety factor against yield as well as increased cycles to failure. The third design’s increased strength results and 1 inch thick contact areas were satisfac- tory enough to allow us to move onto 3D analysis while feeling confident about removing material to turn the connecting rod into an I-beam. The results of our design iterations are produced in the table below. Design One Design Two Design Three Maximum Von Mises Stress (σ ) 5.98x108 Pa 5.44x108 Pa 2.71x108 Pa Yield Safety Factor (ny) 1.19 1.31 2.62 S-N Lifetime Infinite Infinite Infinite Fatigue Fracture Lifetime ny 14032 cycles 14578 cycles 19300 cycles
  • 17. design optimization 17 Figure 15: 2D FEA results of our first design iteration. Thickness into the page for this design is 0.5 inches. Figure 16: 2D FEA results of our second design iteration. Thickness into the page for this design is 1 inch.
  • 18. three-dimensional solid model 18 9 three-dimensional solid model With the satisfactory results from our third redesign we began our move to 3D using the 2D profile of Design Three shown in Figure 14b. Modeling was done in SolidWorks and continued to use AISI 4340 normalized steel as the material of choice due to its properties and availability. Because 2D FEA simulations showed low stress in the beam portion of the connecting rod even at the thinner thickness of 0.5 inches, we chose to use that as the nominal thickness in our bar. However, in order to keep our advantage against yield due to contact stresses at the piston pin, we kept the thickness of that area at 1 inch as simulated in Design Three of our 2D analysis. With this overall shape we added Figure 17: Our first detailed 3D solid model design. wings for the later addition of crankshaft bolts as well as numerous fillets to reduce stress concentrations at design corners and edges. Material was also cut out on both sides of the beam portion to reduce weight. This cutout also changed the rod’s cross-section to that of an I-beam. The completed 3D model of our connecting rod can be seen in Figure 17. 10 three-dimensional elastic finite element analysis The 3-D model created in SolidWorks was imported into ABAQUS to perform a Finite Element Analysis on our fully designed connecting rod. Simulation was done for the most critical crankshaft angle π/10 radians, which was found determined from the re- sults of our 2D COMSOL FEA. By applying the axial and transverse body forces on the connecting rod and the corresponding compressive force from the Piston pin, the stress concentrations at every node of our 3-D model was found. This was done to determine
  • 19. three-dimensional elastic finite element analysis 19 Figure 18: Abaqus results for our first 3D design. which areas were developing the greatest stresses and whether the connecting rod would yield under the stress. During the first run the nominal thickness of the bar was 0.5 inches with the pin contact areas having increased thickness of 1 inch as per our design presented in the previous section. The maximum stress was found to be on the fillet of the I-beam cutout closest to the Piston Pin, shown in Figure 18. The maximum Von Mises stress was 4.76 MPa. When compared to the yield strength of Forged 4340 Steel, this gave a safety factor of 1.49. This value was too low to safely implement into a car, so one itera- tion of the 3D design was performed to increase nominal thickness of the rod increasing it to 1 inch and the thickness of the connecting pin areas to 1.5 inch. Some alterations of the fillets were also performed and the differences between the two 3D designs can be seen in figure 19. Although this increases the amount of material required to manufacture the connecting rod, which corresponds to an increase in the cost of the part, this design alteration was necessary to ensure that yielding does not occur during a single loading cycle. With a thicker connecting rod, the maximum stress was calculated to be 3.61 MPa, giving a safety factor of 1.97. The safety factor for the second design is significantly more conservative so it was selected as our final design. The stress state of the second and final connecting rod is shown in Figure 20. Engineering drawings and a render of our final design can be found in Appendix C.
  • 20. three-dimensional elastic finite element analysis 20 Figure 19: A comparison of our two 3D designs. Figure 20: Abaqus results for our second and final 3D design.
  • 21. discussion & conclusions 21 11 discussion & conclusions Though it took several iterations at different points, we believe the final design of our connecting rod is acceptable for further deeper analysis and/or prototyping. Overall, we encountered favorable results in beam bending simulations and 2D FEA plane stress analysis. In the analytical analysis, our design produced large safety factors for buckling (ny−axis = 16.25 and nz−axis = 64.98). With some design changes we were also able to reach a safety factor of 2.62 for yield in a 2D plane stress simulation. In the S-N lifetime analysis, we achieved favorable infinite life results but had to use fatigue data and all other material property values at room temperature due to the lack of availability of data at engine operation temperatures. The normal car engine operating temperature is between 195 F and 220 F, which is around 95 C[11]. As temperature affects the strength of material, there must be an error in the analysis. However, around this tem- perature, the ratio of tensile strength at operating temperature and at room temperature for steel is 1.020.[1] The actual material strength at the engine operating temperature is higher than at room temperature. By using the room temperature values, our analysis corresponds to a worst case scenario. This means that we can safely say infinite life for S-N fatigue analysis will hold at true engine temperatures. Although overall our fatigue fracture lifetime was small in comparison to the expected level for infinite lifetime, this was mainly due to the use of simplified crack propagation techniques. We were however able to increase our cycles to failure significantly which attests to the success of our design iterations. Finally, in the 3D analysis we similarly produced satisfactory results to the 2D case after some small design tweaking. The promising results from our analysis for a Ferrari F136 F engine connecting rod supports moving forward with more refined 3D analysis and/or prototyping. While there were initial issues with high contact forces and yielding, our final design was calculated to not fail under the operative axial or radial forces. Using these results we might wish to continue on with a rigorous cost and weight analysis to provide a satisfactory final product for both the consumer and the manufacturer. 12 appendix a - derivations
  • 22. appendix a - derivations 22 Figure 21: Kinematic equation derivations
  • 23. appendix a - derivations 23 Figure 22: Dynamic equation derivations
  • 24. appendix b - matlab code 24 13 appendix b - matlab code 13.1 Load Analysis 1 % MAE 296A Project, Fall 2015 2 % Load_Analysis 3 clc 4 clear 5 close all 6 disp('Load Analysis') 7 8 9 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 10 % Engine Parameters (choose you own values) - Ferrari F136F Engine Used in 11 % Ferrari 458 italia GT3 2011-2013 12 omega=6000; % Engine angular speed [rpm] 13 T=540; % Engine Torque at omega=6000 [Nm] 14 V=0.004499; % Engine total dispacement [m^3] 15 n=8; % Number of cylinders 16 r=0.0405; % half stroke length [m] 17 l=0.144; % connectin rod length [m] 18 19 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 20 % Mass Properties (input your own values. Values will be refined when you ... have your solid model) 21 mp=0.4; % piston mass [kg] 22 mg=0.55764; % connecting rod mass [kg] 23 beta=0.3250; % ralative position of G [-] beta= where ... beta=((l/2)-(Solidworks CoM))/l is center to center legnth of holes ... (l=144m) 24 J=0.0018907464; % moment of inertia [Kg*m^2] Lyy from solidworks 25 26 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 27 % Automatically generated values (do not edit) 28 rpm2rads=2*pi/60; % conversion factor rpm to rad/s [rad/s/rpm] 29 omega=omega*rpm2rads; % Engine angular speed [rad/s] 30 Vc=V/n; % cylinder volume [m^3] 31 A=Vc/(2*r); % piston surface area [m^2] 32 lambda=r/l; % lambda ratio [-] 33 mep=4*pi*T/V; % mean effective pressure [Pa] 34 eta=0.8; % engine mechanical efficiency [-] 35 mip=mep/eta; % mean indicated pressure [Pa] 36 37 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 38 % load the combustion data (do not edit) 39 %load combustion_pressure 40 load cp_downsampled_v6 41 42 pressure=pressure*mip; % rescale presure based on engine parameters 43 figure(1)
  • 25. appendix b - matlab code 25 44 plot(phi,pressure,'Linewidth',2) 45 xlim([-2*pi 2*pi]) 46 grid on 47 xlabel('crank angle [rad]') 48 ylabel('combustion pressure [Pa]') 49 set(gcf , ... 50 'Color' , 'w' ); 51 set(gca, ... 52 'FontName' , 'Helvetica' , ... 53 'Box' , 'off' , ... 54 'TickDir' , 'out' , ... 55 'TickLength' , [.02 .02] , ... 56 'XMinorTick' , 'on' , ... 57 'YMinorTick' , 'on' , ... 58 'XGrid' , 'on' , ... 59 'YGrid' , 'on' , ... 60 'XColor' , [.15 .15 .15] , ... 61 'YColor' , [.15 .15 .15] , ... 62 'LineWidth' , 1 ); 63 64 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 65 % Calculate Inertial Components (complete here - done 10/9) 66 dgamma=-lambda*cos(phi)*omega./ ... 67 sqrt((1-lambda^2*sin(phi).^2));% first time derivative of gamma 68 ddgamma=(1-lambda^2)*lambda*sin(phi)*omega^2./ ... 69 (1-lambda^2*sin(phi).^2).^(3/2);% first time derivative of gamma 70 R=r*[-sin(phi) cos(phi)]; % position of R 71 P=l*[zeros(length(phi),1) lambda*cos(phi)+sqrt(1-lambda^2*sin(phi).^2)]; ... % position of P 72 G=R+beta*(P-R); % position of G 73 ddR=-(omega^2)*(R); % acceleration of R 74 ddP=l*lambda*[zeros(length(phi),1) ... cos(phi).*(dgamma-omega)*omega+sin(phi).*ddgamma]; % acceleration of P 75 ddG=(1-beta)*ddR+beta*ddP; %(My edit) 76 % acceleration of G 77 78 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 79 % Calculate Contact Forces (complete here - done 10/9) 80 FPRy=-mp*ddP(:,2)-pressure*A; 81 FSRy=mg*ddG(:,2)-FPRy; %my Edit 82 FPRx=beta*mg*ddG(:,1)-(J*ddgamma-((beta-1)*FPRy+beta*FSRy) ... 83 .*R(:,1))./(P(:,2)-R(:,2)); 84 FSRx=mg*ddG(:,1)-FPRx; %my Edit 85 86 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 87 % Store forces in vector form for easier manipulation (do not edit) 88 FPR=[FPRx FPRy]; 89 FSR=[FSRx FSRy]; 90 91 %cross2Dv(FSR,G-R)+cross2Dv(FPR,G-P)-J*ddgamma 92 %return 93 94 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  • 26. appendix b - matlab code 26 95 % Find the axial components of forces (complete here - not edited 10/9) 96 a=1/l*(P-R); % axial unit vector 97 FPRa=dot2Dv(a,FPR); 98 FSRa=dot2Dv(a,FSR); 99 ddGa=dot2Dv(a,ddG); 100 101 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 102 % Find the transverse components of forces (complete here - not edited 10/9) 103 t=[-a(:,2) a(:,1)]; % unit vector along the trasverse direction 104 FPRt=dot2Dv(t,FPR); 105 FSRt=dot2Dv(t,FSR); 106 ddGt=dot2Dv(t,ddG); 107 108 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 109 % Store forces in vector form in the axial-transverse 110 % reference system (do not edit) 111 FPRat=[FPRa FPRt]; 112 FSRat=[FSRa FSRt]; 113 ddGat=[ddGa ddGt]; 114 115 Gat=[ones(length(phi),1) zeros(length(phi),1)]*beta*l; 116 Rat=[zeros(length(phi),1) zeros(length(phi),1)]; 117 Pat=[ones(length(phi),1) zeros(length(phi),1)]*l; 118 %cross2Dv(FSRat,Gat-Rat)+cross2Dv(FPRat,Gat-Pat)-J*ddgamma 119 %FPRat+FSRat-mg*ddGat 120 %return 121 122 figure(2) 123 plot(phi,FPRa,'r','Linewidth',2) 124 hold on 125 plot(phi,FSRa,'b','Linewidth',2) 126 plot(phi,-mg*ddGa,'k','Linewidth',2) 127 legend(texlabel('Phi_{PRa}'),texlabel('Phi_{SRa}'),texlabel('-m_g ddGa')) 128 grid on 129 xlabel([texlabel('phi ') '[rad]']) 130 ylabel([texlabel('Axial Forces ') '[N]']) 131 print(gcf, '-depsc', 'axial') 132 set(gcf , ... 133 'Color' , 'w' ); 134 set(gca, ... 135 'FontName' , 'Helvetica' , ... 136 'Box' , 'off' , ... 137 'TickDir' , 'out' , ... 138 'TickLength' , [.02 .02] , ... 139 'XMinorTick' , 'on' , ... 140 'YMinorTick' , 'on' , ... 141 'XGrid' , 'on' , ... 142 'YGrid' , 'on' , ... 143 'XColor' , [.15 .15 .15] , ... 144 'YColor' , [.15 .15 .15] , ... 145 'LineWidth' , 1 ); 146 147 figure(3)
  • 27. appendix b - matlab code 27 148 plot(phi,FPRt,'r','Linewidth',2) 149 hold on 150 plot(phi,FSRt,'b','Linewidth',2) 151 plot(phi,-mg*ddGt,'k','Linewidth',2) 152 legend(texlabel('Phi_{PRt}'),texlabel('Phi_{SRt}'),texlabel('-m_g ddGt')) 153 grid on 154 xlabel([texlabel('phi ') '[rad]']) 155 ylabel([texlabel('Transverse Forces ') '[N]']) 156 print(gcf, '-depsc', 'transverse') 157 set(gcf , ... 158 'Color' , 'w' ); 159 set(gca, ... 160 'FontName' , 'Helvetica' , ... 161 'Box' , 'off' , ... 162 'TickDir' , 'out' , ... 163 'TickLength' , [.02 .02] , ... 164 'XMinorTick' , 'on' , ... 165 'YMinorTick' , 'on' , ... 166 'XGrid' , 'on' , ... 167 'YGrid' , 'on' , ... 168 'XColor' , [.15 .15 .15] , ... 169 'YColor' , [.15 .15 .15] , ... 170 'LineWidth' , 1 ); 171 172 error_axial=max(abs(FPRa+FSRa-mg*ddGa)) 173 error_transverse=max(abs(FPRt+FSRt-mg*ddGt)) 174 175 disp('Done')
  • 28. appendix b - matlab code 28 13.2 Beam Analysis 1 % MAE 296A Project 2 % Beam_Analysis 1 3 disp('Beam Analysis 1') 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 % Bending moment diagram 7 Mx=[zeros(length(phi),1) -FSRt*beta*l -FSRt*beta*l-J*ddgamma ... zeros(length(phi),1)]; 8 Mmax=max(max(Mx)); % maximum of bending moment over x and phi 9 Mmin=min(min(Mx)); % minimum of bending moment over x and phi 10 % Axial load diagram 11 Px=[-FSRa -FSRa FPRa FPRa]; 12 Pmax=max(max(Px)); % maximum of axial load over x and phi 13 Pmin=min(min(Px)); % minimum of axial load over x and phi 14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 % Movie 17 figure(4) 18 clf 19 subplot(2,2,1) 20 plot(phi,FPRa,'r','Linewidth',2) 21 hold on 22 plot(phi,FSRa,'b','Linewidth',2) 23 plot(phi,-mg*ddGa,'k','Linewidth',2) 24 legend(texlabel('Phi_{PRa}'),texlabel('Phi_{SRa}'),texlabel('-m_g ddGa')) 25 grid on 26 xlabel([texlabel('phi ') '[rad]']) 27 ylabel([texlabel('Axial Forces ') '[N]']) 28 v1=axis; 29 30 subplot(2,2,3) 31 plot(phi,FPRt,'r','Linewidth',2) 32 hold on 33 plot(phi,FSRt,'b','Linewidth',2) 34 plot(phi,-mg*ddGt,'k','Linewidth',2) 35 legend(texlabel('Phi_{PRt}'),texlabel('Phi_{SRt}'),texlabel('-m_g ddGt')) 36 grid on 37 xlabel([texlabel('phi ') '[rad]']) 38 ylabel([texlabel('Transverse Forces ') '[N]']) 39 v3=axis; 40 41 subplot(2,2,2) 42 xlabel('x [m]') 43 ylabel('Axial Load [N]') 44 45 subplot(2,2,4) 46 xlabel('x [m]') 47 ylabel('Bending Moment [Nm]') 48 set(gcf , ...
  • 29. appendix b - matlab code 29 49 'Color' , 'w' ); 50 51 for kk=1:length(phi) 52 subplot(2,2,1) 53 p1=plot([phi(kk) phi(kk)],[v1(3) v1(4)],'m','Linewidth',2); 54 55 set(gca, ... 56 'FontName' , 'Helvetica' , ... 57 'Box' , 'off' , ... 58 'TickDir' , 'out' , ... 59 'TickLength' , [.02 .02] , ... 60 'XMinorTick' , 'on' , ... 61 'YMinorTick' , 'on' , ... 62 'XGrid' , 'on' , ... 63 'YGrid' , 'on' , ... 64 'XColor' , [.15 .15 .15] , ... 65 'YColor' , [.15 .15 .15] , ... 66 'LineWidth' , 1 ); 67 68 subplot(2,2,3) 69 p2=plot([phi(kk) phi(kk)],[v3(3) v3(4)],'m','Linewidth',2); 70 71 set(gca, ... 72 'FontName' , 'Helvetica' , ... 73 'Box' , 'off' , ... 74 'TickDir' , 'out' , ... 75 'TickLength' , [.02 .02] , ... 76 'XMinorTick' , 'on' , ... 77 'YMinorTick' , 'on' , ... 78 'XGrid' , 'on' , ... 79 'YGrid' , 'on' , ... 80 'XColor' , [.15 .15 .15] , ... 81 'YColor' , [.15 .15 .15] , ... 82 'LineWidth' , 1 ); 83 84 subplot(2,2,4) 85 hold on 86 p3=plot([0 beta*l beta*l l]', Mx(kk,:),'Linewidth',2); 87 grid on 88 axis([0 l Mmin Mmax]) 89 90 set(gca, ... 91 'FontName' , 'Helvetica' , ... 92 'Box' , 'off' , ... 93 'TickDir' , 'out' , ... 94 'TickLength' , [.02 .02] , ... 95 'XMinorTick' , 'on' , ... 96 'YMinorTick' , 'on' , ... 97 'XGrid' , 'on' , ... 98 'YGrid' , 'on' , ... 99 'XColor' , [.15 .15 .15] , ... 100 'YColor' , [.15 .15 .15] , ... 101 'LineWidth' , 1 );
  • 30. appendix b - matlab code 30 102 103 subplot(2,2,2) 104 hold on 105 p4=plot([0 beta*l beta*l l]', Px(kk,:),'Linewidth',2); 106 grid on 107 axis([0 l Pmin Pmax]) 108 109 set(gca, ... 110 'FontName' , 'Helvetica' , ... 111 'Box' , 'off' , ... 112 'TickDir' , 'out' , ... 113 'TickLength' , [.02 .02] , ... 114 'XMinorTick' , 'on' , ... 115 'YMinorTick' , 'on' , ... 116 'XGrid' , 'on' , ... 117 'YGrid' , 'on' , ... 118 'XColor' , [.15 .15 .15] , ... 119 'YColor' , [.15 .15 .15] , ... 120 'LineWidth' , 1 ); 121 122 drawnow 123 if kk=length(phi) 124 delete(p1) 125 delete(p2) 126 delete(p3) 127 delete(p4) 128 end 129 end 130 disp('Done') 131 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1 % MAE 296A Project 2 % Beam_Analysis 2 3 disp('Beam Analysis 2') 4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 % Material properties (complete here - Edited 10/9) 7 E=2.05e11; % Young modulus (in Pa) 8 sy=710e6; % yield strength (in Pa) 9 10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 % Geometric properties (complete here - Edited 10/9) 12 h=0.0254; % heigth of the beam (in m) 13 b=0.0127; % tickness of the beam (in m) 14 Ax=b*h; % cross section area 15 Iz=b*h^3/12; % moment of inertia with respect to the z axis 16 Iy=h*b^3/12; % moment of inertia with respect to the y axis 17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 % The maximum axial stress over x and y is 19 Smax=abs(Px)/Ax+abs(Mx)*h/(2*Iz); % axial stress as a function ... of x and phi
  • 31. appendix b - matlab code 31 20 smax=max(max(Smax)); % maximum axial stress in the ... beam 21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 22 % Check for elastic yield (do not edit) 23 yield_safety_facor=sy/smax 24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 25 % Check for buckling using Iz (do not edit) 26 Pcr_z=pi*2*E*Iz/l^2 27 buckling_z_safety_facor=Pcr_z/max(max(Px)) 28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 29 % Check for buckling using Iy (do not edit) 30 Pcr_y=pi*2*E*Iy/l^2 31 buckling_y_safety_facor=Pcr_y/max(max(Px)) 32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 33 % plot the cross section (do not edit) 34 figure(5) 35 clf 36 plot([-b/2 b/2 b/2 -b/2 -b/2],[-h/2 -h/2 h/2 h/2 -h/2],'Linewidth',2) 37 hold on 38 plot(1.1*[-b b]/2,[0 0],'-.k') 39 plot([0 0],1.1*[-h h]/2,'-.k') 40 axis equal 41 xlabel(['z [m]']) 42 ylabel(['y [m]']) 43 title('cross section') 44 disp('Done') 45 set(gcf , ... 46 'Color' , 'w' ); 47 set(gca, ... 48 'FontName' , 'Helvetica' , ... 49 'Box' , 'off' , ... 50 'TickDir' , 'out' , ... 51 'TickLength' , [.02 .02] , ... 52 'XMinorTick' , 'on' , ... 53 'YMinorTick' , 'on' , ... 54 'XGrid' , 'on' , ... 55 'YGrid' , 'on' , ... 56 'XColor' , [.15 .15 .15] , ... 57 'YColor' , [.15 .15 .15] , ... 58 'LineWidth' , 1 );
  • 32. appendix b - matlab code 32 13.3 S-N Fatigue Analysis 1 %Fatigue Analysis using Rainflow counting method 2 clc 3 clear 4 sigmax = importdata('sigmaxSimple3.txt'); 5 sigmay = importdata('sigmaySimple3.txt'); 6 sigmaxy = importdata('sigmaxySimple3.txt'); 7 8 9 %*********Input values************************************************ 10 Sy = 71e7; %yield strength 11 Ny = 4e4; %yield cycles 12 Sut = 86.1e7; %ultimate strength 13 Se = modified_endurance_limit(Sut); % endurance stress limit 14 Ne = 2e7; % endurance cycles 15 16 % Sy ---^-------- 17 % | 18 % | 19 % | 20 % Se ---+---+----- 21 % | | 22 % +---------> N 23 % Ny Ne 24 %********************************************************************* 25 26 %**** Inputing Stresses (x, y, xy)************************************ 27 sx = sigmax; %[node,cycle] 28 sy = sigmay; %[node,cycle] 29 sxy = sigmaxy; %[node,cycle] 30 31 allstress = zeros(3,size(sx,2)-2,size(sx,1)); 32 % store the stress components in a 3-dimensional array [component, ... cycle,node] 33 34 for f=1:size(sx,1) %loop through nodes 35 allstress(1,:,f)=sx(f,3:end); 36 end 37 for f2=1:size(sy,1) %loop through nodes 38 allstress(2,:,f2)=sy(f2,3:end); 39 end 40 for f3=1:size(sxy,1) %loop through nodes 41 allstress(3,:,f3)=sxy(f3,3:end); 42 end 43 %***************************************************************** 44 45 %*****************Principle Stresses (sigma 1 and 2)********************** 46 %Transform the stress state at each state into principle stresses 47 %Because the stress state is two-dimensional, we can use Mohr's circle ... equations
  • 33. appendix b - matlab code 33 48 49 principlestress = zeros(2,size(allstress,2),size(allstress,3)); 50 % store the stress components in a 3-dimensional array [principle ... component, cycle, node] 51 52 for u1=1:size(principlestress,3) %loop through nodes 53 for u2=1:size(principlestress,2) %loop through cycle 54 sigma_x = allstress(1,u2,u1); 55 sigma_y = allstress(2,u2,u1); 56 sigma_xy = allstress(3,u2,u1); 57 58 sigma_1 = 0.5*(sigma_x + sigma_y) + sqrt( (0.5*(sigma_x - ... sigma_y))^2 + sigma_xy^2 ); 59 sigma_2 = 0.5*(sigma_x + sigma_y) - sqrt( (0.5*(sigma_x - ... sigma_y))^2 + sigma_xy^2 ); 60 61 principlestress(1,u2,u1) = sigma_1; 62 principlestress(2,u2,u1) = sigma_2; 63 end 64 end 65 %***************************************************************** 66 67 %*****************Damage Analysis***************************************** 68 oneNodeStresses = zeros(size(principlestress,2), 1); % [cycle] 69 Dc_damage = zeros(size(principlestress,3), 1); % [node] 70 71 for ii=1:1:size(principlestress,3) %loop through nodes 72 73 Both_Dc_damage = 0; 74 for kk=1:1:size(principlestress,1) %loop through components 75 76 for gg=1:1:size(principlestress,2) %loop through cycles 77 oneNodeStresses(gg,1) = principlestress(kk,gg,ii); 78 end 79 [maxstress, minstress, meanstress, alternatingstress] = ... rainflow_counter(oneNodeStresses); 80 81 Dc = 0; 82 for pp=1:1:size(meanstress,1) %loop through peaks 83 84 sigma_m = meanstress(pp,1); 85 sigma_a = alternatingstress(pp,1); 86 87 %**** Soderberg criteria ****** 88 Si = sigma_a/(1-(sigma_m/Sy)); 89 %******************************* 90 91 %**** From S-N curve *********** 92 m =(Sy-Si)/(Sy-Se); 93 Ni = Ny*(Ne/Ny)^m; 94 95 if (Si Se) 96 Ni = inf;
  • 34. appendix b - matlab code 34 97 end 98 if (Si Sy) 99 Ni = Ny; 100 end 101 102 %******************************* 103 104 %**** Palgren-Miner *********** 105 n_i = 0.5; 106 Di = n_i/Ni; 107 Dc = Dc + Di; 108 109 %******************************* 110 end %end of loop through peaks 111 112 Both_Dc_damage = Both_Dc_damage + Dc; 113 114 end %end of loop through components 115 116 Dc_damage(ii) = Both_Dc_damage; 117 118 end %end of loop through nodes 119 120 Nt = 1/max(max(Dc_damage)) 121 122 %************************************************************************* 123 124 %*****************Plotting Damage***************************************** 125 figure(1) 126 scatter3(sx(:,1),sx(:,2),zeros(size(sx(:,1))),20,Dc_damage(:,1),'filled') 127 axis equal 128 view(0,90) 129 grid off 130 colorbar 131 title('Single Cycle Damage Parameter: Dc') 132 xlabel('X Coordinate [m]') 133 ylabel('Y Coordinate [m]') 134 %************************************************************************* 1 function [Se_mod] = modified_endurance_limit( Sut ) 2 3 %****** Calculate modified endurance limit************ 4 5 %********** Average Endurance Limit ********************** 6 if (Sut 1400e6) %1400 MPa 7 Se = 0.5*Sut; 8 end 9 if (Sut > 1400e6) %1400 MPa 10 Se = 700e6; %700 MPa 11 end 12
  • 35. appendix b - matlab code 35 13 %****************** Surface Factor, ka ************************ 14 15 % Surface Finish | a | b | 16 % -------------------------------------------------- 17 % Ground | 1.58 | -0.085 | 18 % Machined or cold-drawn | 4.51 | -0.265 | 19 % Hot-rolled | 57.7 | -0.718 | 20 % As-forged | 272.0 | -0.995 | 21 22 %Assuming machined surface finish, but you can modify the code for 23 %another choose 24 25 a = 4.51; 26 b = -0.265; 27 28 ka = a*(Sut/1e6)^b; %Sut is in Pa and ka = a*Sut^b uses Sut in MPa 29 %so 1e6 modification used. 30 31 %****************** Size Factor, kb ************************ 32 33 %Axial loading causes the most fatigue damage. 34 %Therefore, the size factor will be based on axial loading. 35 %Axial loading has no size effect, so kb = 1; 36 37 kb = 1; 38 39 %****************** Loading Factor, kc ************************ 40 41 % { 1 bending 42 % kc = { 0.85 axial 43 % { 0.59 pure torsion 44 45 %Axial loading is assumed to dominate. 46 47 kc = 0.85; 48 49 %****************** Temperature Factor, kd ************************ 50 51 %This value can be modified for your engine temperature 52 Tf = 90; % degrees F where 70 Tf 1000 53 54 kd = ... 0.975+((0.432e-3)*Tf)-((0.115e-5)*Tf^2)+((0.104e-8)*Tf^3)-((0.595e-12)*Tf^4); 55 56 %****************** Reliability Factor, ke ************************ 57 58 %This is statistical data for endurance strength 59 60 %Column 1: Reliability (%) 61 %Column 2: Reliability Factor 62 reliability_table = [50 1.0; 63 90 0.897; 64 95 0.868;
  • 36. appendix b - matlab code 36 65 99 0.814; 66 99.9 0.753; 67 99.99 0.702; 68 99.999 0.659; 69 99.9999 0.620 ]; 70 71 72 ke = reliability_table(3,2); %Using 95% reliability. 73 %You can choose your reliability percent 74 75 %********** Modified Endurance Limit ********************** 76 77 Se_mod = ka*kb*kc*kd*ke*Se; 78 79 end 1 function [maxstress, minstress, meanstress, alternatingstress] = ... rainflow_counter( stress ) 2 % stress, maxstress, and minstress are column vectors. 3 %******************************************************************* 4 %Finding all of the min and max values (peaks) for rainflow counting 5 slope = 0; 6 old_slope = 0; 7 actual_start_stress = 0; 8 i = 1; 9 count = 1; 10 actual_stress = [0]; 11 temp = [0]; 12 first_peak = 0; %if = 1 first peak is a max 13 %if = -1 first peak is a min 14 15 %****For the first value to establish the first old_slope***** 16 p = 0; 17 while p < size(stress, 1) 18 start1_stress = stress(size(stress, 1)-p,1); 19 next1_stress = stress(1,1); 20 if (start1_stress = next1_stress) 21 22 if (start1_stress > next1_stress) 23 old_slope = -1; 24 p = size(stress, 1) + 1; 25 end 26 if (start1_stress < next1_stress) 27 old_slope = 1; 28 p = size(stress, 1) + 1; 29 end 30 end 31 p = p + 1; 32 %******************************************************* 33 end 34
  • 37. appendix b - matlab code 37 35 while i < size(stress, 1) %size: 1 = row, 2 = column 36 start_stress = stress(i,1); 37 next_stress = stress(i+1,1); 38 if (start_stress = next_stress) 39 if (start_stress > next_stress) 40 slope = -1; 41 end 42 if (start_stress < next_stress) 43 slope = 1; 44 end 45 if (old_slope = 0) 46 if (old_slope = slope) 47 %*******Found a peak or valley************* 48 for x=1:1:size(actual_stress, 1) 49 temp(x,1)= actual_stress(x,1); 50 end 51 actual_stress = zeros(count, 1); 52 for y=1:1:size(temp, 1) 53 actual_stress(y,1)= temp(y,1); 54 end 55 actual_stress(count,1) = start_stress; 56 count = count + 1; 57 temp = zeros(count, 1); 58 59 if (first_peak == 0) 60 if (slope == -1)%peak/maximum 61 first_peak = 1; 62 end 63 if (slope == 1) %valley/minimum 64 first_peak = -1; 65 end 66 end 67 end 68 %**************************************** 69 end 70 end 71 old_slope = slope; 72 i = i+1; 73 end 74 %******************************************************************* 75 %Adds the first peak value to 'actual_stress' as the last peak value 76 for t=1:1:size(actual_stress, 1) 77 temp(t,1)= actual_stress(t,1); 78 end 79 actual_stress = zeros(count, 1); 80 for g=1:1:size(temp, 1) 81 actual_stress(g,1)= temp(g,1); 82 end 83 actual_stress(count,1) = actual_stress(1,1); 84 %******************************************************************* 85 86 %**************************Rule 1, 2, and 3*************************** 87 minstress = zeros((size(actual_stress, 1)-1),1);
  • 38. appendix b - matlab code 38 88 maxstress = zeros((size(actual_stress, 1)-1),1); 89 meanstress = zeros((size(actual_stress, 1)-1),1); 90 alternatingstress = zeros((size(actual_stress, 1)-1),1); 91 92 ender = -1; 93 stressmarkers = zeros(size(actual_stress, 1),5); 94 %1: beginning value; values of -1 mean the marker is empty 95 %2: stop value 96 %3: stress value for top rainflow marker 97 %4: stress value for bottom rainflow marker 98 %5: 1 = top marker or 2 = bottom marker 99 for a=1:1:size(stressmarkers, 1) 100 stressmarkers(a,1) = -1; 101 end % setting all stress markers to empty 102 stressmarkercount = 1; 103 stoppedbymarker = 0; 104 for k=1:1:(size(actual_stress, 1)-1) %loop through all peaks and valleys 105 maxvalue = actual_stress(k,1); 106 nextmarker = 0; 107 %***loop through to find next highest peak or lowest valley***** 108 j = k; 109 while (j size(actual_stress, 1) ) 110 if (first_peak == 1) 111 if (maxvalue < actual_stress(j,1)) 112 ender = j; 113 j = size(actual_stress, 1)+1; 114 end 115 end 116 if (first_peak == -1) 117 if (maxvalue > actual_stress(j,1)) 118 ender = j; 119 j = size(actual_stress, 1)+1; 120 end 121 end 122 j = j + 2; 123 end 124 if (ender == -1) 125 ender = size(actual_stress, 1); 126 end 127 %************************************************************* 128 129 %***loop through to find next highest peak or lowest valley***** 130 %For the opposition (peak or valley) 131 maxopposite = actual_stress(k+1,1); 132 L = k+1; 133 while (L ender) 134 if (first_peak == 1) 135 %*********Looping through markers************** 136 b = 1; 137 while (b size(stressmarkers, 1)) 138 if (stressmarkers(b,1) = -1) 139 if (stressmarkers(b, 5) == 2) 140 endmarker = stressmarkers(b,2);
  • 39. appendix b - matlab code 39 141 if (endmarker == L) 142 %******Rainflow from above has stopped it 143 stoppedbymarker = 1; 144 maxopposite = stressmarkers(b,4); %bottom ... value. 145 stressmarkers(b, 1) = -1; 146 b = size(stressmarkers, 1)+1; 147 %*********************************** 148 end 149 end 150 end 151 b = b + 1; 152 end 153 %********************************************* 154 if (maxopposite > actual_stress(L,1)) 155 stop = L; 156 if (oncethroughL == 1) 157 %*********Leaving a stop marker************** 158 stressmarkers(stressmarkercount, 1) = k+1; 159 stressmarkers(stressmarkercount, 2) = stop; 160 stressmarkers(stressmarkercount, 4) = ... actual_stress(k+1+nextmarker,1); 161 stressmarkers(stressmarkercount, 5) = 2; 162 stressmarkercount = stressmarkercount +1; 163 nextmarker = L - (k+1); 164 %********************************************* 165 end 166 if (stoppedbymarker == 0) 167 maxopposite = actual_stress(L,1); 168 end 169 %********************************************* 170 end 171 end 172 if (first_peak == -1) 173 %*********Looping through markers************** 174 b = 1; 175 while (b size(stressmarkers, 1)) 176 if (stressmarkers(b,1) = -1) 177 if (stressmarkers(b, 5) == 1) 178 endmarker = stressmarkers(b,2); 179 if (endmarker == L) 180 %******Rainflow from above has stopped it 181 stoppedbymarker = 1; 182 maxopposite = stressmarkers(b,3); %top value. 183 stressmarkers(b, 1) = -1; 184 b = size(stressmarkers, 1)+1; 185 %*********************************** 186 end 187 end 188 end 189 b = b + 1; 190 end 191 if (maxopposite < actual_stress(L,1))
  • 40. appendix b - matlab code 40 192 %********************************************* 193 stop = L; 194 if (oncethroughL == 1) 195 %*********Leaving a stop marker************** 196 stressmarkers(stressmarkercount, 1) = k+1; 197 stressmarkers(stressmarkercount, 2) = stop; 198 stressmarkers(stressmarkercount, 3) = ... actual_stress(k+1+nextmarker,1); 199 stressmarkers(stressmarkercount, 5) = 1; 200 stressmarkercount = stressmarkercount +1; 201 nextmarker = L - (k+1); 202 %********************************************* 203 end 204 if (stoppedbymarker == 0) 205 maxopposite = actual_stress(L,1); 206 end 207 %********************************************* 208 end 209 end 210 oncethroughL = 1; 211 L = L+2; 212 if (stoppedbymarker == 1) 213 L = ender+1; 214 end 215 end 216 oncethroughL = 0; 217 stoppedbymarker = 0; 218 219 %************************************************************* 220 %assigns minimum and max stress values 221 if (maxopposite < actual_stress(k,1)) 222 minstress(k,1) = maxopposite; 223 maxstress(k,1) = actual_stress(k,1); 224 end 225 if (maxopposite > actual_stress(k,1)) 226 maxstress(k,1) = maxopposite; 227 minstress(k,1) = actual_stress(k,1); 228 end 229 230 %************************************************************* 231 if (first_peak == 1) 232 first_peak = -1; 233 elseif (first_peak == -1) 234 first_peak = 1; 235 end 236 ender = -1; 237 end 238 239 for b1=1:1:(size(maxstress,1)) 240 meanstress(b1,1) = 0.5*(maxstress(b1,1) + minstress(b1,1)); 241 alternatingstress(b1,1) = 0.5*(maxstress(b1,1) - minstress(b1,1)); 242 end 243
  • 41. appendix b - matlab code 41 244 end %end of function 1 function N=S2N(Sy,Se,Ne,S) 2 % S ^ 3 % | 4 % | 5 % | 6 % Se +---+----- 7 % | | 8 % +---------> N 9 % Ne 10 11 12 13 N=Ne*(S-Sy)/(Se-Sy); % equation of the slope 14 N(find(S<Se))=Inf; % Overwrite values for stresses lower than the ... endurance limit S<Se 15 N(find(S>Sy))=0; % Overwrite values for stresses larger than the ... yield strength 1 function S=soderberg(Sy,Sa,Sm) 2 S=Sa./(1-Sm/Sy);
  • 42. appendix b - matlab code 42 13.4 Fatigue Fracture Analysis 1 % MAE 296A Project, Fall 2015 2 % Fatigue Fracture 3 % Erik Kramer 4 clc 5 clear 6 7 %% Import Data 8 sigmax = importdata('sigmaxSimple.txt'); 9 10 %% Declare Initial Values 11 a=5e-5; %inital crack length in meters (decided from minimum inspection size) 12 asave(1)=a; %crack propogation vector 13 rodWidth=0.0245; %From design geometry 14 N=0; %start with no intital cycles 15 m=2.36; %Paris Constant for material type 16 C=4.5*10^(-12-6*m); %Paris Constant for material type 17 KIc=99e6; %Fracture property for material type 18 cycle=true; %inital set of fast frac conditions 19 Nmax=1.2e9; %value for infinite lifetime Back out N for 300,000 miles ... (200k with safety factor of 1.5) 2 engine cycles per loading cycle N 20 startX=0; %minimum x dim where cracks are allowed to start 21 lastX=0.06; %max x dim where cracks are allowed to start 22 topEdge=0.0127; %Nominal Top surface y dim 23 topEdgeFlux=0.0001; %Top mesh nodes y dim deviation must be postive 24 botEdge=-0.0127; %Nominal bot surface max y dim 25 botEdgeFlux=0.0001; %Bot mesh nodes y dim deviation must be postive 26 meshResolution=0.003; %Given x variation between assumed close by left ... right nodes 27 28 %% Read 2D COMSOL Results for Edge Smax and Smin and Find highest Edge Stress 29 %sigmax needs to be preloaded 30 31 %Finding Stresses at intersted edges 32 TopEdgeStress=sigmax(sigmax(:,2)<(topEdge+topEdgeFlux) & ... sigmax(:,2)>(topEdge-topEdgeFlux) & ... 33 sigmax(:,1)<(lastX) & sigmax(:,1)>(startX),:); 34 BotEdgeStress=sigmax(sigmax(:,2)<(botEdge+botEdgeFlux) & ... sigmax(:,2)>(botEdge-botEdgeFlux) & ... 35 sigmax(:,1)<(lastX) & sigmax(:,1)>(startX),:); 36 EdgeStress=[TopEdgeStress; BotEdgeStress]; 37 38 %Finding Max Stress at the interested edges 39 stressOnlyEdge=EdgeStress; 40 stressOnlyEdge(:,[1 2])=[]; 41 [EdgeMax, Imax]=max(stressOnlyEdge(:)); 42 [EdgeMin, Imin]=min(stressOnlyEdge(:)); 43 [rowMax, colMax]=ind2sub(size(stressOnlyEdge),Imax); 44 [rowMin, colMin]=ind2sub(size(stressOnlyEdge),Imin); 45 colMax=colMax+2;
  • 43. appendix b - matlab code 43 46 colMin=colMin+2; 47 48 49 %Inital Crack location where max edge stress is 50 crackStartX=EdgeStress(rowMax,1); 51 crackStartY=EdgeStress(rowMax,2); 52 53 %Finding inital remote stresses 54 Smax=EdgeStress(rowMax,colMax); 55 if min(stressOnlyEdge(rowMax,:))<0 56 Smin=0; %Min Remote stress tensile from COMSOL DATA assumed zero ... becasue tension-compression 57 else 58 Smin=min(stressOnlyEdge(rowMax,:)); 59 end 60 61 62 %% Stresses Along the Crack Propagation Direction 63 CrackStress=sigmax(sigmax(:,1)>(crackStartX-meshResolution) & ... sigmax(:,1)<(crackStartX+meshResolution),:); 64 65 66 %% Check for Immideate Fracture 67 KImax=BetaFinder(a/rodWidth)*sqrt(pi*a)*Smax; 68 if KImax KIc 69 cycle=false; 70 FastFrac=true; 71 end 72 73 74 %% Run Cycles 75 while cycle==true 76 77 %Progressing Cycles 78 N=N+1; 79 80 %Solves for beta using current a 81 beta=BetaFinder(a/rodWidth); 82 83 %Solves for new a via Paris law 84 a=ParisCrackProp(a,C,m,N,beta,Smax-Smin); 85 asave(N+1)=a; 86 87 %Smax FINISH TO AVERAGE STRESS 88 if crackStartY>0 %top edge 89 currentCrackStress=CrackStress(CrackStress(:,2) crackStartY-a,:); 90 else %bottom edge 91 currentCrackStress=CrackStress(CrackStress(:,2) crackStartY+a,:); 92 end 93 currentCrackStressOnly=currentCrackStress; 94 currentCrackStressOnly(:,[1 2])=[]; 95 96 %average max stress over the length of the crack
  • 44. appendix b - matlab code 44 97 maxCurrent=max(currentCrackStressOnly,[],2); 98 Smax=sum(maxCurrent)/length(maxCurrent); 99 minCurrent=min(currentCrackStressOnly,[],2); 100 minCurrent(minCurrent<0)=0; 101 Smin=sum(minCurrent)/length(minCurrent); 102 103 KImax=BetaFinder(a/rodWidth)*sqrt(pi*a)*Smax; %check for fast fracture 104 if KImax KIc 105 cycle=false; 106 FastFrac=true; 107 end 108 109 if cycle==true && N==Nmax 110 cycle=false; 111 FastFrac=false; 112 end 113 end 114 115 %% Give Results 116 117 if FastFrac==false 118 N=Inf; 119 end 120 121 sprintf('The cycles to failure are %d.',N) 122 123 figure(1) 124 plot(0:N,asave/0.0254,'b'); 125 hold on 126 plot(N,asave(N+1)/0.0254,'rx'); 127 legend('Crack Growth','Fast Fracture','Location', 'Best'); 128 grid on 129 xlabel('Cycles'); 130 ylabel('Crack Length (Inches)'); 131 print(gcf, '-depsc', 'transverse') 132 set(gcf , ... 133 'Color' , 'w' ); 134 set(gca, ... 135 'FontName' , 'Helvetica' , ... 136 'Box' , 'off' , ... 137 'TickDir' , 'out' , ... 138 'TickLength' , [.02 .02] , ... 139 'XMinorTick' , 'on' , ... 140 'YMinorTick' , 'on' , ... 141 'XGrid' , 'on' , ... 142 'YGrid' , 'on' , ... 143 'XColor' , [.15 .15 .15] , ... 144 'YColor' , [.15 .15 .15] , ... 145 'LineWidth' , 1 ); 146 hold off;
  • 45. appendix b - matlab code 45 1 function [anew] = ParisCrackProp(a,C,m,N,beta,dS) 2 %solves for new crack length via Paris' Law 3 Q=C*(beta*sqrt(pi)*dS)^m; 4 z=(1-(m/2)); 5 y=m-2; 6 K=((Q*N-((2*a^z)/(y)))*(y/-2)); 7 anew=K^(1/z); 8 9 end 13.5 3D FEA Analysis 1 clc 2 clear 3 pressure4COMSOL = importdata('pressure4COMSOL.txt'); 4 5 %Inputs [Put in crank angle] 6 %phi = -0.5585; % [rad] crank angle (Angle that causes bending) CRANK ... ANGLE ONE IN ABAQUS 7 phi = 0.3142; % [rad] crank angle (Angle of MAX CONTACT STRESS from ... COMSOL)CRANK ANGLE TWO IN ABAQUS 8 9 %Additional Inputs [Connecting rod parameters] 10 R = 0.0405; %[m] half stroke length 11 L = 0.144; %[m] connecting rod length 12 mp = 0.4; %[kg] piston mass 13 omega = 6000*2*pi/60; %[1/s] engine rotational velocity in rad/sec 14 beta = 0.2874; %[1] relative position of center of mass 15 A = 0.0069; %[m^2] piston area 16 rho = 10000 %[kg/m^3] density of connecting rod 17 Jg = 3.54150667e-3; %[kg m^2] moment of inertia Pz solidworks 18 vol = 133128.69e-9; %[m^3] volume of connecting rod 19 D_pin = 0.022; %[m] Diameter of piston pin 20 t_pin = 0.0354; %[m] Thickness of piston pin 21 22 %Equations ******* DO NOT CHANGE **************************** 23 volume_pin = pi()*t_pin*(D_pin/2)^2; %[m^3] Volume of piston pin 24 pressure = interp1(pressure4COMSOL(:,1),pressure4COMSOL(:,2),phi);% [Pa] ... pressure 25 lam = R/L; % ratio R/L 26 mg =rho*vol; % mass of connecting rod 27 dgamma = -omega*lam*cos(phi)/(1-lam^2*sin(phi)^2)^0.5 % angular velocity ... of the rod 28 ddgamma = omega^2*lam*(1-lam^2)*sin(phi)/(1-lam^2*sin(phi)^2)^1.5 % ... angular acceleration of the rod 29 30 Rx = -R*sin(phi); %x position of Crankshaft pin 31 Ry = R*cos(phi); % y position of Crankshaft pin 32 Px =0; % Piston pin position x
  • 46. appendix c - final design documentation 46 33 Py =L*(lam*cos(phi)+(1-lam^2*sin(phi)^2)^0.5); % Piston pin position y 34 35 ddRx = -omega^2*Rx; % x acceleration of Crankshaft pin 36 ddRy = -omega^2*Ry; % y acceleration of Crankshaft pin 37 ddPx = 0; % x acceleration of Piston pin 38 ddPy = L*lam*((dgamma-omega)*omega*cos(phi)+ddgamma*sin(phi)); % y ... acceleration of Piston pin 39 ddGx = (1-beta)*ddRx+beta*ddPx; % x acceleration of Centroid 40 ddGy =(1-beta)*ddRy+beta*ddPy; % y acceleration of Centroid 41 ax =(Px-Rx)/((Px-Rx)^2+(Py-Ry)^2)^0.5; %x component of axial unit vector 42 ay =(Py-Ry)/((Px-Rx)^2+(Py-Ry)^2)^0.5; %y component of axial unit vector 43 tx =-ay; %x component of transverse unit vector 44 ty =ax; %y component of transverse unit vector 45 46 FPRy= -mp*ddPy-pressure*A; % y Piston Force on pin 47 FSRy =mg*ddGy-FPRy; % y Crankshaft Force on pin 48 FPRx= beta*mg*ddGx-(Jg*ddgamma-((beta-1)*FPRy+beta*FSRy)*Rx)/(Py-Ry); % x ... Piston Force on pin 49 FPRa= FPRx*ax+FPRy*ay; % Axial Piston Force on pin 50 FPRaPerVol =FPRa/volume_pin 51 ddGa =ddGx*ax+ddGy*ay % axial acceleration of Centroid 52 ddGt= ddGx*tx+ddGy*ty % transverse acceleration of Centroid 53 54 %These are body load equations that you will put into Abaqus 55 %ba =-rho*(ddGa-ddgamma*Z-dgamma*dgamma*(X-0.0338)); % Body Load in x 56 %bt =-rho*(ddGt+ddgamma*(X-0.0338)-dgamma*dgamma*Z); % Body Load in y 14 appendix c - final design documentation
  • 47. appendix c - final design documentation 47 Figure 23: A 3D render of our final design
  • 48. appendix c - final design documentation 48 1.00 1.50 7.70 5.67 1.25 1.99 3.47 0.79 R1.15 AA 2.11 0.25 0.87 R0.12 R0.12 R0.12 2.81 0.25 SECTION A-A C D E B F A 23 14 C F E A B D 2 14 3 DRAWN CHK'D APPV'D MFG Q.A UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR: FINISH: DEBURR AND BREAK SHARP EDGES NAME SIGNATURE DATE MATERIAL: DO NOT SCALE DRAWING REVISION TITLE: DWG NO. SCALE:1:5 SHEET 1 OF 1 A4 WEIGHT: FINAL_ROD Figure 24: An engineering drawing of our final design.
  • 49. References 49 references [1] Shigley, Joseph Edward, and John Joseph Uicker. Theory of Machines and Mecha- nisms. International ed. New York: McGraw-Hill, 1980: 15-16. [2] Carley, Larry. "Connecting Rods: So Many Choices - Engine Builder Maga- zine." Engine Builder Magazine. Babcox Media, Inc., 1 Sept. 2008. Web. 10 Oct. 2015. <http://www.enginebuildermag.com /2008/09/connecting-rods-so-many- choices/>. [3] "The 458 Italia’s V8 Voted Best Performance Engine and Best Engine." Ferrari GT. N.p., 18 May 2015. Web. 19 Oct. 2015. [4] http://www.exprobase.com/Default.aspx?page=11# [5] Military Handbook - MIL-HDBK-5H Metallic Materials and Elements for Aerospace Vehicle Structures (Knovel Interactive Edition). Place of Publication Not Identified: U.S. Dept. of Defense. Print. [6] Larsen, James M. Small-crack Test Methods. Philadelphia, PA: ASTM, 1992. Print. [7] Putatunda, S.k., and J.m. Rigsbee. "Effect of Specimen Size on Fatigue Crack Growth Rate in AISI 4340 Steel." Engineering Fracture Mechanics: 335-45. Print. [8] http://infinitemonkeycorps.net/projects/cityspeed/city.html?city= losangelesca [9] http://www.dragtimes.com/2012-Ferrari-458-gear-ratios-top-speed-31.html? tire_width=235&tire_aspect=35&wheel_diam=20&tire_diam=28.1299212598&axle_ ratio=5.140&redline=9000&gear1=3.080&gear2=2.190&gear3=1.630&gear4=1.290& gear5=1.030&gear6=0.840&gear7=0.690&gear8=0.000&calc_button=Calculate [10] http://www.driverside.com/specs/ferrari-458_italia-2012-30960-54122-0 [11] http://www.cars.com