This technical article presents a simulation process to analyze fatigue in electronic parts, particularly in solder joints, on printed circuit boards (PCBs).
There are three core technologies in the process:
By applying a single frequency response analysis to the FE model of an electronic component containing the substitute FE models, and conducting static analyses of all the solder-joint sub-models, the vibrational solder-joint fatigue can be efficiently calculated in FEMFAT spectral, where the section forces in the pins of the electronic devices are mapped onto the sub-models and scaled by a power spectral density to calculate the damage in all solder joints.
The trend towards electrification of vehicle transmissions requires the development of electronic components that can withstand different forms of vibration and acceleration levels, such as harmonic and stochastic acceleration or mechanical shock. In the automotive sector, electronic components must be tested according to the mechanical requirements of the relevant standards, such as VW80000 . VW80000 distinguishes whether a component is mounted on the engine, gearbox or chassis. For instance, gearbox-mounted components like a 48V-inverter must be tested for a power spectral density (PSD) of up to 2 kHz, as shown in Fig. 1. This poses the major challenge of vibrational fatigue to the solder joints, for which vibration is usually considered to be an undesirable condition .
Calculating the vibrational fatigue to solder joints requires detailed finite
element (FE) models of these solder joints. However, just a single PCB of a
48V-inverter houses several hundred electronic devices (tens of different
device types) and several thousand solder joints (the number of types of
solder joints on a PCB is usually of the same order as the number of device
types). The electronic devices (generally surface mount devices, SMDs)
used are typically multi-layer ceramic capacitors (MLCCs), electrolytic
capacitors (e-caps), resistors, smalloutline
integrated circuits (SOICs),
chokes, diodes, power resistors, and
transformers. Devices in the SOIC
category can be further differentiated
according to the type of solder joint,
i.e. gullwing-lead, j-lead, no-lead, or
ball-grid arrays (BGAs). Large devices
may also make use of through-hole
technology for soldering.
While Electrical CAD (ECAD) software can generally export a PCB and its electronic devices as CAD files, the information contained in these exported files is usually not sufficient to build an appropriate FE model because the exported geometric information mainly describes only the maximum package sizes of the electronic devices and excludes the solder joints completely. For this reason, we propose the use of a simulation process that automatically builds the required FE models of the electronic devices and the solder joints, reducing to a minimum the manual effort required to calculate the vibration fatigue of the solder joints.
The simulation process (illustrated in Fig. 2) to calculate vibration fatigue
in solder joints uses a sub-modelling approach and is built around
FEMFAT spectral. In short, first a modal-based frequency response
analysis (FRA) is performed for the overall model of an electronic
component containing a PCB equipped with substitute FE models of
electronic devices, in whose pins the section forces are measured as a
function of frequency. The section forces of each individual pin are then
scaled by static analyses of a corresponding solder joint sub-model and
the damage in the solder joint is finally calculated in FEMFAT spectral
for a given PSD.
The number of electronic devices on a single PCB can be very high. Since the simulation process requires substitute FE models for each electronic device and an individual solder joint sub-model for each pin type and pad variation, it was essential to develop and implement algorithms to automatically build the substitute FE models for the overall model and sub-models for the solder joints. Below, we describe these algorithms, which build the core technology in the pre-processing phase of our simulation process, as well as the calculation and post-processing phases.
First of all, the required electronic devices
must be abstracted as substitute FE models
so that they are available in the electronic
device database. Generating substitute FE
models is a semi-automatic process and
consists of manual data retrieval steps and
an automatic construction step (Fig. 3). First,
the electronic device’s geometric information
must be retrieved from the datasheet. Then,
the type of the electronic device is selected in
ANSA and the input mask is completed with
the relevant geometric information. ANSA
then automatically generates the substitute
FE model, which can be used in the ABAQUS
FE solver. The final FE model contains
one B31 element in each pin, a set
of soldering nodes (the endpoints of
the pins that would be connected to
the PCB by a solder joint) and a set
of contact surfaces (eg. SOIC surfaces
that would be connected to the PCB by
a heat paste).
At the moment, the simulation process supports a limited set of electronic device types (see Fig. 4), considered to be the most relevant for power electronics in the automotive sector: SMD resistors, power resistors, MLCCs, electrolytic capacitors, SMD diodes, SOICs, and transformers. The algorithm was implemented as an ANSA plug-in (with Python 3.3)  and is not dependent on any external library. The plug-in can, therefore, be easily installed in ANSA using the integrated BETA Packager Installer.
Once the substitute FE models of all occurring types of electronic
devices on the PCB have been built and are available in the electronic
device database, the devices can be placed on the FE model of the PCB.
Before placing the substitute FE models, it is mandatory to have an FE
model of the overall model containing the PCB (either as a shell or solid
mesh) and a set of shell elements or solid facets representing the top and
bottom surfaces of the PCB in ANSA.
A Pick-and-Place file is used to enter the positional information of the electronic devices, for instance exported from the PCB layout software Altium Designer. The Pick-and-Place file contains information about the x and y coordinates of an electronic device in the local coordinate system of the PCB, the rotation of the device and whether the device should be placed on the top or bottom surface of the PCB. For each item in the Pick-and-Place file, the corresponding substitute FE model is merged into the overall model, rotated and translated to the position in the Pickand- Place file (see Fig. 5). The B31 elements of all substitute FE models are collected in an element set. The soldering nodes and contact surfaces of all substitute FE models are collected in node and surface sets. Finally, these sets are connected to the PCB via TIE contacts.
This algorithm was also implemented as an ANSA plug-in (with Python 3.3) and is not dependent on any external library. The plug-in can therefore be easily installed in ANSA using the BETA Packager Installer.
The geometric information used to generate the electronic devices’
substitute FE models can be reused to generate the solder joint submodels.
Thus, in the routine, the user must first select (in the electronic
device database) the substitute FE model for which they want to build
a corresponding solder joint sub-model. The routine then loads the
available geometric information from the previously constructed
substitute FE model. Next, the user specifies additional information about
the corresponding generic or layout-specific pad dimensions on the
PCB, which can either be retrieved manually from the electronic device’s
datasheet or automatically from a PCB layout software such as Altium
Designer. Once the mandatory geometric information has been specified,
the sub-model construction algorithm starts. The different stages of the
construction algorithm are shown in Fig. 6 (right side). In the first stage,
CAD models of the pin and of a cutout zone of the PCB are created. To
this end, the geometric information is applied to a parametric CAD model
of the corresponding solder-joint type in FreeCAD. The parametrized
CAD model is then automatically exported from FreeCAD as a standard
for the exchange of product model data (STEP) file and automatically
loaded into ANSA.
In the next stage, the solder meniscus geometry is automatically calculated. The calculation starts by generating a simple initial shell mesh of the solder surface, which is adapted to the geometry of the pin and the pad. The software Surface Evolver  is then used to calculate the meniscus by considering the solder material’s surface tension at solder temperature, the gravitation, and the pin and pad dimensions. The final geometry is automatically loaded as a STEP file into ANSA.
In the last stage, several geometry and mesh processing routines are applied automatically to the model in ANSA. The stage involves the projection of the relevant curve on surface (CONS) of the three parts (pin, solder, PCB), the cutting of the relevant faces at the projected CONS, the topographic (TOPO) routine, the shell mesh generation, the volume definitions, the solid mesh generation, and the definition of material properties, constraints, boundary conditions, and loads. At the end, the algorithm exports two input decks, one for the ABAQUS FE solver and one for the NASTRAN FE solver. Currently, the proposed simulation process supports a limited set of solder joints considered to represent the most important types of solder joint types for power electronics in the automotive sector: SMD capacitors, SMD resistors, gullwing leads, and ball-grid arrays (see Fig. 7).
The algorithm was implemented as an ANSA plug-in (with Python 3.3) and is not dependent on any external library. However, the algorithm requires the Surface Evolver and FreeCAD to be installed. Nevertheless, this plug-in can also easily be installed in ANSA using the integrated BETA Packager Installer. In plug-in settings, the user must specify the path of the Surface Evolver and FreeCAD installation directories.
The core of the vibration fatigue calculation is a FEMFAT spectral calculation for each pin in the overall model. Each FEMFAT spectral calculation requires a modal basis of the solder-joint stresses and an individual load spectrum. The modal basis of the solder-joint stresses is represented by the stress output of the static analyses of the solder joint sub-model. The load spectrum is retrieved by calculating the section forces of a pin in the modal based FRAs of the overall model.
The calculation process starts with the modal based FRAs of the overall model, where the PCB is equipped with the substitute FE models from the electronic device database. As mentioned in the introduction, the overall task is to calculate the vibration fatigue for a random acceleration of the electronic component specified by a PSD. Thus, the mounting points of the electronic component are coupled by kinematic coupling and a boundary condition is set at the reference node of the coupling. The PSD must not be included in the FRAs, instead unit accelerations are used (base motions in ABAQUS) to calculate the transfer functions from the mounting points of the electronic component to the section forces in the pins of the electronic devices on the PCB. For the modal-based FRA we recommend a modal basis up to 1.5 times the highest frequency of the PSD (which is 3 kHz in Fig. 1) and a frequency bin distance of 0.5 Hz in the FRA. The six section forces in the B31 elements of all pins are written as simulation outputs to the ABAQUS output database.
A static analysis must be done for each new solder joint sub-model in the solder joint database. Six load cases must be considered: the application of three forces and three moments in the local coordinate system of the cutting cross-section of the pin. The static analysis of the sub-models is sufficient for the vibration fatigue calculation because usually the eigenfrequency of the first eigenmode of all the supported sub-models is larger than 100 kHz. Thus, in these sub-models natural vibrations do not occur in the relevant frequency range. Note that if new solder joint types were to be added to the simulation process in the future, the eigenfrequency of the first eigenmode would have to be checked for each type of solder joint and the simulation process would have to be adapted if the first eigenfrequency lies within the relevant frequency range of the FRA of the overall model.
In the FEMFAT spectral calculations, we
combine the results from the overall model
and from the sub-models. The section force
spectra from the modal based FRAs of the
overall model represent the load data. The
static analyses of the sub-models represent the
modal basis of the solder joint sub-models. A
FEMFAT spectral calculation must be done for
each pin in the overall model.
The first input is a file containing the modal stresses of the sub-model. Remember that in the sub-models natural vibrations do not occur and, thus, the six static load cases represent our modal basis for the FEMFAT calculation.
FEMFAT spectral interprets static load cases as modes, thus there is no need to transform the data. The second input is a file containing the participation factors as a function of frequency. In our case, the section forces in the pins of the overall model represent the participation factors of the static load cases in the sub-models. Thus, the section force output from the FRAs must be transformed to a file format that FEMFAT spectral can interpret as the participation factor spectrum, for instance a *.dat text file (ABAQUS), which contains the section forces as GPU and GU values. The transformation is done with an ABAQUS python script, which reads the section forces from the overall-model.odb file and writes the section forces of each pin into an individual EL#.dat file (where # represents the element number of a pin’s B31 element in the overall model) as the participation factor spectrum. The third input is the PSD data (example shown in Fig. 1). A python script automatically generates an individual FEMFAT job file (EL#.job) for each pin in the overall model and a shell script to automatically start the FEMFAT jobs in a queue.
META is used for post-processing the vibration fatigue calculations. In
META, first, the overall-model.inp file must be loaded as the geometry.
Then, the FEMFAT spectral results for all pins must be collected and
the maximum damage values must be mapped back to the pins of the
electronic devices in the overall model. To this end, a plug-in collects the
FEMFAT spectral results, writes them to text files (in the META Column
ASCII format ) and reads these files as results into the META session.
For better visualization, the results at the B31 elements are extrapolated
to their neighboring elements. An example of the maximum damage
values visualized is shown in Fig. 8a.
Detailed results of the FEMFAT spectral calculations for the individual pins can be obtained directly from META..
We implemented plug-ins for the user to select the B31 element of the desired pin after which META either opens the corresponding *.fps file (FEMFAT result file) in the background in FEMFAT visualizer (Fig. 8b), or plots the equivalent stress PSD (Fig. 8c) and the local S/N-curve (Fig. 8d) of the most damaged node directly in META..
The post-processing functions were implemented as META plug-ins (with Python 3.3) and are not directly dependent on any external library. However, the algorithm requires a native installation of Python3.3 (including the h5py-module) and of FEMFAT visualizer. Nevertheless, this plug-in can also be easily installed in META using the integrated BETA Packager Installer. In the plug-in settings, the user must specify the path of the Python3.3 and FEMFAT visualizer installation directories.
In Fig. 9, sample results for the PCB of a 48V inverter are shown – before
and after a design modification. For both designs, the whole simulation
process was applied to the inverter.
Firstly, the most critical solder joints were detected by visual inspection of the maximum damage values on the pins of the electronic devices in the overall model in META. Secondly, the dynamic weaknesses of the reference design were efficiently found by evaluating the equivalent stress PSDs of the most critical solder joints and by evaluating the operational deflection shapes at the peak frequencies of these equivalent stress PSDs. Note that the peaks in the equivalent stress PSDs of the most critical solder joints indicate the frequencies of those operational deflection shapes that contribute most to the damage of a solder joint.
The peaks in the equivalent stress PSDs and thus the damage values in the solder joints were reduced by modifying the existing mounting points of the PCB and by introducing an additional mounting point. The reduced maximum damage values are shown in Fig. 9 (right side).
Remember that the proposed simulation process involves three modal based FRAs (for different acceleration directions) with 4000 frequency steps and that the number of solder joints on a PCB can be in the range of thousands. However, with the proposed postprocessing functionality, the most critical operational deflection shapes and thus the underlying mode shapes were found within minutes.
This article presents a new process to assess the fatigue of solder jointed electronic components on printed circuit boards. The great advantage of the new process lies in its high degree of automation which enables a massive number of solder joints and electronic components to be assessed. Future developments include extending the number of electronic device and sub-model types supported. Secondly, the simulation must be extended to consider not only random load signals but also harmonic load cases, for instance to simulate logarithmic sweep excitations of the electronic component.
 Volkswagen Aktiengesellschaft (2013), “VW80000:2013-06“, pp. 82.
 Steinberg, D. S. (2000), “Vibration Analysis for Electronic Equipment”, John Wiley & Sons, Inc., New York.
 BETA-CAE Systems (2019) “ANSA and META API documentation”.
 Brakke, K. A. (1992) “The Surface Evolver”, Experimental Mathematics, 1 (2), pp. 141-165.
 BETA-CAE Systems (2019) “META v191.x Users Guide”, pp. 1353-1356
Eventually, the peak damage values of the sub-model calculations are mapped to the corresponding pins of the substitute FE models in the electronic devices to display the results in the overall model.
This technical article presents a simulation process to analyze fatigue in electronic parts, particularly in solder joints, on printed circuit boards (PCBs).
femfat electronics automotive