You are viewing the documentation for an older COMSOL version. The latest version is available here.
PDF

Fatigue Response of a Random Nonproportional Load
Introduction
A thin-walled frame member with a central cutout is subjected to a random load scenario. Although the stresses are expected to be far below the yield level of the material, a concern arises whether or not the component fails due to fatigue.
This example demonstrates an approach to damage quantification of a long load history. The rainflow counting algorithm is used to define the load scenario and the Palmgren-Miner linear damage model quantifies the damage.
Model Definition
The load carrying beam is shown in Figure 1. It has a length of 1.1 m, a thin-walled square cross section having the dimension 160 mm x160 mm and a thickness of 6 mm. The cutout is centrally placed on one of the faces and is 100 mm long, 80 mm wide and has a fillet with radius 10 mm in each corner.
Figure 1: Geometry of the frame member.
The loading consists of bending moments in both directions and a twisting moment. All three loads can vary independently. The information about the load is obtained using three strain gauges, which are glued on the bottom and the back sides of the frame. The back side is the one opposite to the face with the hole. The location and position of the strain gauges are shown in Figure 2. Strain gauges 1 and 2 are oriented at a 45° angle to the global coordinate system while the 3rd strain gauge is aligned with the length of the face (the x-axis). Both are located 850 mm from the edge along the length and in the middle along the width of the faces.
Figure 2: Location and orientation of the strain gauges.
The frame is made out of steel with Young’s modulus, Poisson’s ratio, and density given by E = 200 GPa, ν = 0.33, and ρ = 7800 kg/m3, respectively.
The fatigue behavior is described by the material library data for iron alloy 4340 for a variant defined by phase UTS 200 Ksi - 293K and variation unnotched.
The left end of the structure, x = 0, is clamped. One twisting moment, along x, and two bending moments, along y and z, are applied on the right end at x = 1.1 m. The lifetime for which the frame is designed is 10,000 longer than what has been recorded by the strain gauges. The response to one loading cycle block in all three gauges is captured in Figure 3. From the history it is clear that the loading event is nonproportional. However, stress concentrations arise around the cutout where the stress state is uniaxial. Therefore the used models, Rainflow Counting and Palmgren-Miner summation, can be seen as appropriate for fatigue evaluation.
Figure 3: Strain history in the tree strain gauges. The subscript indicates the gauge number.
In order to apply the strain history to the frame, the strain history needs to be transferred to loads which can be applied on the boundary. The transformation can be done in two ways. In the first, a relation between a unit moment and a response in each strain gauge must be obtained using COMSOL Multiphysics. By repeating it for each unit moment and inverting the relation, a transformation matrix relating strains to moments is obtained.
An alternative way is to use an approximate analytical relation based on beam theory with a thin-walled assumption, Hooke’s law, and rotation of stresses in a plane. The result is given below without a detailed derivation.
(1)
where , , , , , , , , , and . The variables t = 6 mm and b = 154 mm define the thickness and the side (using midsurfaces) of the cross section.
Based on the geometrical and material constants, Equation 1 gives the following relation
(2)
Results and Discussion
According to a finite element analysis the, applied moments and gauge strains are related by
(3)
The coefficients differ somewhat when compared to the analytical results, Equation 2. It is reasonable to assume that the final fatigue prediction also differs, depending on used transformation matrix. Since Equation 2 is based on approximations, further results are based on the FE-relation, Equation 3.
Stresses on the inner side of the shell are more critical from the fatigue point of view. The variation of the fatigue usage factor along the fillets is shown in Figure 4. It reaches about 0.11 and thus the examined frame should not fail in fatigue.
Figure 4: Fatigue usage factor along the cutout fillets. The angle is measured in the xz-plane with the angle starting from the x-axis.
In the most loaded point in the structure the stress history seems to be fairly symmetric around a zero mid stress. The mid stress is found in the range from -250 MPa to 250 MPa and the amplitude extend almost up to 600 MPa. The load distribution in the critical point is captured and shown in the Rainflow histogram in Figure 5.
Figure 5: Cycle counting, following the rainflow theory, in the point of the highest fatigue usage factor.
In Figure 6, the relative contribution to the damage is shown for the same location. The dark blue area indicates stress cycles which are nondamaging. This means that they are below the endurance limit in the Wöhler curve, also called the S-N curve. The damaging stress cycles are found for high stress amplitudes. Since the Palmgren-Miner rule scales damage linearly with the number of cycles, when the number of cycles increases by a factor 1/0.11, the fatigue usage factor exceeds 1 and thus a failure occurs. In practice, the linearity assumption of the Palmgren-Miner rule can be questioned, so a proper safety factor should be applied.
An important information when evaluating Figure 5 and Figure 6 is that 37% of the fatigue damage comes from one single event in the load history and that most damage is caused by only few load cycles. This indicates that the load history recorded is too short to make good predictions. Either a new, longer, measurements should be made, or a high safety factor should be used in combination with some statistical considerations.
Figure 6: Relative fatigue usage, following the Palmgren-Miner damage rule, in the point with the highest usage factor.
Notes About the COMSOL Implementation
In COMSOL Multiphysics, several functions with the same argument list can be put in one file. This is demonstrated in the example with three load functions define the moment prescribed on one end of the frame. When an interpolation function is read from a file it treats the first columns as arguments and the following one as function response.
COMSOL Multiphysics provides several options for specification of the S-N curve. Interpolation function with options data type Grid, interpolation Linear, and extrapolation Constant is recommended. Those options are optimal for search of the life once R-value, and the amplitude stress are known. The input for S-N curve defined in the example is shown in Figure 7.
Figure 7: Wöhler curve of the material.
The fatigue material data in the material library gives the maximum fatigue stress, , as the function of the number of cycles and R-value. In order to transfer it to the stress amplitude, ,which is required by the Cumulative Damage fatigue feature, just apply following transformation
Application Library path: Fatigue_Module/Damage/frame_with_cutout
Modeling Instructions
From the File menu, choose New.
New
In the New window, click  Model Wizard.
Model Wizard
1
In the Model Wizard window, click  3D.
2
In the Select Physics tree, select Structural Mechanics>Shell (shell).
3
Click Add.
4
Click  Study.
5
In the Select Study tree, select General Studies>Stationary.
6
Global Definitions
Parameters 1
1
In the Model Builder window, under Global Definitions click Parameters 1.
2
In the Settings window for Parameters, locate the Parameters section.
3
Geometry 1
Block 1 (blk1)
1
In the Geometry toolbar, click  Block.
2
In the Settings window for Block, locate the Size and Shape section.
3
In the Width text field, type 1.1.
4
In the Depth text field, type 0.154.
5
In the Height text field, type 0.154.
6
Locate the Position section. From the Base list, choose Center.
Work Plane 1 (wp1)
1
In the Geometry toolbar, click  Work Plane.
2
In the Settings window for Work Plane, locate the Plane Definition section.
3
From the Plane type list, choose Face parallel.
4
On the object blk1, select Boundary 3 only.
5
Click  Show Work Plane.
Work Plane 1 (wp1)>Rectangle 1 (r1)
1
In the Work Plane toolbar, click  Rectangle.
2
In the Settings window for Rectangle, locate the Position section.
3
From the Base list, choose Center.
4
Locate the Size and Shape section. In the Width text field, type ch.
5
In the Height text field, type cw.
Work Plane 1 (wp1)>Fillet 1 (fil1)
1
In the Work Plane toolbar, click  Fillet.
2
On the object r1, select Points 1–4 only.
3
In the Settings window for Fillet, locate the Radius section.
4
In the Radius text field, type cr.
Create points for strain evaluation where strain gauges are placed.
Point 1 (pt1)
1
In the Model Builder window, right-click Geometry 1 and choose More Primitives>Point.
2
In the Settings window for Point, locate the Point section.
3
In the x text field, type 0.3.
4
In the z text field, type -0.077.
Point 2 (pt2)
1
In the Geometry toolbar, click  More Primitives and choose Point.
2
In the Settings window for Point, locate the Point section.
3
In the x text field, type 0.3.
4
In the y text field, type 0.077.
5
Click  Build All Objects.
Definitions
Create a new coordinate system that is aligned with the strain gauge directions on the bottom side of the frame.
Base Vector System 2 (sys2)
1
In the Definitions toolbar, click  Coordinate Systems and choose Base Vector System.
2
In the Settings window for Base Vector System, locate the Base Vectors section.
3
4
Find the Simplifications subsection. Select the Assume orthonormal check box.
5
Click the  Wireframe Rendering button in the Graphics toolbar.
Shell (shell)
1
In the Model Builder window, under Component 1 (comp1) click Shell (shell).
2
Thickness and Offset 1
1
In the Model Builder window, under Component 1 (comp1)>Shell (shell) click Thickness and Offset 1.
2
In the Settings window for Thickness and Offset, locate the Thickness and Offset section.
3
In the d text field, type pt.
Linear Elastic Material 2
1
In the Physics toolbar, click  Boundaries and choose Linear Elastic Material.
2
Shell Local System 1
1
In the Model Builder window, expand the Linear Elastic Material 2 node, then click Shell Local System 1.
2
In the Settings window for Shell Local System, locate the Coordinate System Selection section.
3
From the Coordinate system list, choose Base Vector System 2 (sys2).
Prescribed Displacement/Rotation 1
1
In the Physics toolbar, click  Edges and choose Prescribed Displacement/Rotation.
2
3
In the Settings window for Prescribed Displacement/Rotation, locate the Prescribed Displacement section.
4
Select the Prescribed in x direction check box.
5
Select the Prescribed in y direction check box.
6
Select the Prescribed in z direction check box.
Apply one twisting and two bending unit moments and differentiate them using load cases.
Rigid Connector 1
1
In the Physics toolbar, click  Edges and choose Rigid Connector.
2
Twisting Moment (x)
1
In the Physics toolbar, click  Attributes and choose Applied Moment.
2
In the Settings window for Applied Moment, locate the Applied Moment section.
3
Specify the M vector as
4
In the Label text field, type Twisting Moment (x).
Rigid Connector 1
In the Model Builder window, click Rigid Connector 1.
Bending Moment (y)
1
In the Physics toolbar, click  Attributes and choose Applied Moment.
2
In the Settings window for Applied Moment, locate the Applied Moment section.
3
Specify the M vector as
4
In the Label text field, type Bending Moment (y).
Rigid Connector 1
In the Model Builder window, click Rigid Connector 1.
Bending Moment (z)
1
In the Physics toolbar, click  Attributes and choose Applied Moment.
2
In the Settings window for Applied Moment, locate the Applied Moment section.
3
Specify the M vector as
4
In the Label text field, type Bending Moment (z).
Twisting Moment (x)
1
In the Model Builder window, click Twisting Moment (x).
2
In the Physics toolbar, click  Load Group and choose New Load Group.
Bending Moment (y)
1
In the Model Builder window, click Bending Moment (y).
2
Click  Load Group and choose New Load Group.
Bending Moment (z)
1
In the Model Builder window, click Bending Moment (z).
2
Click  Load Group and choose New Load Group.
Global Definitions
Load Group: Mx
1
In the Model Builder window, under Global Definitions>Load and Constraint Groups click Load Group 1.
2
In the Settings window for Load Group, type lgX in the Parameter name text field.
3
In the Label text field, type Load Group: Mx.
Load Group: My
1
In the Model Builder window, click Load Group 2.
2
In the Settings window for Load Group, type lgY in the Parameter name text field.
3
In the Label text field, type Load Group: My.
Load Group: Mz
1
In the Model Builder window, click Load Group 3.
2
In the Settings window for Load Group, type lgZ in the Parameter name text field.
3
In the Label text field, type Load Group: Mz.
Materials
Material 1 (mat1)
1
In the Model Builder window, under Component 1 (comp1) right-click Materials and choose Blank Material.
2
3
In the Settings window for Material, locate the Material Contents section.
4
Mesh 1
1
In the Model Builder window, under Component 1 (comp1) click Mesh 1.
2
In the Settings window for Mesh, locate the Physics-Controlled Mesh section.
3
From the Element size list, choose Extremely fine.
4
Click  Build All.
Study 1
Step 1: Stationary
1
In the Model Builder window, under Study 1 click Step 1: Stationary.
2
In the Settings window for Stationary, click to expand the Study Extensions section.
3
Select the Define load cases check box.
4
Click Add three times.
5
6
In the Model Builder window, click Study 1.
7
In the Settings window for Study, type Study: Generalized Loads in the Label text field.
8
In the Home toolbar, click  Compute.
Results
Create a table showing the relation between gauge strain and each unit moment.
Point Evaluation 1
1
In the Results toolbar, click  Point Evaluation.
2
3
In the Settings window for Point Evaluation, click Replace Expression in the upper-right corner of the Expressions section. From the menu, choose Component 1 (comp1)>Shell>Strain>Strain tensor (local)>shell.el11 - Strain tensor (local), 11 component.
4
Locate the Expressions section. In the table, enter the following settings:
5
Find the Parameters subsection. In the table, enter the following settings:
6
Click  Evaluate.
Point Evaluation 2
1
Right-click Point Evaluation 1 and choose Duplicate.
2
In the Settings window for Point Evaluation, click Replace Expression in the upper-right corner of the Expressions section. From the menu, choose Component 1 (comp1)>Shell>Strain>Strain tensor (local)>shell.el22 - Strain tensor (local), 22 component.
3
Locate the Expressions section. In the table, enter the following settings:
4
Click  Evaluate.
Point Evaluation 3
1
In the Model Builder window, under Results>Derived Values right-click Point Evaluation 1 and choose Duplicate.
2
3
In the Settings window for Point Evaluation, locate the Expressions section.
4
5
Click  Evaluate.
Global Definitions
Load S-N curve.
Interpolation 1 (int1)
1
In the Home toolbar, click  Functions and choose Global>Interpolation.
2
In the Settings window for Interpolation, locate the Definition section.
3
From the Data source list, choose File.
4
Click  Browse.
5
6
Click  Import.
Load twist and bending moments.
Interpolation 2 (int2)
1
In the Home toolbar, click  Functions and choose Global>Interpolation.
2
In the Settings window for Interpolation, locate the Definition section.
3
From the Data source list, choose File.
4
Click  Browse.
5
6
In the Number of arguments text field, type 1.
7
Click  Import.
When an interpolation function is read from a file it treats the first columns as arguments and the following one as function values. For example in the interpolation function defining the moment around the y-axis (Function name is fY and the Position in file is 2), the number of arguments is assigned 1. Thus the first column is the argument and the third column is the function value (1+2).
8
Find the Functions subsection. In the table, enter the following settings:
Add Physics
1
In the Home toolbar, click  Add Physics to open the Add Physics window.
2
Go to the Add Physics window.
3
In the tree, select Structural Mechanics>Fatigue (ftg).
4
Find the Physics interfaces in study subsection. In the table, clear the Solve check box for Study: Generalized Loads.
5
Click Add to Component 1 in the window toolbar.
6
In the Home toolbar, click  Add Physics to close the Add Physics window.
Fatigue Outside
In the Settings window for Fatigue, type Fatigue Outside in the Label text field.
Cumulative Damage 1
1
Right-click Component 1 (comp1)>Fatigue Outside and choose the edge evaluation Cumulative Damage.
2
3
In the Settings window for Cumulative Damage, locate the Solution Field section.
4
From the Physics interface list, choose Shell (shell).
5
From the Through-thickness location list, choose Top.
6
Locate the Analysis section. From the Type list, choose Generalized loads.
7
Locate the Cycle Counting Parameters section. Find the Discretization subsection. In the Nr text field, type 20.
8
Locate the Damage Model Parameters section. In the m text field, type 10000.
9
From the fSN(R,N) list, choose int1.
10
Locate the Generalized Load Definition section. In the sf text field, type 1000.
11
Click  Add three times.
12
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Physics interfaces in study subsection. In the table, clear the Solve check box for Shell (shell).
4
Find the Studies subsection. In the Select Study tree, select Preset Studies for Selected Physics Interfaces>Fatigue.
5
Click Add Study in the window toolbar.
6
In the Home toolbar, click  Add Study to close the Add Study window.
Study 2
Step 1: Fatigue
1
In the Settings window for Fatigue, locate the Values of Dependent Variables section.
2
Find the Values of variables not solved for subsection. From the Settings list, choose User controlled.
3
From the Method list, choose Solution.
4
From the Study list, choose Study: Generalized Loads, Stationary.
5
In the Model Builder window, click Study 2.
6
In the Settings window for Study, type Study: Fatigue Outside in the Label text field.
7
In the Home toolbar, click  Compute.
Results
Fatigue Usage Distribution (ftg), Fatigue Usage Factor (ftg), Stress Cycle Distribution (ftg)
1
In the Model Builder window, under Results, Ctrl-click to select Fatigue Usage Factor (ftg), Stress Cycle Distribution (ftg), and Fatigue Usage Distribution (ftg).
2
Fatigue Outside
In the Settings window for Group, type Fatigue Outside in the Label text field.
Fatigue Usage Factor (ftg)
Change the x-axis display to be an expression of the corner angles.
Line Graph 1
1
In the Model Builder window, expand the Fatigue Usage Factor (ftg) node, then click Line Graph 1.
2
In the Settings window for Line Graph, locate the x-Axis Data section.
3
From the Parameter list, choose Expression.
4
In the Expression text field, type
atan2(z-0.03,x-0.04)*(dom==15)+atan2(abs(z-0.03),x+0.04)*(dom==11)+
atan2(z+0.03,x+0.04)*(dom==10)+atan2(z+0.03,x-0.04)*(dom==14)
5
From the Unit list, choose °.
6
Select the Description check box.
7
8
In the Fatigue Usage Factor (ftg) toolbar, click  Plot.
Fatigue Usage Factor Outside (ftg)
1
In the Model Builder window, under Results>Fatigue Outside click Fatigue Usage Factor (ftg).
2
In the Settings window for 1D Plot Group, type Fatigue Usage Factor Outside (ftg) in the Label text field.
Stress Cycle Distribution Outside (ftg)
1
In the Model Builder window, under Results>Fatigue Outside click Stress Cycle Distribution (ftg).
2
In the Settings window for 2D Plot Group, type Stress Cycle Distribution Outside (ftg) in the Label text field.
Matrix Histogram 1
1
In the Model Builder window, expand the Stress Cycle Distribution Outside (ftg) node, then click Matrix Histogram 1.
2
In the Settings window for Matrix Histogram, locate the Axes section.
3
From the Unit list, choose MPa.
4
In the Stress Cycle Distribution Outside (ftg) toolbar, click  Plot.
5
Click the  Zoom Extents button in the Graphics toolbar.
Fatigue Usage Distribution Outside (ftg)
1
In the Model Builder window, under Results>Fatigue Outside click Fatigue Usage Distribution (ftg).
2
In the Settings window for 2D Plot Group, type Fatigue Usage Distribution Outside (ftg) in the Label text field.
Matrix Histogram 1
1
In the Model Builder window, expand the Fatigue Usage Distribution Outside (ftg) node, then click Matrix Histogram 1.
2
In the Settings window for Matrix Histogram, locate the Axes section.
3
From the Unit list, choose MPa.
4
In the Fatigue Usage Distribution Outside (ftg) toolbar, click  Plot.
5
Click the  Zoom Extents button in the Graphics toolbar.
Add Physics
1
In the Home toolbar, click  Add Physics to open the Add Physics window.
2
Go to the Add Physics window.
3
In the tree, select Structural Mechanics>Fatigue (ftg).
4
Find the Physics interfaces in study subsection. In the table, clear the Solve check boxes for Study: Generalized Loads and Study: Fatigue Outside.
5
Click Add to Component 1 in the window toolbar.
6
In the Home toolbar, click  Add Physics to close the Add Physics window.
Fatigue Inside
In the Settings window for Fatigue, type Fatigue Inside in the Label text field.
Cumulative Damage 1
1
Right-click Component 1 (comp1)>Fatigue Inside and choose the edge evaluation Cumulative Damage.
2
3
In the Settings window for Cumulative Damage, locate the Solution Field section.
4
From the Physics interface list, choose Shell (shell).
5
From the Through-thickness location list, choose Bottom.
6
Locate the Analysis section. From the Type list, choose Generalized loads.
7
Locate the Cycle Counting Parameters section. Find the Discretization subsection. In the Nr text field, type 20.
8
Locate the Damage Model Parameters section. In the m text field, type 10000.
9
From the fSN(R,N) list, choose int1.
10
Locate the Generalized Load Definition section. In the sf text field, type 1000.
11
Click Add three times.
12
Add Study
1
In the Home toolbar, click  Add Study to open the Add Study window.
2
Go to the Add Study window.
3
Find the Physics interfaces in study subsection. In the table, clear the Solve check boxes for Shell (shell) and Fatigue Outside (ftg).
4
Find the Studies subsection. In the Select Study tree, select Preset Studies for Selected Physics Interfaces>Fatigue.
5
Click Add Study in the window toolbar.
6
In the Home toolbar, click  Add Study to close the Add Study window.
Study 3
Step 1: Fatigue
1
In the Settings window for Fatigue, locate the Values of Dependent Variables section.
2
Find the Values of variables not solved for subsection. From the Settings list, choose User controlled.
3
From the Method list, choose Solution.
4
From the Study list, choose Study: Generalized Loads, Stationary.
5
In the Model Builder window, click Study 3.
6
In the Settings window for Study, type Study: Fatigue Inside in the Label text field.
7
In the Home toolbar, click  Compute.
Results
Fatigue Usage Distribution (ftg2), Fatigue Usage Factor (ftg2), Stress Cycle Distribution (ftg2)
1
In the Model Builder window, under Results, Ctrl-click to select Fatigue Usage Factor (ftg2), Stress Cycle Distribution (ftg2), and Fatigue Usage Distribution (ftg2).
2
Fatigue Inside
In the Settings window for Group, type Fatigue Inside in the Label text field.
Fatigue Usage Factor Inside (ftg2)
1
In the Model Builder window, under Results>Fatigue Inside click Fatigue Usage Factor (ftg2).
2
In the Settings window for 1D Plot Group, type Fatigue Usage Factor Inside (ftg2) in the Label text field.
Line Graph 1
1
In the Model Builder window, expand the Fatigue Usage Factor Inside (ftg2) node, then click Line Graph 1.
2
In the Settings window for Line Graph, locate the x-Axis Data section.
3
From the Parameter list, choose Expression.
Define rounding position using an angle.
4
In the Expression text field, type
atan2(z-0.03,x-0.04)*(dom==15)+atan2(abs(z-0.03),x+0.04)*(dom==11)+
atan2(z+0.03,x+0.04)*(dom==10)+atan2(z+0.03,x-0.04)*(dom==14)
5
From the Unit list, choose °.
6
Select the Description check box.
7
8
In the Fatigue Usage Factor Inside (ftg2) toolbar, click  Plot.
Stress Cycle Distribution Inside (ftg2)
1
In the Model Builder window, under Results>Fatigue Inside click Stress Cycle Distribution (ftg2).
2
In the Settings window for 2D Plot Group, type Stress Cycle Distribution Inside (ftg2) in the Label text field.
Matrix Histogram 1
1
In the Model Builder window, expand the Stress Cycle Distribution Inside (ftg2) node, then click Matrix Histogram 1.
2
In the Settings window for Matrix Histogram, locate the Axes section.
3
From the Unit list, choose MPa.
4
In the Stress Cycle Distribution Inside (ftg2) toolbar, click  Plot.
5
Click the  Zoom Extents button in the Graphics toolbar.
Fatigue Usage Distribution Inside (ftg2)
1
In the Model Builder window, under Results>Fatigue Inside click Fatigue Usage Distribution (ftg2).
2
In the Settings window for 2D Plot Group, type Fatigue Usage Distribution Inside (ftg2) in the Label text field.
Matrix Histogram 1
1
In the Model Builder window, expand the Fatigue Usage Distribution Inside (ftg2) node, then click Matrix Histogram 1.
2
In the Settings window for Matrix Histogram, locate the Axes section.
3
From the Unit list, choose MPa.
4
In the Fatigue Usage Distribution Inside (ftg2) toolbar, click  Plot.
5
Click the  Zoom Extents button in the Graphics toolbar.