PDF

Kirsch Infinite Plate Problem
Introduction
In this example, you perform a static stress analysis to obtain the stress distribution in the vicinity of a small hole in an infinite plate. Two approximations of the infinite plate are evaluated. The first one uses a plate that is large compared to the hole while the second one employs an infinite element domain.
The problem is a classic benchmark, and the theoretical solution was derived by G. Kirsch in 1898. This implementation is based on the Kirsch plate model described on page 184 in Mechanics of Materials, D. Roylance (Ref. 1). The stress level is compared with the theoretical values.
Model Definition
Model the infinite plate in a 2D plane stress approximation as a 2 m-by-2 m plate with a hole with a radius of 0.1 m in the middle. Due to symmetry in load and geometry you need to analyze only a quarter of the plate, see Figure 1. Choose the size of the plate sufficiently large so that the stress concentration close to the hole is not affected.
Figure 1: Geometry model of the Kirsch plate with rollers defining the symmetry plane.
When modeling a plate using the infinite element domain you need to create an additional layers around the plate. Those layers simulate the part that stretches to infinity and can have an arbitrarily length along the direction that stretches to infinity, for example 0.1 m.
In the model the infinite element domain is created along the y direction only since the numerical results along x = 0 symmetry plane are compared to an analytical reference and infinite element domain in x direction only have a minor influence.
Material
Isotropic material with, E = 2.1·1011 Pa, ν = 0.3.
Load
A distributed stress of 103 Pa on the right edge pointing in the x direction.
Constraints
Symmetry planes, x = 0, y = 0.
Results and Discussion
The distribution of the normal stress in the x direction, σx, is shown in Figure 2and Figure 3. The stress contours of the finite model and the infinite model are very similar.
Figure 2: Distribution of the normal stress in the x direction for the finite model.
Figure 3: Distribution of the normal stress in the x direction for the infinite model.
According to Ref. 1 the stress σx along the vertical symmetry line can be calculated as
(1)
Figure 4 shows the stress σx obtained from the solved models, and plotted as a function of the true y-coordinate along the left symmetry edge, which are in close agreement with the theoretical value according to Equation 1.
Figure 4: Normal stress, simulated results (solid line) versus the theoretical values (dashed line).
Away from the hole, stresses from the finite model starts drifting from the theoretical values, while stresses from the infinite model matches closely with the theoretical value.
The stress error is summarized in the following table:
Notes About the COMSOL Implementation
The default scaling function in Infinite Element Domain is rational. This type of function is well adapted to cases where the degrees of freedom vanish to zero at infinity. The present model is submitted to infinite loads at infinity, that means that constant strain and linear displacement are expected. For this type of infinite solution, polynomial functions are preferred. The relation between the stretched and geometric coordinates is
where the function f is defined with an analytic function. Here we want f as a second-order polynomial: . The continuity condition at X0, , and at the end of the domain imply that the polynomial is:
The infinite element domain gives best results when meshed with rectangular elements; see Figure 5.
Figure 5: Infinite element domain modeled with rectangular elements.
Reference
1. D. Roylance, Mechanics of Materials, John Wiley & Sons, 1996.
Application Library path: Structural_Mechanics_Module/Verification_Examples/kirsch_plate
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  2D.
2
In the Select Physics tree, select Structural Mechanics>Solid Mechanics (solid).
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
Draw a rectangle with a top layer that represents the infinite element domain.
Geometry 1
Rectangle 1 (r1)
1
In the Geometry toolbar, click  Rectangle.
2
In the Settings window for Rectangle, locate the Size and Shape section.
3
In the Height text field, type 1+deltaY.
4
Click to expand the Layers section. Clear the Layers on bottom check box.
5
Select the Layers on top check box.
6
Circle 1 (c1)
1
In the Geometry toolbar, click  Circle.
2
In the Settings window for Circle, locate the Size and Shape section.
3
In the Radius text field, type 0.1.
4
Click  Build Selected.
Difference 1 (dif1)
1
In the Geometry toolbar, click  Booleans and Partitions and choose Difference.
2
3
In the Settings window for Difference, click  Build All Objects.
Global Definitions
First add an analytical function for stress, based on Kirsch’s theoretical solution of an infinite plate.
Analytic Stress
1
In the Home toolbar, click  Functions and choose Global>Analytic.
2
In the Settings window for Analytic, type Analytic Stress in the Label text field.
3
In the Function name text field, type AnaStress.
4
Locate the Definition section. In the Expression text field, type 1000/2*(2+(0.1/y)^2+3*(0.1/y)^4).
5
In the Arguments text field, type y.
6
Locate the Units section. In the table, enter the following settings:
7
In the Function text field, type N/m^2.
Create an analytic polynomial function to define the scaling in the infinite element domain.
Definitions
Analytic 2 (an2)
1
In the Home toolbar, click  Functions and choose Global>Analytic.
2
In the Settings window for Analytic, locate the Definition section.
3
In the Expression text field, type (pw-10*deltaY)*x^2+10*deltaY*x.
4
Locate the Units section. In the table, enter the following settings:
5
In the Function text field, type m.
Infinite Element Domain 1 (ie1)
1
In the Definitions toolbar, click  Infinite Element Domain.
2
3
In the Settings window for Infinite Element Domain, locate the Scaling section.
4
From the Coordinate stretching type list, choose User defined.
5
From the Stretching function list, choose Analytic 2 (an2).
Add a variable representing the physical y-coordinate to be used in postprocessing.
Variables 1
1
In the Model Builder window, right-click Definitions and choose Variables.
2
In the Settings window for Variables, locate the Variables section.
3
Solid Mechanics (solid)
First set up a model without the Infinite Element Domain.
1
In the Model Builder window, under Component 1 (comp1) click Solid Mechanics (solid).
2
In the Settings window for Solid Mechanics, locate the Domain Selection section.
3
In the list, select 2 (infinite elements).
4
Click  Remove from Selection.
5
6
Locate the 2D Approximation section. From the list, choose Plane stress.
7
Locate the Thickness section. In the d text field, type 0.1.
Symmetry 1
1
In the Physics toolbar, click  Boundaries and choose Symmetry.
2
Boundary Load 1
1
In the Physics toolbar, click  Boundaries and choose Boundary Load.
2
3
In the Settings window for Boundary Load, locate the Force section.
4
Specify the FA vector as
Now set up a model with the infinite element domain.
Add Physics
1
In the Physics toolbar, click  Add Physics to open the Add Physics window.
2
Go to the Add Physics window.
3
In the tree, select Structural Mechanics>Solid Mechanics (solid).
4
Click Add to Component 1 in the window toolbar.
5
In the Physics toolbar, click  Add Physics to close the Add Physics window.
Solid Mechanics 2 (solid2)
1
In the Settings window for Solid Mechanics, locate the 2D Approximation section.
2
3
Locate the Thickness section. In the d text field, type 0.1.
Symmetry 1
1
Right-click Component 1 (comp1)>Solid Mechanics 2 (solid2) and choose More Constraints>Symmetry.
2
Boundary Load 1
1
In the Physics toolbar, click  Boundaries and choose Boundary Load.
2
3
In the Settings window for Boundary Load, locate the Force section.
4
Specify the FA vector as
Materials
Material 1 (mat1)
1
In the Model Builder window, under Component 1 (comp1) right-click Materials and choose Blank Material.
2
In the Settings window for Material, locate the Material Contents section.
3
Mesh 1
For the finite plate selection, a customized free triangular mesh must be used for getting a better solution in the stress concentration region. A smaller element size is set at the expected location of stress concentration.
Free Triangular 1
1
In the Mesh toolbar, click  Free Triangular.
2
In the Settings window for Free Triangular, locate the Domain Selection section.
3
From the Geometric entity level list, choose Domain.
4
Size 1
1
Right-click Free Triangular 1 and choose Size.
2
In the Settings window for Size, locate the Geometric Entity Selection section.
3
From the Geometric entity level list, choose Point.
4
5
Locate the Element Size section. Click the Custom button.
6
Locate the Element Size Parameters section. Select the Maximum element size check box.
7
Infinite elements give better results when meshed with rectangular elements.
Mapped 1
In the Mesh toolbar, click  Mapped.
Distribution 1
1
Right-click Mapped 1 and choose Distribution.
2
3
In the Settings window for Distribution, locate the Distribution section.
4
In the Number of elements text field, type 4.
5
Click  Build All.
Study 1
In the Home toolbar, click  Compute.
Results
To check the error in the computed results, make a point evaluation of stresses near the hole (y = 0.1) and away from the hole (y = 1) for the solution computed with and without the infinite element domain. The error can be determined by finding the difference between computed stresses and analytical stresses.
Error Evaluation
1
In the Results toolbar, click  Point Evaluation.
2
In the Settings window for Point Evaluation, type Error Evaluation in the Label text field.
3
4
Locate the Expressions section. In the table, enter the following settings:
5
Click  Evaluate.
Stress (solid)
The default plots show the von Mises stress combined with a scaled deformation of the plate. Remove deformation and display the stress field in the x direction instead since the external load is oriented in that direction.
Surface 1
1
In the Model Builder window, expand the Stress (solid) node, then click Surface 1.
2
In the Settings window for Surface, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Solid Mechanics>Stress>Stress tensor (spatial frame) - N/m²>solid.sx - Stress tensor, x component.
3
Locate the Coloring and Style section. From the Color table list, choose Rainbow.
Deformation
1
In the Model Builder window, expand the Surface 1 node.
2
Right-click Results>Stress (solid)>Surface 1>Deformation and choose Delete.
Surface 1
1
In the Model Builder window, expand the Results>Stress (solid2) node, then click Surface 1.
2
In the Settings window for Surface, click Replace Expression in the upper-right corner of the Expression section. From the menu, choose Component 1 (comp1)>Solid Mechanics 2>Stress>Stress tensor (spatial frame) - N/m²>solid2.sx - Stress tensor, x component.
3
Locate the Coloring and Style section. From the Color table list, choose Rainbow.
Deformation
1
In the Model Builder window, expand the Surface 1 node.
2
Right-click Results>Stress (solid2)>Surface 1>Deformation and choose Delete.
Stress Profile
1
In the Results toolbar, click  1D Plot Group.
2
In the Settings window for 1D Plot Group, type Stress Profile in the Label text field.
Line Graph 1
1
Right-click Stress Profile and choose Line Graph.
2
3
In the Settings window for Line Graph, locate the y-Axis Data section.
4
In the Expression text field, type AnaStress(ym).
5
Locate the x-Axis Data section. From the Parameter list, choose Expression.
6
In the Expression text field, type ym.
7
In the Stress Profile toolbar, click  Plot.
8
Click to expand the Legends section. From the Legends list, choose Manual.
9
Select the Show legends check box.
10
11
Click to expand the Coloring and Style section. Find the Line style subsection. From the Line list, choose Dashed.
12
In the Stress Profile toolbar, click  Plot.
Line Graph 2
1
In the Model Builder window, right-click Stress Profile and choose Line Graph.
2
3
In the Settings window for Line Graph, click Replace Expression in the upper-right corner of the y-Axis Data section. From the menu, choose Component 1 (comp1)>Solid Mechanics>Stress>Stress tensor (spatial frame) - N/m²>solid.sx - Stress tensor, x component.
4
Locate the x-Axis Data section. From the Parameter list, choose Expression.
5
In the Expression text field, type y.
6
Locate the Legends section. Select the Show legends check box.
7
From the Legends list, choose Manual.
8
Line Graph 3
1
Right-click Stress Profile and choose Line Graph.
2
3
In the Settings window for Line Graph, click Replace Expression in the upper-right corner of the y-Axis Data section. From the menu, choose Component 1 (comp1)>Solid Mechanics 2>Stress>Stress tensor (spatial frame) - N/m²>solid2.sx - Stress tensor, x component.
4
Locate the x-Axis Data section. From the Parameter list, choose Expression.
5
In the Expression text field, type ym.
6
Locate the Legends section. Select the Show legends check box.
7
From the Legends list, choose Manual.
8
Stress Profile
1
In the Model Builder window, click Stress Profile.
2
In the Settings window for 1D Plot Group, locate the Axis section.
3
Select the Manual axis limits check box.
4
In the x minimum text field, type 0.
5
In the x maximum text field, type 1.5.
6
Locate the Plot Settings section. Select the x-axis label check box.
7
In the associated text field, type Physical y-coordinate (m).
8
Select the y-axis label check box.
9
10
In the Stress Profile toolbar, click  Plot.