The numerical simulation of applications containing the aforementioned challenges can be tackled using the Nonlinear Structural Materials Module, which provides a collection of predefined nonlinear material models, in combination with the Fatigue Module, which contains fatigue models for many different applications.

When the temperature changes, materials want to expand or contract. In applications consisting of several different parts, this thermal deformation will be constrained, since the thermal expansion coefficients differ between various materials. The situation is more challenging in the presence of *nonlinear* materials.

Material nonlinearity implies that the deformation is not proportional to the loading. The nonlinearity of different materials can be roughly divided into *reversible* and *irreversible* nonlinearity. Reversible nonlinearity is also called elastic nonlinearity, which means that the strain state returns back to the initial state once the external load is back at its starting point.

Materials that exhibit irreversible nonlinearity can sustain permanent damage when loaded and will not return to the initial state upon unloading. An example of this phenomenon is shown in the figure below, where a surface mount resistor with a nonlinear solder material is subjected to a thermal cycle.

*Displacement in a surface mount resistor at the end of a thermal load cycle. Blue color denotes zero displacement.*

The material nonlinearity is a creep mechanism that deforms the material once it is subjected to a stress field — even when the stress field is held constant. Since the thermal expansion of the different parts of the surface mount resistor is non-uniform (greater in the printed circuit board on the bottom and smaller in the resistor on top), the assembly is stressed during a thermal load cycle.

Once the thermal load has reached the end of a load cycle, and returned to the initial temperature, a permanent deformation (creep strain) is left in the solder joints on both ends of the resistor. The permanent deformation in the solder joints prevents the remaining parts from returning to the initial state. You can see this in the figure where the resistor is compressed and bulges, while the printed circuit board is elongated.

Another type of material nonlinearity occurs when the permanent deformation only depends on the applied load and does not deform at a constant stress. This is called *plasticity* and can be demonstrated simply by bending a paper clip back and forth. If the applied force is too high, the paper clip will remain in a deformed state that does not change with time. A combination of plasticity and creep is called *viscoplasticity* and is yet another nonlinear material behavior.

Repeated loading and unloading can cause fatigue cracks. Before the fatigue life can be evaluated, you must obtain a stable load cycle. When working with nonlinear materials, many load cycles are often required before the material’s response stabilizes. Generally speaking, the nonlinear material response to a cyclic load can be summarized by three cases: immediate stability, shakedown, and ratcheting.

- In the case of the
*immediate stability*, the second load cycle will already give a stable stress-strain response that is representative for each consecutive load cycle. This is demonstrated with the dotted black line in Case (a) in the figure below. - At
*shakedown*, the elongation stops first after a certain number of cycles. Therefore, a large number of cycles may need to be simulated. See Case (b). - In
*ratcheting*, Case (c), the material experiences a continuous elongation until failure. This case is the most challenging from a fatigue point of view since a stable load cycle is never obtained. In this case, you must generally simulate all cycles from initial state to failure.

*Material response to a repeated load cycle: (a) immediate stability, (b) shakedown, and (c) ratcheting.*

There is no universal model that predicts fatigue for all nonlinear materials, and many models have been proposed over time. In the 1950s, Coffin and Manson examined fatigue in metals and proposed an exponential relation between the fatigue life and the plastic strain for the low-cycle fatigue regime.

Following this pioneering work, many researchers proposed slightly modified models, where the plastic strain has been replaced with a different strain measure, such as creep strain, plastic shear strain, total shear strain, and others. Below, you can see a comparison between two strain measures (effective creep strain and the shear creep strain) in a surface mount resistor model, which was taken from our Model Gallery:

*Development of the creep strain in a solder joint. Effective creep strain, to the left, and shear creep strain, to the right.*

Both strain measures are highest at the interface between the solder and the resistor, which coincides with the position of a thermal fatigue crack in real applications.

For many applications, strain alone is not sufficient for fatigue predictions. Instead, energy might be more suitable since it combines the effect of stress and strain. In the 1960s, Morrow proposed an exponential relation between the fatigue life and the cyclic plastic strain energy. This model has later been modified to depend on other energy quantities, such as creep strain energy, total strain energy, stress-strain hysteresis energy, viscoplastic strain energy, and others.

