Thermal Cycle Fatigue Analysis — Lifetime Prediction of Solder Joints and Electronic Packaging
Theory and Physics
Driving Force of Thermal Cycle Fatigue
In thermal cycle fatigue, why do solder joints fail? It's not like a large force is applied; it's just the temperature going up and down.
Good point. The cause is not direct external force, but the mismatch in the Coefficient of Thermal Expansion (CTE) between materials. For example, the CTE of a Si chip is about 2.6 ppm/°C, while an FR-4 substrate is about 14-17 ppm/°C. When the temperature changes from 25°C to 125°C, the strain difference generated by this 100°C delta, calculated simply, is
If plastic strain accumulates, does that mean the solder doesn't fully return to its original shape? How is that accumulated amount evaluated?
Exactly. Solder (e.g., Sn-3.0Ag-0.5Cu) is already dominated by creep near room temperature, leaving a history with each cycle. For evaluation, the "stable plastic strain range"
When is the other life equation
This is the Darveaux model based on shear strain range. It's used for joints where shear deformation is dominant, like BGA (Ball Grid Array). Δγ is the shear strain range, calculated from the shear deformation of the solder ball. ε_f' is the fatigue ductility coefficient, and c is the fatigue ductility exponent. In Ansys's fatigue library, ε_f'=0.325, c=-0.442 are often used as Darveaux constants for SAC305. A feature of this model is that it can separately evaluate crack initiation and propagation.
Numerical Methods and Implementation
Coupled Analysis Strategy
For coupled thermal-structural analysis, which is more suitable: solving simultaneously with "direct coupling" or solving separately with "indirect coupling"?
For thermal cycle fatigue, it's almost certainly "indirect coupling (sequential coupling)." The reason lies in the difference in time scales. Heat conduction and stress generation from thermal expansion occur over cycles of minutes to tens of minutes, but solder creep and plasticity are phenomena that are much slower than that. Direct coupling has extremely poor convergence for this nonlinearity. In practice, first perform a thermal analysis (steady-state or transient) to obtain the temperature distribution, then load that result as a "body load" into the structural analysis. In Abaqus, use `*TEMPERATURE`; in Ansys, use the `LDREAD` command.
How should the solder material model be set up? Linear elasticity isn't enough, right?
Of course not. The essentials are a combination of "temperature-dependent elastoplasticity" and "creep." In Ansys, use `PLASTIC` and `CREEP` together. The Garofalo-Arrhenius (hyperbolic sine law) creep law is common:
To obtain the plastic strain range Δε_p from FEA, how many cycles need to be simulated?
Usually, running 3 to 5 cycles is sufficient. The first 1-2 cycles include transient responses (shakedown effect), but the stress-strain hysteresis loop stabilizes from around the 3rd cycle onward. Use Ansys's `CYCLIC HARDENING` model or define cycles directly in Abaqus for calculation. The important thing is to match the temperature profile and dwell time to the actual test conditions (e.g., JEDEC JESD22-A104 Condition G: -40°C to 125°C, 10-minute dwell). If the dwell time is too short, creep doesn't occur sufficiently, changing the results.
Practical Guide
Workflow and Verification
Is there a checklist for model settings before starting an actual analysis?
There are five items you must check: 1) Are the CTE and elastic modulus for all materials temperature-dependent data? 2) Are plasticity and creep models defined for the solder? 3) Do the thermal and structural analysis meshes (especially at interfaces) match? 4) Are the thermal analysis convection boundary conditions realistic (h=5~10 W/m²K is a guideline for natural convection)? 5) Are the thermal cycle ramp rates (typically 10°C/min) and dwell times per specification? Neglecting this will make the results physically meaningless.
What are common boundary condition mistakes? Is it okay to fully fix the substrate?
That's one of the biggest pitfalls. In reality, a substrate (PCB) deforms slightly around screw holes even when fastened. Fully fixing (Encastre) the entire substrate overestimates the strain in the solder area, potentially estimating life at 1/10th or less. Instead, create rigid body elements (RBE2/RBE3) at the screw hole locations and apply a "spot weld"-like condition that constrains only the translational degrees of freedom at those master nodes. This allows for slight bending of the substrate.
How to verify results? Can you tell the reliability of the analysis without experimental data?
Complete verification requires experiments, but sanity checks are possible. First, check if the stress at the highest temperature exceeds the temperature-dependent yield stress of the solder (for SAC305 at 125°C, about 20MPa). If not, plastic deformation isn't occurring, meaning the model is too stiff. Next, look at the stress-strain hysteresis loop. If there's no clear hysteresis (the loop isn't open), then creep or plasticity isn't activated. Finally, the location of the most critical ball. The corner ball (at the outermost edge) should show the largest Δγ; if not, review the boundary conditions or symmetry settings.
Software Comparison
Approach by Tool
Are there major differences in the approach to this analysis between Ansys Mechanical and Abaqus/Standard?
The core physics are the same, but there are differences in workflow and convergence. Ansys, in the `MAPDL` or `Workbench` environment, loads thermal results with `LDREAD` and has a rich library of specialized models like the `CHRYSO` material model. Abaqus/CAE's strength is specifying temperature with `Predefined Field` and finely controlling creep laws with user subroutines like `CREEP`. Regarding convergence, there are reports that for large deformation analysis of low-yield stress materials like solder, Abaqus's `NLGEOM` (large deformation) settings can be more robust.
What about COMSOL Multiphysics? Its selling point is direct coupling.
COMSOL's "Thermal Stress" physics interface is indeed direct coupling. However, the time scale problem mentioned earlier remains the same, making transient analysis time step settings severe. The advantages are that parametric temperature profile settings are intuitive, and it's easier to evaluate the impact of local heating (hot spots). Also, it has a built-in fatigue evaluation post-processing module, allowing you to try multiaxial fatigue criteria like `Dang Van` or `Findley`. However, its library of solder-specific materials isn't as extensive as Ansys or Abaqus, so obtaining and inputting material constants is the user's responsibility.
Can't it be done with free/low-cost software (e.g., CalculiX, Code_Aster)?
It's theoretically possible, but the practical hurdles are high. CalculiX and Code_Aster can also define temperature-dependent materials and creep. However, the problems are "convergence" and "post-processing." Commercial solvers have advanced nonlinear convergence algorithms (line search, arc-length method) that stabilize analysis of soft materials like solder. With open-source software, convergence often fails, requiring extremely fine time steps or meshes, skyrocketing computational cost. Also, there's almost no post-processing functionality to automatically calculate Δε_p from a stable hysteresis loop. It's worth a challenge for research purposes, but not recommended for practical work where design decisions are made.
Troubleshooting
Convergence Errors and Physical Inconsistencies
The calculation stops with an "excessive deformation" error during analysis. The solder elements are extremely distorted.
This is a classic problem. There are two possible causes. The first is "rigid body rotation" between the solder and adjacent components (like copper pads). Even if the contact condition is set to "Bonded," if the stiffness in the thickness direction is low, the solder shears excessively. As a countermeasure, one method is to add very thin "constraint elements" to the sides of the solder ball and introduce "constraint equations" that suppress non-physical rotation (like Ansys's `CERIG`). The second is that the mesh is too coarse to capture the deformation. At least three layers of elements are needed in the thickness direction of the solder ball.
The value for plastic strain range Δε_p is only about 0.01%, an order of magnitude smaller than literature values (e.g., 0.1%). What's wrong?
That's evidence the model is "too stiff." First, re-check the substrate fixation condition (make sure it's not fully fixed as mentioned before). Next, for materials other than solder, especially if there is "underfill" or "mold resin," check if their material data is isotropic elastic at room temperature only. These polymer materials have even stronger temperature dependence than solder. For example, epoxy underfill has an elastic modulus at 125°C that is less than 1/3 of its room temperature value. If this softening isn't considered, overall deformation is suppressed, and solder strain is underestimated.
As thermal cycles repeat, the stress keeps decreasing and eventually becomes almost zero. Is this correct behavior?
That likely means "stress relaxation" is occurring excessively, i.e., the creep model is too strong. Review the constant A (creep coefficient) in the earlier Garofalo law. Also, since creep becomes significant at high temperatures, check if the "dwell time" in the temperature profile is too long. Even in real tests, stress relaxes with long dwell times but doesn't become completely zero. Another checkpoint is the yield stress setting. If temperature-dependent yield stress isn't defined correctly, plastic deformation occurs too easily, releasing stress prematurely. Cross-reference with material data sheets (e.g., Indium Corporation's SAC305 datasheet).
The life prediction results (Nf) have large scatter and don't match experimental data. Which parameter is most sensitive?
The most sensitive is the exponent `n` in the Coffin-Manson law. If n changes from 0.5 to 0.6, the life Nf becomes
なった
詳しく
報告