Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of...

26
Performing a solder fatigue analysis with Sherlock and Abaqus is fun! Gil Sharon and Nathan Blattau [email protected] This is a step by step guide to performing a solder fatigue analysis of BGA balls loaded in shear due to temperature cycling. 1 Make the BGA model in Sherlock Import the ODB++ files for the BGA and the board into Sherlock. The black dots are mount pads. The yellow area is the BGA epoxy overmold material. The blue line is the package outline. There is a die with several passive capacitors encased in the overmold for demonstration purposes.

Transcript of Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of...

Page 1: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Performing a solder fatigue analysis with Sherlock and Abaqus is fun!

Gil Sharon and Nathan Blattau

[email protected]

This is a step by step guide to performing a solder fatigue analysis of BGA balls loaded in shear

due to temperature cycling.

1 Make the BGA model in Sherlock

Import the ODB++ files for the BGA and the board into Sherlock.

The black dots are mount pads. The yellow area is the BGA epoxy overmold material. The blue

line is the package outline. There is a die with several passive capacitors encased in the overmold

for demonstration purposes.

Page 2: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

The mount point height is the solder ball thickness. The number of nodes can be set to 8 for most of the solder balls. It would probably be more beneficial to set the number of nodes to 20-30 for any ball that is intended to be modeled in detail in Abaqus. In this example, one of the corner balls is selected.

The BGA is assembled onto the board. The board outline is adjusted because we don’t need to model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export the whole board in some cases, for example, over-constrained boards or components that are close to mount points.

2 Export the whole Sherlock model to ABAQUS

At this point, any refining or changes can be done to the model through the normal Abaqus

interface. The materials from Sherlock are already assigned to each part. It is possible to modify

any of the materials in the “Property” menu.

Page 3: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

3 Create the solder material

File “SAC305.inp” (provided separately) is an Abaqus input file that creates a model with the solder materials SAC305 and SnPB. SAC305.inp can be viewed in Notepad and used as a template for future Abaqus input files. Disclaimer: No effort has been made to ensure the accuracy and reliability of the information within. The Authors and DfR Solutions will not be liable for loss of use, revenue, profit, or any special, incidental, or consequential damages arising out of, connected with, or resulting from, the information. Please use this file as a template only!

4 Import the Solder material model

In ABAQUS: File>Import>Model

Select this file and the material will be created. (Don’t forget to set the file filter to “Abaqus Input

File (*.inp,*.pes)”)

Page 4: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Model>Copy objects

From model: SAC305

Select the material

To Model: Your model name

After importing the material, you can apply it as usual to a section and create section assignments.

You need to set the reference temperature to -273°C.

Page 5: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Model>Edit Attributes>MODEL_NAME

Click the absolute zero temperature option and set to “-273”

5 Create two temperature cycling steps

Page 6: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Name it “CYCLE_1” and set to “Visco”

The time period should be set to the cycle time is seconds. This example is for a one-hour cycle

(3600 seconds).

Page 7: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Repeat to add another cycle called “CYCLE_2”

6 Create the temperature Cycle

Create an amplitude:

Type: Tabular.

In this example, we are setting the amplitude name to “TCB”.

Page 8: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Define the temperature cycle in seconds (Time/Frequency) and degrees Celsius(Amplitude)

7 Create the boundary conditions on the PCB

Page 9: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Create the boundary conditions in the “Initial Step”

8 Edit the BGA ball of interest

In this example, the ball of interest is called BGA_AP_035. The blue elements are SAC305 and

the Red elements are Copper.

Make two sets for these elements. These are the two critical volumes in this ball because at these

two locations, there is the highest probability of crack formation.

Page 10: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

In this example, they are called “SED_1” and “SED_2”

9 Redo the constraints if necessary

After re-meshing the BGA ball you may have to redefine the constraints.

Select Module>Interaction

Click the “Find Contact Pairs” Icon

Page 11: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Select the “Show previously created interaction and ties option”

Delete all the interactions and click “OK”

Reopen the “Find Contact Pairs window”

Click “Find Contact Pairs”

Right click “Type>Edit Cells…”

Click “Tie constraint”, then “OK”

Click “OK”

Page 12: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

10 Create a predefined field in the Initial Step

Category: Other

Type: Temperature

Toggle the selection to “Cells”

Page 13: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Select everything

Set the initial temperature to 25

In CYCLE_1, right click the Predefined field and “Switch Context”

Click the “Predefined Field Manager” icon in the “Load” menu

Page 14: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Click the “Copy” button. Rename to “Predefined Field-2” and set Step to “CYCLE_1”

Highlight the “Predefined Field-2” and “CYCLE_1” cell. Click “Edit”

Change the Magnitude to “1” and the Amplitude to the one created before (From 0 “TCB” in this

example).

Page 15: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Click the “Copy” button. Rename to “Predefined Field-3” and set Step to “CYCLE_2”

Highlight the “Predefined Field-3” and “CYCLE_2” cell. Click “Edit”

Page 16: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Verify the Magnitude is set to “1” and the Amplitude is the one created before (From 0 “TCB” in

this example).

Click “Dismiss”