Many times, the fatigue-controlling energy quantity is a nonstandard energy variable that requires a separate computation. This can be done in COMSOL Multiphysics, as demonstrated in the example of accelerated life testing, where the nonlinear material has two creep mechanisms. The first one controls strains at low stresses and the second one controls strains at high stresses. The fatigue, on the other hand, is controlled only by the energy dissipation caused by the creep development at high stresses.

The strain development as well as the energy dissipation by different mechanisms is calculated in individual distributed ODE interfaces:

*Model set-up for evaluating user-defined creep strains and energies using ODE interfaces (to the left). A comparison of the results between the user-defined constitutive relations and the predefined material model from the Nonlinear Structural Materials Module (to the right). The green line is the dissipated energy at low stresses, the red line is the dissipated energy at high stresses, the dotted turquoise line is the combined dissipation by both mechanisms, and the blue line is the dissipated energy calculated with the material model from the Nonlinear Structural Materials Module.*

Fatigue cracks are frequently encountered at interfaces of sharp geometrical changes and in corners. Those places are also well-known for causing numerical singularities. Thus, a point evaluation there can give misleading results.

Darveaux proposed a model that uses an energy volume average. This approach reduces the sensitivity to meshing in critical places and predicts life based on the surrounding state. In the figure below, we use the Darveaux model to predict fatigue life based on the dissipated viscoplastic strain energy in a ball grid array.

*Fatigue life based on the average dissipated creep energy. All joints in two ball grid arrays are analyzed in a full model on the left-hand side, and to the right, a detailed study of the critical solder joint in a submodel is shown.*

At first, all solder joints are analyzed in order to identify the critical one. Then, the critical joint is reanalyzed in a detailed study using a submodeling technique described in a previous blog post. The fatigue life in the thin layers at the interface with other materials, where cracking is expected, is finally predicted. Since the model evaluates a volume average, the results are calculated per domain.

We can evaluate the Coffin-Manson model with different strain options in the *Strain-based* fatigue feature. The Morrow and the Darveaux models with different energy options can be evaluated using the *Energy-based* fatigue feature.

To wrap this up, I’d like to share a few examples where the thermal fatigue of nonlinear materials is simulated:

- The Thermal Fatigue of a Surface Mount Resistor model demonstrates how to perform a fatigue evaluation based on creep strain and the dissipated creep energy using the Coffin-Manson and Morrow type relations.
- In the Energy-Based Thermal Fatigue Prediction in a Ball Grid Array example, a microelectronic microchip containing several viscoplastic solder joints is analyzed. The fatigue life is based on the Darveaux energy volume average. This model also demonstrates how to analyze large models using the concept of submodeling.
- Fatigue life prediction, based on a more exotic energy and strain representation, is modeled in the Accelerated Life Testing example. Here, a material behavior with two creep mechanisms is evaluated and fatigue life, based on one mechanism, is predicted. The separation of strains in the two mechanisms requires recalculation of individual strains using separate ODE interfaces.

You can find all of these example models in the Fatigue Module Model Library.

*If you are interested in learning more about fatigue modeling in nonlinear materials, join the Nonlinear Structural Materials Modeling and Fatigue Evaluation webinar on May 15 ^{th}.*

Many times, in numerical simulations we need to model a large structure in order to properly prescribe the boundary conditions. However, the critical part may be local and occupy only a small region of the model. In those cases the *submodeling* technique can prove useful.

In submodeling, you first analyze the behavior of the entire model. The mesh is chosen so that the boundary conditions and loads are properly transferred to the entire model. In other words, the field variables, displacements, and temperature should give proper results *globally*, but the derivatives, such as strains, may not be accurate *locally*.

In the second step, you cut the critical part out from the global model. The cut should be sufficiently far from the critical point so that the results of the global model give a good representation. An example of how a wheel rim can be submodeled is shown in the figure below. The red rectangle in the global model to the left denotes the part that is reanalyzed in a submodel and the purple color in the submodel to the right denotes the interfaces that cut the global model.

*A full model and a submodel of a wheel rim.*

The results from the global model are prescribed to the submodel by specifying boundary conditions with field variables that are applied on the cutting interfaces. In COMSOL Multiphysics, this is done using the *general extrusion* operator, which can transfer results from one geometry to another. Since the submodel is a small part of the full model, it can be modeled with a finer mesh, offering a better resolution of the critical part. In the final step, the submodel is resolved for the same load cases as the global model. It is of course possible to have several submodels within the same global model.

