Stress Concentration in Plate with Circular Hole
Perform a 2-D plane-stress elasticity analysis.
A thin rectangular plate under a uniaxial tension has a uniform stress distribution. Introducing a circular hole in the plate disturbs the uniform stress distribution near the hole, resulting in a significantly higher than average stress. Such a thin plate, subject to in-plane loading, can be analyzed as a 2-D plane-stress elasticity problem. In theory, if the plate is infinite, then the stress near the hole is three times higher than the average stress. For a rectangular plate of finite width, the stress concentration factor is a function of the ratio of hole diameter to the plate width. This example approximates the stress concentration factor using a plate of a finite width.
创建结构模型并包括几何形状
Create a structural model for static plane-stress analysis.
model = createpde('structural','静态分布');
板必须足够长,因此施加的载荷和边界条件远离圆形孔。这种情况确保了均匀张力状态在远场中占上风,因此近似无限长的板。在此示例中,板的长度比其宽度大四倍。指定问题的以下几何参数。
radius = 20.0; width = 50.0; totalLength = 4*width;
Define the geometry description matrix (GDM) for the rectangle and circle.
R1 = [3 4 -totalLength totalLength。。。totallength -totallength。。。-width -width width width]'; C1 = [1 0 0 radius 0 0 0 0 0 0]';
定义组合的GDM,名称空间矩阵和设置公式,以构建分解几何形状decsg
。
gdm = [R1 C1]; ns = char('R1',“C1”);g = decsg(gdm,'R1 - C1',ns');
创建几何形状并将其包括在结构模型中。
几何弗罗姆(Model,g);
绘制geometry displaying edge labels.
figure pdegplot(model,'EdgeLabel','on');axis([-1.2*totalLength 1.2*totalLength -1.2*width 1.2*width]) title'Geometry with Edge Labels';
绘制显示顶点标签的几何形状。
figure pdegplot(model,'顶板标签','on');axis([-1.2*totalLength 1.2*totalLength -1.2*width 1.2*width]) title“带顶点标签的几何形状”;
Specify Model Parameters
Specify Young's modulus and Poisson's ratio to model linear elastic material behavior. Remember to specify physical properties in consistent units.
structuralProperties(model,'Youngsmodulus',200E3,'Poissonsratio',0.25);
Restrain all rigid-body motions of the plate by specifying sufficient constraints. For static analysis, the constraints must also resist the motion induced by applied load.
设置x
- 左侧边缘(边缘3)的位移的组件至零以抵抗施加的载荷。设置y
- 左下角(顶点3)位移的组成部分为零以限制刚体运动。
结构BC(模型,'Edge',3,'xdisplacement',0);结构BC(模型,'顶点',3,'YDisplacement',0);
Apply the surface traction with a non-zerox
- 组件位于板的右边缘。
structuralBoundaryLoad(model,'Edge',1,“表面流动”,[100; 0]);
生成网格并解决
要准确地捕获溶液中的等级,请使用细网格。生成网格,使用Hmax
to control the mesh size.
generateMesh(model,'hmax',半径/6);
绘制mesh.
figure pdemesh(model)
Solve the plane-stress elasticity model.
r = solve(型号);
绘制应力轮廓
绘制x
- 正常应力分布的组成部分。应力等于远离圆形边界的施加张力。应力的最大值发生在圆形边界附近。
figure pdeplot(model,'XYData',R.Stress.sxx,'colormap','jet') axisequaltitle'Normal Stress Along x-Direction';
插值应力
To see the details of the stress variation near the circular boundary, first define a set of points on the boundary.
thetahole = linspace(0,2*pi,200);xr =半径*cos(thetahole);yr =半径*sin(thetahole);circleCoorDinates = [xr; yr];
然后在这些点插入压力值s by usingInterpolatestress
。此函数返回一个结构阵列,其字段包含插值应力值。
stressHole = interpolateStress(R,CircleCoordinates);
绘制normal direction stress versus angular position of the interpolation points.
figure plot(thetaHole,stressHole.sxx) xlabel('\ theta')ylabel('\ sigma_ {xx}') 标题'Normal Stress Around Circular Boundary';
Solve the Same Problem Using Symmetric Model
The plate with a hole model has two axes of symmetry. Therefore, you can model a quarter of the geometry. The following model solves a quadrant of the full model with appropriate boundary conditions.
为静态平面压力分析创建结构模型。
symmodel = createpde('structural','静态分布');
Create the geometry that represents one quadrant of the original model. You do not need to create additional edges to constrain the model properly.
R1 = [3 4 0 Totallength/2 Totallength/2。。。0 0 0 width width]'; C1 = [1 0 0 radius 0 0 0 0 0 0]'; gm = [R1 C1]; sf ='R1-C1';ns = char('R1',“C1”);g = decsg(gm,sf,ns'); geometryFromEdges(symModel,g);
绘制geometry displaying the edge labels.
figure pdegplot(symModel,'EdgeLabel','on');axisequaltitle“与边缘标签的对称象限”;
Specify structural properties of the material.
structuralProperties(symModel,'Youngsmodulus',200E3,。。。'Poissonsratio',0.25);
Apply symmetric constraints on the edges 3 and 4.
结构BC(Symmodel,'Edge',[3 4],,'Constraint',“对称”);
Apply surface traction on the edge 1.
structuralBoundaryLoad(symModel,'Edge',1,“表面流动”,[100; 0]);
生成网格并求解对称平面压力模型。
generateMesh(symModel,'hmax',半径/6);rsym = solve(Symmodel);
绘制x
- 正常应力分布的组成部分。结果与完整模型的第一个象限相同。
figure pdeplot(symModel,'XYData',rsym.stress.sxx,'colormap','jet');axisequaltitle“对称模型的X方向正常应力”;