Page 17: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

11 Field output request

Right click the “Field Output Requests” and select “Create”

Click Continue

Select “Energy”, Thermal>NT and Volumes/Thickness/Coordinates>EVOL

Domain: “Set” and select one of the Element sets created for the detailed solder ball (In this

example it is called “SED_1” in part instance BGA_AP_035)

Select Energy, NT, and EVOL

Page 18: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Repeat for the second ELEMENT SET (BGA_AP_035.SED_2)

12 Create a job and run it

13 Create a field output from fields

Click on the field output icon

Page 19: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Name the Expression (SED _CALC for this example)

Select the second step (“CYCLE_2” in this example)

Select the last frame (Frame 11 in this example) the “Step Time” should be the Cycle time in

seconds. (In this example it is equal to 3600 seconds)

Click on “s2f11_ECDDEN”

The value should appear in the “Expression” box

Page 20: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Next, scroll the Frame to “0-Increment 0: Step Time= 0.000”

Click on the minus “–” Operator or the minus key in your keyboard

Click on “s2f0_ECDDEN” value

Page 21: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

The expression should now look like this:

Add a multiply “*” operator and parentheses to the expression. Click on the “s2f0_EVOL” value

The end result should look like this: “(s2f11_ECDDEN - s2f0_ECDDEN) * s2f0_EVOL”. This

expression is serving to calculate the following value for each and every element individually

|(𝑆𝐸𝐷 𝑎𝑡 𝑒𝑛𝑑 𝑜𝑓 𝐶𝑦𝑐𝑙𝑒#2) − (𝑆𝐸𝐷 𝑎𝑡 𝑒𝑛𝑑 𝑜𝑓 𝐶𝑦𝑐𝑙𝑒#1)| ∗ 𝐸𝑙𝑒𝑚𝑒𝑛𝑡 𝑉𝑜𝑙𝑢𝑚𝑒

“S2f11” is pointing to the 11th frame of step 2. In this example that is the last step of the cycle.

This expression can change depending on the cycle inputs.

Repeat this step to create another variable for the element volume alone.

Page 22: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

14 Export the result

Click Result>Step/Frame…

Select the session step and session frame

Click Report>Field Output, then select “Variable”

Page 23: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

Set up the report and Click “OK”

The report should have a header and underneath the header it will have three columns

This report will be for all active selected elements. It is possible to use the “Display Group”

dialogue box to select only a subset of the elements in your model and create multiple reports.

Page 24: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

15 Open the report in Excel

Copy the values from the report to a spreadsheet

Create another column header called “ΔW_Element”

The formula in the cells should be the SED_CALC/(SUM of all EVOL)

In the example above this would be

“Cell D2=C2/sum(B:B)”

“Cell D3=C3/sum(B:B)”

“Cell D4=C4/sum(B:B)”

The resulting value is the Strain range for each element

|(𝑆𝐸𝐷 𝑎𝑡 𝑒𝑛𝑑 𝑜𝑓 𝐶𝑦𝑐𝑙𝑒#2) − (𝑆𝐸𝐷 𝑎𝑡 𝑒𝑛𝑑 𝑜𝑓 𝐶𝑦𝑐𝑙𝑒#1)| ∗ 𝐸𝑙𝑒𝑚𝑒𝑛𝑡 𝑉𝑜𝑙𝑢𝑚𝑒

∑ 𝐸𝑙𝑒𝑚𝑒𝑛𝑡 𝑉𝑜𝑙𝑢𝑚𝑒

The sum of all of the “ΔW_Element” for SAC305 can be inserted to the equation on page 28 of:

http://ansys.net/ansys/papers/asyed_ectc2004_corrected.pdf

Page 25: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

𝑵𝒇 = 𝟎. 𝟎𝟎𝟏𝟗 ∗ ∆𝑾−𝟏

In the example above this would be “Nf = (0.0019*sum(D:D))^)-1)”.

This equation calculates the number of cycles to failure for BGA solder joints loaded in shear in

temperature cycling.

The calculation in the spread sheet gives a number for cycles to failure for the whole element set

in the report.

Page 26: Performing a Solder Fatigue Analysis with Sherlock and ... · model the entire board. An area of the board is sufficient for solder fatigue modeling purposes. It is possible to export

DISCLAIMER

DfR represents that a reasonable effort has been made to ensure the accuracy and reliability of

the information within. However, DfR Solutions makes no warranty, both express and implied,

concerning the content of this report, including, but not limited to the existence of any latent or

patent defects, merchantability, and/or fitness for a particular use. The contents of this report and

the observations and conclusions made by DfR are not intended to be comprehensive or

exhaustive. DfR has used industry standard practices in preparing this report and has made

assumptions it views as reasonable in reaching the conclusions contained herein. Reasonable

experts’ observations and conclusions may differ after conducting a similar review and other

factors not considered by DfR or present at the time of DfR’s review could impact such experts’

findings. While DfR recognizes that this report will help guide the evaluation of the device or

product, DfR will not be liable for loss of use, revenue, profit, or any special, incidental, or

consequential damages arising out of, connected with, or resulting from, the information presented

within this report