Several CAD programs can be used to generate geometries that can then be imported into COMSOL with the CAD Import Module or one of the LiveLink™ products for CAD. This approach is powerful when you are analyzing a complex geometry. A good example of a complex geometry is the wheel rim model in our Model Gallery. This model contains many details, and a numerical representation requires many elements in order to properly resolve the stress gradients at the multiple fillets. With the submodeling technique, the local effects can be captured in such a complex model.

First you would run an analysis of the full model. Since not all details are meshed with a fine mesh, locally the results have low accuracy, at least in terms of stresses. In most of the wheel rim, however, the geometry is fairly smooth and the results are satisfactory. From the analysis of the full model, the highest stress is found at a fillet on the back of the wheel rim between a spoke and the hub where the wheel is attached to the vehicle. This critical part is further analyzed in a submodel. The submodel is cut out from the global model by taking a block that encapsulates the critical point and that has boundaries far from the critical point where the displacements from global model have good accuracy. The solution from the global model is prescribed on the cut boundaries, and the submodel is solved using a fine mesh in the critical fillet.

*Comparison between von Mises stresses in a global model and a submodel. The global model underestimates stresses with about 20%.*

The wheel rim model also demonstrates how to reduce solution time when analyzing periodic models. The rim can be divided into five periodic cells where each cell has a spoke pair. When the wheel rolls, the load propagates around the wheel. This periodicity in the geometry and the load is utilized in the submodeling. In the global model, only 1/5 of the whole load history is simulated. This means that spoke pair One experiences a load that moves between its center and the spoke pair immediately following, while spoke pair Two experiences a load that moves between the first preceding spoke pair and its own center. Spoke pair Three, on the other hand, experiences a load that moves from the second preceding spoke pair until the first preceding spoke pair. This is utilized by prescribing the results of the global model to the submodel via a double loop.

In the first instance, the analysis is looped over the spoke pair number, while in the second instance, the analysis is looped over the load case. For each spoke pair number, the expression in the *general extrusion* is changed so that results from the correct spoke pair is prescribed as boundary conditions on the submodel. This is easily done by prescribing a pure rotation:

u_{\mathrm{S}}=u_{\mathrm{G}}\cdot cos\Bigl(2\pi\frac{n}{5}\Bigr)+v_{\mathrm{G}}\cdot sin\Bigl(2\pi\frac{n}{5}\Bigr)

v_{\mathrm{S}}=v_{\mathrm{G}}\cdot cos\Bigl(2\pi\frac{n}{5}\Bigr)-u_{\mathrm{G}}\cdot sin\Bigl(2\pi\frac{n}{5}\Bigr)

where $n$ is the spoke pair number, $u$ and $v$ are the displacements, and subscripts $\mathrm{S}$ and $\mathrm{G}$ denote the submodel and the global model.

In essence, this means that the whole load cycle in the submodel can be obtained by picking results from different spokes, since they experience different loading conditions.

Microelectronic components consist of several parts, such as printed circuit board (PCB), solder joints, resistors, and chips, for example. Solder joints connect the chips with the PCB and have a twofold function. On one hand, they hold the chip in place and on the other, they create a connection for the electric current. Very few materials have satisfactory structural, thermal, and electrical properties and their material models are highly nonlinear. They deform elastically together with creep or plasticity. One challenge when modeling with nonlinear materials is the increased analysis time. In addition to that, several iterations are needed; separate equations must be solved for the additional degrees of freedom (DOF), representing the inelastic strain at each integration point. In the case of a 3D model, 7 extra DOFs are used in addition to the 3 displacement DOFs of the elastic analysis. Moreover, if you are dealing with a multiphysics application where, besides the structural study, you also need to include a thermal or an electrical analysis in the simulation, *additional* DOFs are introduced.

In the model of thermal fatigue in viscoplastic solder joints, which is available with step-by-step instructions in our Model Gallery, two chips are connected to a PCB with several solder joints. When the power is switched on, the chips generate heat that spreads to the rest of the model and flows to the surroundings. Since the power is continuously switched on and off, a concern arises whether or not the chips will fail due to thermal fatigue. This application is simulated using the submodeling technique since a good resolution of the solder joints would give an extremely large model.

First, we run a coupled thermo-mechanical analysis on the full model. The thermal results have good accuracy also when modeled with a coarse mesh, since we only need the temperature field, and not its derivatives. The initial structural analysis will not give enough accuracy at the solder joints, especially at the interface between the joint and the surrounding material. The choice of a coarse mesh will give low accuracy of the stresses, and the viscoplastic law has a nonlinear dependency on the stresses. Using the coarse mesh in the solder joints, they are evaluated from the fatigue point of view in order to identify the critical solder ball. The Darveaux model (an energy-based model) is used to predict the fatigue life. The accuracy in the fatigue life prediction is not sufficient for quantitative conclusions to be drawn, but the results can be used for identification of the critical spot and improved on in a second submodeling step.

*Fatigue life of viscoplastic solder joints. Red color represents short fatigue life and blue long fatigue life. The critical solder joint is located below the larger chip in the corner of the ball grid array. All four corner joints have approximately the same life.*

Once the critical solder joint is identified, a submodel is created. The submodel contains the critical solder joint and parts of the chip and the PCB. Structural results from the global model are prescribed via a *general extrusion* operator onto the submodel boundaries where the cut was made in the full geometry. The thermal results are directly prescribed to the entire model via the thermal expansion and are also used in the nonlinear material model. This can be done since the thermal results of the global model have sufficient accuracy. In such a way, the initial *multiphysics* analysis is reduced into a *single* physics analysis. Finally, we solve the submodel using a fine mesh giving accurate results for both stresses and fatigue life in the critical component.

*Comparison of meshes for the global model and the submodel. The global model consists of 300,000 DOFs while the submodel of a single solder ball consists of 100,000 DOFs.*

I’d like to share two examples of submodeling with you.They require different products and are therefore found in different modules.

- The Submodel in a Wheel Rim model, found in the Model Library of the Structural Mechanics Module
- The Submodeling of Thermal Fatigue in a Ball Grid Array model, found in the Model Library of the Fatigue Module and also requires the Nonlinear Structural Materials Module

The idea behind critical plane models is that failure is caused by a crack. The crack will form and run on a plane, a *critical plane*, that has the most favorable stress/strain conditions for either crack growth, crack propagation, or both events. Planes that experience the highest normal stresses and strains are usually good candidates for a critical plane.

The stress state in a point in a structure can be described with a two-dimensional tensor with three normal and three shear components. The magnitude of those stresses changes once the examined volume element is oriented in a different direction. This means that if we make a cut through a volume element and evaluate stresses on the newly created plane, its stress state will change depending on the orientation. In case of plane stress conditions, the stress state reduces to two normal stresses and one shear stress that also differ depending on the surface normal.

*Stress conditions on different planes.*

A plane in a volume element has one normal and two shear stress/strain components. A critical plane model utilizes those stress/strain components to define the critical plane in its own specific way. For example, the *Normal stress* criterion considers a plane with the largest normal stress range, the *Findley* model searches for a plane where the combination between the normal and the shear stress ranges is maximized, while the *Matake* criterion, on the other hand, evaluates planes with the highest strain range. From the picture above, it is clear that all of the planes have different orientations.

For plane stress conditions, the critical plane can be obtained with analytical expressions. The situation becomes more challenging when the load is non-proportional and the stress state is multiaxial. We must then search for the critical plane numerically and evaluate the load history in each examined plane orientation. This is done in the Fatigue Module with the *Stress-based* and the *Strain-based* models.

*Fatigue evaluated with critical plane criteria: Normal stress, Findley, and Matake. Note from the editor, 2/24/14: This image has been updated with results from COMSOL Multiphysics version 4.4.*

In the Stress-based models we can calculate *Normal stress*, *Findley*, and *Matake* criteria. These are evaluated according to the fail-safe philosophy — calculating the *fatigue usage factor* that determines whether the experienced fatigue load is above or below a fatigue limit. The material parameters for those models can be easily calculated from the results of standard fatigue tests. *Stress-based* models are usually used in the high-cycle fatigue domain where plasticity is very limited.

The *Strain-based* models evaluate strains or combination of strains and stresses when defining a critical plane. Those models can be seen as a modified, combined Basquin and Coffin-Manson strain-life relation. They predict the number of cycles to failure. In the Fatigue Module, there are three *Strain-based* models: *Smith-Watson-Topper (SWT)*, *Wang-Brown*, and *Fatemi-Socie*. Those models are suitable for low-cycle fatigue where strains are usually large.

I’d like to share three examples of fatigue evaluation based on the critical plane evaluation. Two of them evaluate high-cycle fatigue, and the last low-cycle fatigue. You can find these in the Fatigue Module.

- The Cylindrical Test Specimen model evaluates all three stress-based criteria on a non-proportionally loaded cylindrical test specimen.
- The Structural and Fatigue Analysis of a Shaft with Fillet model demonstrates how to perform high-cycle fatigue. It also show how to calculate fatigue material data based on fatigue tests in reversed axial tension and pure torsion.
- The Low Cycle Fatigue Analysis of Cylinder with a Hole model shows how to perform fatigue study in presence of plasticity. In such a case it is important to first obtain a stable load cycle before a fatigue analysis can be performed.

*If you’re interested in learning more about fatigue prediction modeling, watch the archived webinar Fatigue Modeling with COMSOL.*

Random loads introduce a variety of stresses, with different magnitude, into a structure. It is therefore important to identify overall trends in the stress history. *Rainflow cycle counting* is a popular method to transfer the variable load history into a discrete stress distribution that is characterized by certain mean stress and stress amplitude. In COMSOL Multiphysics, the stress distribution of the Rainflow counting is visualized in a new plot type, called *Matrix Histogram*.

*Stress distribution based on the Rainflow cycle counting method.*

A classic way of obtaining fatigue life is via the S-N curve. It relates the stress amplitude to the number of loading cycles a material can withstand. In variable loading however, the stress amplitude is not constant and, instead, you must use an alternative model that calculates damage contribution of each cycle. You might use the Palmgren-Miner linear damage rule, a widely used method, to capture this. In the Fatigue Module, the Palmgren-Miner rule processes the stress distribution of the Rainflow counting and relates it to the limiting S-N curve. In order to capture the mean stress effect, so that damage increases with the increasing mean stress, the S-N curve is specified with an argument for the R-value.

The fatigue analysis consists of two steps. First, you calculate the structural response of a load cycle. Next, you perform a fatigue evaluation. When the number of load events is large in a random load analysis, the simulation of the load cycle is time-consuming, but the calculation time can be greatly reduced if the nonlinear effects are not present in the simulation. In that case, the stress cycle can be prescribed with help of superposition. This is selectable with the *Generalized loads* analysis type in the Cumulative Damage feature. There, the load cycle is not prescribed load-step by load-step, but instead the history of an external load is decomposed into few generalized loads with corresponding load histories.

*The external load simulated using three generalized loads and corresponding time histories.*

The Cumulative Damage calculation, based on the generalized loads, can be summarized in following steps:

- Define generalized loads
- Prescribe generalized loads in a structural study
- Compute structural response to generalized loads
- Define load histories for all generalized loads
- Prescribe load histories to corresponding generalized loads
- Compute fatigue analysis

The first three steps are done in a structural prestudy, while the last three are done in a fatigue study.

I’d like to share two examples of simulating Cumulative Damage, with you. Both can be found in the Fatigue Module. In one of the examples, the load cycle is prescribed step-by-step, and in the other one, superposition is used via the Generalized loads option.

The “Frame with Cutout” example uses the Generalized loads option. Here, the fatigue response to 1,000 load events is simulated. The total computation time with the Generalized loads option is 8 minutes, while the load event by load event calculation takes 1.5 minutes for each load event, thus the total load cycle would require a full day of computation time. Moreover, large amount of data needs to be saved in order to be processed by the fatigue study. With the Generalized loads option you don’t need to spend this much time on your computations.

The model “Cycle Counting in Fatigue Analysis — Benchmark” compares results of the Rainflow counting against an ASTM standard. The results based on the Palmgren-Miner are compared against hand calculations.

*If you’re interested in learning more about fatigue modeling, tune into our Fatigue Modeling with COMSOL webinar on July 30 ^{th}, 2013.*