在前处理器中定义层压板时,知道层压板坐标系的方向非常重要。材料特性、与层压板轴相关的单层板方向以及其他参数和特性的定义均在层压板坐标系,除非指定其他的。同样,层压板坐标系可以用于获得派生解(应变和应力)。在有限元分析中,层压板坐标系与单元坐标系有关,每个单元都有一个单独的右手直角坐标系。
单元坐标系与单元类型有关。对于杆或梁单元,x轴的方向通常沿着单元两端点之间的直线。对于2维或3维实体单元,单元坐标系通常与全局坐标系平行。对于壳单元,x和y轴在单元面内,z轴为面的法向。默认的x和y轴方向由商用软件和单元类型决定。
有多种方法可以定义壳单元内的单元坐标系的默认方向。在ANSYS(图3.17.(a))中,x轴沿着单元第1、2个节点定义的边,z轴垂直于壳面(由右手准则决定的向外的方向),y轴垂直于x和z轴。在MSC-MARC中,x轴沿着两个对边中点的连线(图3.17.(b))。在Abaqus(图3.17.(c))中,局部x方向由全局X方向在单元面上的投影计算得到,即,
图3.17 壳单元的单元坐标系的默认方向:(a) ANSYS,(b)MSC-MARC,(c)Abaqus
如果没有指定附加的转动,层压板坐标系与单元坐标系一致。附加转动在ANSYS和Abaqus中分别通过ESYS和CSYS指定,如例3.8和例3.9所示。
在例3.2-3.7中,仅分析了矩形板和矩形单元。所有单元的第1、2节点沿全局X轴方向。因此,选用的材料轴平行于全局坐标轴。但是不需要如此。多数商用软件提供修改单元坐标系的工具。例3.9介绍如何在有曲率的壳中修改单元坐标系。例3.10介绍如何在结构不同部位使用不同的方向。
例3.8 使用局部坐标系对例3.2的部件建模,如果正交各向异性材料关于x方向转动 30°。本例将在例3.13中继续应用。
解3.8 本例是例3.2的继续。然而,材料不再是对称的,因此不能再用Ex_3.2.cae,需要创建一个全新模型。下面伪代码中材料的力学特性的输入使用Lamina代替[ABDH]矩阵。
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.8],OK
菜单:File,Save as,[Ex_3.8.cae],OK
i. 创建部件
模块:Part
菜单:Part,Create
3D,Deformable,Shell,Planar,Approximate size [4000],Cont
菜单:Add,Line,Rectangle
# 输入点[-2000,-1000],[2000,1000],X,Done
ii. 定义材料
模块:Property
菜单:Material,Create,Mechanical,Elast.,Elastic,Type:Lamina
[133860, 7706, 0.301, 4306, 4306, 2760],OK
iii. 创建转动30°的局部坐标系,并对区域指定材料方向
菜单:Tools,Datum
# 输入:原点,x轴上的点,x-y平面上的点
# cos(30)=0.866,sin(30)=0.5
CSYS,3 Points,Name [csys-1],Rectangular,Cont
[0,0,0],[0.866,0.5,0],[1,1,0],#关闭对话框
菜单:Assign,Material Orientation,# 选取区域,Done
Datum CSYS List,Names:csys-1,OK,# 观察图形,OK
iv. 创建截面并赋截面给部件
菜单:Section,Create
Shell,Homogeneous,Cont
Section integration:Before analysis,Thickness:Value [10],OK
菜单:Assign,Section,# pick part,Done,OK
v. 创建装配
模块:Assembly
菜单:Instance,Create,Independent,OK
# 工作区显示全局和用户定义的坐标系
vi. 定义分析步
模块:Step
菜单:Step,Create,Name [Step-1],Static/General,Cont,OK
vii. 添加边界条件和载荷
模块:Load
菜单:BC,Manager
Create,Name [SS1-xx],Step:Initial,Mech.,Disp/Rota,Cont
# 选取x=-2000和x=2000的线,Done,U2,U3,RU1,OK
Create,Name [SS1-yy],Step:Initial,Mech.,Disp/Rota,Cont
# 选取y=-1000和y=1000的线,Done,U1,U3,RU2,OK
# 关闭BC Manager对话框
菜单:Load,Create
Step [Step-1],Mech.,Pressure,Cont,# 选取部件,Done
# Choose a side for the shell:Brown,Magnitude [0.12e-3],OK
viii. 对模型划分网格
模块:Mesh
菜单:Seed,Instance,Approximate global size [500],Apply,OK
菜单:Mesh,Controls,Elem. Shape:Quad,Technique:Structured,OK
菜单:Mesh,Element Type,Geometric Order:Quadratic,DOF:5,OK
菜单:Mesh,Instance,Yes
ix. 求解并可视化结果
模块:Job
菜单:Job,Manager
Create,Cont,OK,Submit # when completed,Results
模块:Visualization
菜单:Plot,Contours,On Deformed Shape
Field Output Toolbox,Primary,U,U3
模型最大挠度为8.704mm。
例3.9 将3D曲面壳的单元坐标系(层压板坐标系)与全局Y轴在壳表面的投影对齐。
解3.9 层压板铺层为[90/45/-45],材料为AS4D/9310。本例分两步解决。第一步,在Composite Layup对话框中通过CSYS:<Layup>将层压板坐标系与单元坐标系对齐,单元坐标系方向见3.2.14节。第二步,通过绕单元坐标系的z轴转动90°创建用户定义的方向,因此将层压板坐标系与全局Y轴在壳表面的投影对齐。
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.9],OK
菜单:File,Save as,[Ex_3.9.cae],OK
i. 创建部件
模块:Part
菜单:Part,Create,3D,Deformable,Point,Approx. size [500],Cont
[0,0,0] # 创建参考点RF
菜单:Tools,Datum,Point,Enter coordinates
[300,0,135],[0,0,235],[-300,0,135],[200,200,0],
[0,200,135],[-200,200,0],X,# 关闭对话框,Views:Iso View
菜单:Shape,Wire,Spline,# 选取最右侧两个点,Done
菜单:Shape,Wire,Spline,# 选取最左侧和最上侧的点,Done
菜单:Shape,Wire,Spline,# 选取下面3个点,Done
菜单:Shape,Wire,Spline,# 选取上面3个点,Done
菜单:Shape,Shell,Loft
Insert Before,# 选取最左侧直线,Done
Insert After,# 选取最右侧直线,Done
标签页:Transition,Method:Select path
Add,# 选取下侧曲线,Done,Add,# 选取上侧曲线,Done,OK
部件应该如图3.18所示。
图3.18 部件几何(例3.9)
ii. 定义材料、截面并赋截面给部件
模块:Property
菜单:Material,Create,Mechanical,Elast.,Elastic,Type:Lamina
[133860, 7706, 0.301, 4306, 4306, 2760],OK
菜单:Tools,Datum,# 创建一个CSYS,后面将使用
CSYS,3 Points,Name [user-csys],Rectangular,Cont
[0,0,0],[0,1,0],[-1,1,0],# 关闭对话框
菜单:Composite,Create,Element Type:Conventional Shell,Cont
Region # 双击每个铺层对应的单元格
# 选取部件,Done # 单元格必须显示为 (Picked)
Material # 双击每个铺层对应的单元格,OK
Thickness [1.05] # 所有铺层,CSYS # <Layup>所有铺层
Rotation Angle [90,45,-45],Integ. Points [3] # 所有铺层,OK
iii. 创建装配
模块:Assembly
菜单:Instance,Create,Independent,OK
# 工作区显示全局和用户定义的坐标系
iv. 定义分析步
模块:Step
菜单:Step,Create,Name [Step-1],Static/General,Cont,OK
菜单:Output,Field Output Requests,Edit,F-Output-1
Output at shell:Specify [1,2,3,4,5,6,7,8,9],OK
v. 对模型划分网格
模块:Mesh
菜单:Seed,Instance,Approximate global size [100],Apply,OK
菜单:Mesh,Controls,Element Shape:Quad,Technique:Structure,OK
菜单:Mesh,Instance,Yes
因为本例的目标是演示如何定义单元和层压板坐标系,因此不需要施加载荷、边界条件或求解该问题。然而,对模型进行数据检查(Data Check)后,可以对单元坐标系方向进行可视化处理。
vi. 可视化层压板坐标系
模块:Job
菜单:Job,Manager
Create,Cont,OK,Data Check # when completed,Results
# 可视化单元坐标系
模块:Visualization
工具条:Render Style,Render Model:Wireframe
菜单:Plot,Material Orientations,On Undeformed Shape
# 选择不同铺层并可视化其方向
菜单:Results,Section Points,Selection method:Plies
通过选取<Layup>作为复合材料铺层的CSYS的选项,即选择了通过与单元坐标系对齐来定义层压板坐标。为了使用用户定义的方向,必须更改Composite Layup对话框中的CSYS。在例3.9的伪代码中,定义了用户定义坐标系,并命名为user-csys。下面的伪代码介绍如何使用用户定义坐标系修改本问题。
# 定义材料、截面并赋截面给部件
模块:Property
菜单:Composite,Edit,CompositeLayup-1
Region # 所有铺层必须都显示为 (Picked)
Material # 所有铺层必须都显示为 Material-1
Thickness [1.05] # 所有铺层
CSYS # 双击每个铺层对应的单元格
Base Orientation:CSYS,Select,Datum CSYS List,user-csys,OK,OK
# 所有铺层必须都显示为 user-csys.3
Rotation Angle [90,45,-45],Integ.Points [3] # 所有铺层,OK
转动前后,90°铺层的单层板(铺层)坐标系如图3.19和图3.20所示。通过对各铺层的单层板坐标系的可视化,可以看到用户定义坐标系是如何影响单层板坐标系的。
图3.19 使用材料铺层定义的单元坐标系([90/45/-45]层压板的90°铺层)
图3.20 使用用户定义坐标系定义的单元坐标系([90/45/-45]层压板的90°铺层)
例3.10 在Abaqus中,对带法兰边的圆管建模,并定义轴向和径向层压板方向。在圆柱段,参考轴可以沿长度方向。在法兰部分,参考轴可以为径向(见图3.21)。
图3.21 带法兰边的圆管的参考轴
解3.10 层压板铺层为[0/45/-45],材料选用AS4D/9310。为了满足方向要求,将使用柱坐标系。下面的伪代码介绍如何将圆柱的单元坐标系与轴向(柱坐标系的z轴)对齐,将法兰的单元坐标系与柱坐标系的径向对齐。
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.10],OK
菜单:File,Save as,[Ex_3.10.cae],OK
i. 创建部件
模块:Part
菜单:Part,Create,3D,Solid,Extrusion,Approx size [600],Cont
菜单:Add,Circle,[0,0],[0,175],[0,0],[0,275],X,Done
Depth [350],OK
菜单:Shape,Shell,From Solid,# 选取部件,Done,X
菜单:Tools,Geometry Edit,Category:Face,Method:Remove
# 选取圆柱外表面,Done
# 选取模型底部平面,Done
X,# 关闭Geometry Edit对话框
菜单:Tools,Set,Manager
Create,Name [cylinder],Cont,# 选取圆柱面,Done
Create,Name [flange],Cont,# 选取法兰平面,Done
# 关闭Set Manager对话框,# 后面将使用这些集 合
ii. 定义材料、截面并赋截面给部件
模块:Property
菜单:Material,Create,Mechanical,Elasticity,Elastic,Type:Lamina
[133860, 7706, 0.301, 4306, 4306, 2760],OK
菜单:Tools,Datum,CSYS,3 Points,Name [cyl-csys],Cylindrical,Cont
[0,0,0],[1,0,0],[1,1,0],# 关闭对话框
菜单:Composite,Manager
Create,Name [cyl-zone],Element Type:Conventional Shell,Cont
Region # 双击每个铺层对应的单元格
Sets,cylinder,Cont,# 所有铺层的单元格必须都显示cylinder
Material # 双击每个铺层对应的单元格,OK
# 所有铺层必须都显示Material-1,Thickness [1.05] # 所有铺层
CSYS # 双击每个铺层对应的单元格
Base Orientation:CSYS,Select,Datum CSYS List,cyl-csys,OK
Normal Direction:Axis 2,OK,# 所有铺层必须都显示cyl-csys.2
Rotation Angle [0,45,-45],Integration Points [3] # 所有铺层,OK
Create,Name [flange-zone],Element Type:Conventional Shell,Cont
Region # 双击每个铺层对应的单元格
Sets,flange,Cont,# 所有铺层必须都显示flange
Material # 双击每个铺层对应的单元格,OK
# 所有铺层必须都显示Material-1,Thickness [1.05] # 所有铺层
CSYS # 双击每个铺层对应的单元格
Base Orientation:CSYS,Select,Datum CSYS List,cyl-csys,OK
Normal Direction:Axis 3,OK,#所有铺层必须都显示cyl-csys.3
Rotation Angle [0,45,-45],Integration Points [3] # 所有铺层,OK
# 关闭Composite Layup Manager对话框
iii. 创建装配
模块:Assembly
菜单:Instance,Create,Independent,OK
# 工作区显示全局和用户定义的坐标系
iv. 定义分析步
模块:Step
菜单:Step,Create,Name [Step-1],Static/General,Cont,OK
菜单:Output,Field Output Requests,Edit,F-Output-1
Output at shell:Specify [1,2,3,4,5,6,7,8,9],OK
v. 对模型划分网格
模块:Mesh
菜单:Seed,Instance,Approximate global size [75],Apply,OK
菜单:Mesh,Controls,# 选取所有面,Done
Element Shape:Quad,Technique:Free,OK
菜单:Mesh,Instance,Yes
本例的目的是演示如何使用柱坐标系对齐单元方向。因此,因此不需要施加载荷、边界条件或求解该问题。然而,对模型进行数据检查(Data Check)后,可以对单元坐标系方向进行可视化处理。
vi. 可视化单元坐标系(原文coordinate element system)
模块:Job
菜单:Job,Manager
Create,Cont,OK,Data Check # 当完成后,Results
模块:Visualization
工具条:Render Style,Render Model:Shaded
# 为了便于可视化所有单元的坐标系
菜单:Plot,Material Orientations,On Undeformed Shape
菜单:Results,Section Points,Selection method:Plies
# 选择不同铺层并可视化其方向
约束通过各种方式用于限制模型某些部分的运动,概括如下:
绑定约束(Tie Constraint)将两个区域绑在一起,而忽略两个区域的网格相同或不同。见例6.3。
刚体约束(Rigid Body Constraint)将装配中一个区域的运动与一个参考点的运动耦合。在分析过程中,组成刚体的区域的相对位置将保持不变。在刚体约束中,pin nodes使所有的位移等于参考点的位移,tie nodes使所有的位移和转动等于参考点的位移和转动。刚体约束在强制使用简支(pinned)边界条件时非常有用,如在例3.11中的应用。
耦合约束(Coupling Constraint)将一个面的运动与一个点的运动耦合。虽然3D实体网格的每个节点只有3个自由度(DOF),但是参考点可以有6个自由度。因此,有必要约束参考点的转动,如图打算使耦合的面平移,而不像刚体面一样转动。见例7.5。
多点约束(Multi-point Constraint,MPC)将所选的从属点的运动与一个点的运动耦合。
壳-实体耦合约束(Shell-to-solid Coupling Constraint)将一个壳的边的运动与相邻的实体面的运动耦合。该约束在细节建模时很有用,例如当小区域使用实体单元,而模型大部分区域使用壳单元时。
嵌入区域约束(Embedded Region Constraint)在一个(大)模型的主区域内嵌入一个模型的(小)区域。该约束可用于局部-全局分析、多尺度分析和多物理场分析。
解3.11 工字梁的几何由腹板和缘条的中面定义。注意,根据工字梁截面定义几何时,截面高度为292.1mm、宽度为304.8mm。梁在长度方向(Z轴)对称。因此,仅对梁的一半长度建模。施加的载荷为集中载荷。这就要求在加载端使用tie nodes类型的刚体约束,以保证加载边上所有点的位移和转动与加载点相同。
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.11],OK
菜单:File,Save as,[Ex_3.11.cae],OK
i. 创建部件
模块:Part
菜单:Part,Create
3D,Deformable,Shell,Extrusion,Approx size [500],Cont
菜单:Add,Line,Connected Lines,[-152.4,-146.05],[152.4,-146.05],X
菜单:Add,Line,Connected Lines,[-152.4,146.05],[152.4,146.05],X
菜单:Add,Line,Connected Lines,[0,-146.05],[0,146.05],X,Done
Depth [908],OK
ii. 定义材料、截面并赋截面给部件
模块:Property
菜单:Section,Create,Name [flange],
Shell,General Shell Stiffness,Cont
# 在对话框中填写刚度矩阵如下所示
标签页:Stiffness
# 矩阵A的上部在1~3行,1~3列
# 矩阵B在1~3行,4~6列
# 矩阵D的上部在4~6行,4~6列
# 刚度矩阵应该是
标签页:Advanced
# 在此处输入矩阵H对应的值
Transverse Shear Stiffness:# 勾选:Specify values
K11 [34216],K12 [0],K22 [31190],OK
菜单:Section,Create,Name [web],
Shell,General Shell Stiffness,Cont
标签页:Stiffness
# 刚度矩阵应该是
标签页:Advanced
Transverse Shear Stiffness:# 勾选:Specify values
K11 [34654],K12 [0],K22 [31623],OK
菜单:Assign,Section
# 选取梁缘条的4个区域,Done
Section:flange,OK
# 选取梁腹板区域,Done
Section:web,OK,X # 结束命令
# 创建用户坐标系用于定义材料方向
菜单:Tools,Datum,Type:CSYS,Method:2 lines
Name [web-csys],Rectangular,Cont
# 选取沿全局Z轴方向的直线,选取沿全局Y轴方向的直线
Name [flange-csys],Rectangular,Cont
# 选取沿全局Z轴方向的直线,选取沿全局X轴方向的直线
# 关闭对话框
菜单:Assign,Material Orientation
# 选取腹板,Done,Datum CSYS List,web-csys,OK,
Normal:Axis 3,OK
# 选取缘条4个区域,Done
Datum CSYS List,#选取flange-csys,OK,Normal:Axis 3,OK
iii. 创建装配
模块:Assembly
菜单:Instance,Create,Independent,OK
iv. 定义分析步
模块:Step
菜单:Step,Create,Cont,OK
v. 创建约束
模块:Interaction
# 在工字梁加载端创建一个参考点(RP)
菜单:Tools,Reference Point,[0,0,0]
# 在加载端定义刚体约束
# Tie nodes使所有位移和转动等于RP的位移和转动
菜单:Constraint,Create,Rigid Body,Cont
Tie (nodes),Edit,# 选取加载端的5条直线,Done
Reference Point:Edit,# 选取创建的RP,OK
vi. 添加载荷和边界条件
模块:Load
菜单:Load,Create
Step:Step-1,Mechanical,Concentrated force,Cont
# 选取RP,Done,CF3 [11452],OK
菜单:BC,Create
Step:Initial,Mechanical,Symm/Anti/Enca,Cont
# 选取加载端相对的一端的直线,Done,ZSYMM,OK
vii. 对模型划分网格
模块:Mesh
菜单:Seed,Edges
# 选取6条沿长度方向的直线,Done
Method:By Number,Bias:None,Number of elements [10],Apply,OK
# 选取梁两端缘条的边,Done
Method:By Number,Bias:None,Number of elements [3],Apply,OK
# 选取梁两端腹板的边,Done
Method:By Number,Bias:None,Number of elements [4],Apply,OK
菜单:Mesh,Controls,# 选取所有,Done,Technique:Structured,OK
菜单:Mesh,Element Type,# 选取所有,Done
Geometric Order:Quadratic,DOF:6,Family:Shell,OK # 选用S8R
菜单:Mesh,Instance,Yes
为加载端相对的一端的中点创建一个集 合。该点将用于施加额外的边界条件以限制在对称面内的移动。
模块:Mesh
菜单:Tools,Set,Create,Name [Cpoint],Type:Node,Cont
# 选取未加载端中点,Done
模块:Load
菜单:BC,Create
Step:Initial,Mechanical,Disp/Rota,Cont
Sets,Cpoint,Cont,# 勾选:U1,U2,UR3,OK
viii. 求解并可视化结果
模块:Job
菜单:Job,Manager
Create,Cont,OK,Submit,# 当完成后,Results
模块:Visualization
菜单:Plot,Allow Multiple Plot States
菜单:Plot,Deformed Shape
工具条:Field Output,Primary,U,U3
注意,加载端的位移为0.03584mm。
失效准则是对实验数据的曲线拟合,试图通过单向拉伸应力实验数据预测多轴应力下的失效。本节所介绍的所有失效准则只能预测层压板的首层失效,不能描述失效过程直到层压板完全失效。在第8、9章使用的损伤力学可以描述损伤演化直到层压板失效。截断最大应变准则评估层压板失效时,通过层压板行为[1]的一些近似和假设,不考虑损伤演化过程。
在本节,失效准则使用失效指数(failure index)的符号给出,该指数在多个有限元分析软件中使用,其定义如下
当IF≥1时,失效发生。强度比(strength ratio,[1,7.1.1节])为失效指数的倒数,用R表示。
当R≤1时,失效发生。
——最大应力准则
——最大应变准则
——截断最大应变准则
——相互作用的失效准则
本节将会介绍另外几个准则。
哈辛失效准则(HFC)提出4个独立的失效模式:
——纤维拉伸
——纤维压缩
——基体拉伸
——基体压缩
上述4种失效模式用4个独立的方程预测,如下:4
式3.21~3.24根据哈辛失效准则定义了失效指数的平方。Abaqus帮助文件,对于哈辛失效准则(HFC)、蔡-希尔(Tsai-Hill)、阿齐-蔡-希尔(Azzi-Tsai-Hill)和蔡-吴(Tsai-Wu)5失效准则,Abaqus使用失效指数的平方;与之相对的是,对于最大应力(MSTRS)和最大应变(MSTRN)失效准则,Abaqus使用(非平方的)失效指数。
尽管在Abaqus中使用哈辛失效准则计算初始损伤的阈值,随后的损伤累积分析由一个分离方法完成,该方法独立于使用的初始破坏准则。尽管如此,Abaqus帮助文件和Abaqus/CAE参考整体损伤方法,例如哈辛损伤。
普克失效准则[22]区分了纤维失效(FF)和基体失效(MF)。在平面应力情况下,基体失效准则分为3种不同的模式。模式A是在横向拉应力(有或无面内剪应力)作用下在单层板内产生横向裂纹。模式B是在面内剪应力及很小的横向压应力作用下在单层板内产生横向裂纹。模式C是当材料受到显著的横向压缩载荷时产生斜裂纹(对于碳/环氧层压板,典型的角度为53°)。
纤维失效和3个基体失效模式有各自单独的失效指数。普克准则假设纤维失效仅与纵向拉伸有关。因此,纤维失效的失效指数定义为
基体失效指数根据有效的失效模式有不同的表达形式。对于横向正应力,模式A有效。在这种情况下,基体主导的拉伸失效(模式A)的失效指数是
最后,基体主导的剪切(模式B)失效指数为
基体主导的压缩(模式C)失效指数为
本节中,下标数字的含义为:1为单层板的纤维方向,2为单层板面内垂直于纤维的横向,3为单层板的厚度方向。下标字母的含义为:t为拉伸,c为压缩。剪切分量使用的简化符号如1.5节所介绍。
失效指数定义如下:
分母上的应变为单向板的极限应变。注意,式3.32中的极限压缩应变为正数。
失效指数定义如下:
式中等号右边字母F表示单向板的强度值,见[23]。注意,式3.33中的压缩强度为正数。
使用蔡-吴准则的失效指数定义如下:
式中
以及
在公开文献中,很少能找到厚度方向的强度值F3t和F3c,因此习惯使用与面内横向强度值相同的值。同样,通常假设层内强度F5等于面内剪切强度。层内强度F4可以用横向压缩强度F2c和断裂面角度ɑ0来估算[1,式4.109]。断裂面角度ɑ0通常为53°。
例3.12 计算例3.4中每一铺层的失效指数IF和强度比R,使用最大应力失效准则和蔡-吴准则。单层板的弹性模量和强度值在表3.1中给出。使用两种准则确定层压板的强度比。
解3.12 哈辛(Hashin)、最大应变、最大应力失效准则在Abaqus中可以使用,但是Tsai-Hill和Tsai-Wu失效准则不推荐使用,因为它们过高估计σ1(S11)和σ2(S22)之间的相互作用。本例使用Tsai-Wu准则,与[8,例3.12]一致。
与本书式3.34定义不同,Abaqus定义的Tsai-Wu失效指数如下:
该值为失效指数的平方。因此,TSAIW的值不能与MSTRN和MSTRS失效指数的值对比,除非得到TSAIW的平方根。对于Tsai-Hill失效指数TSAIH和Hashin失效指数,在Abaqus同样为失效指数的平方(对比Abaqus帮助文件与式3.21~3.24)。
在Abaqus/CAE中,使用Edit Material,Material Behavior:Elastic,Suboption:Fail Stress提供强度值F1T、F1C、F2T、F2C、F6、f12和Slim(即Stress Limit)。注意,对于TSAIW,F1C和F2C必须给负数,对于Hashin Damage需要给正数(见3.3.1节)。同样,如果没有给定f12和Slim,则默认为0,这样比较好,因为f12相互作用过高估计σ1(S11)和σ2(S22)之间的相互作用。然而,在本例中,使用f12=-1,以重现[8,例3.12]的结果。
求解本例,打开Ex_3.4.a.cae,并保存为Ex_3.12.cae。然后,操作如下:
i. 设置工作路径
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.12],OK
ii. 为材料定义失效参数
模块:Property
菜单:Material,Manager
Edit,Suboptions,Fail Stress,# 可以从excel复制/粘贴
[1830 -1096 57 -228 71 -1 0],OK,OK
# 关闭Material Manager对话框
iii. 定义分析步,为失效指数创建场输出变量
模块:Step
Step:Step-1
菜单:Output,Field Output Requests,Edit,F-Output-1
# 展开:Failure/Fracture,# 勾选:CFAILURE
# 不勾选:其他所有不需要的,OK
iv. 求解和可视化结果
模块:Jobs
菜单:Job,Manager
Submit,# 当完成后,Results
模块:Visualization
菜单:Plot,Contours,On Deformed Shape
菜单:Result,Field Output,MSTRS,OK
菜单:Results,Section Points,Method:Plies
# 选取一层,Apply,# 读取数值,OK
菜单:Result,Field Output,TSAIW,OK
菜单:Results,Section Points,Method:Plies
# 选取一层,Apply,# 读取数值,OK
结果在表3.7中列出。可以将结果与使用[12]的经典层压板理论(CLT)解对比。
表3.7 最大应力准则(MSTRS)和Tsai-Wu失效指数(例3.12的计算值)
例3.13 [8,例3.14]使用UMAT子程序计算例3.8中每层Tsai-Wu失效指数IF,子程序可从[5,umatS8R5.for]获取。单层板的弹性模量和强度值在表3.1中给出。
解3.13 在使用用户编写的程序执行一个分析作业前,必须要设置合适的环境变量(见附录C)。为了求解本例,首先要打开Ex_3.8.cae,并保存为Ex_3.14.cae。另外,设置工作路径到本地目录,这样可以方便读取所有文件。
菜单:File,Set Work Directory,[C:\SIMULIA\User\Ex_3.14],OK
菜单:File,Open,[C:\SIMULIA\User\Ex_3.8\Ex_3.8.cae],OK
菜单:File,Save As,[C:\SIMULIA\User\Ex_3.14\Ex_3.14.cae],OK
只需在mdb中做少量修改。记住,在Abaqus中壳单元的应力/应变分量的顺序为:11、22、12、13、23。那么,截面剪切刚度可以使用[12]计算。或者,对于厚度为t的单个铺层的壳,使用下式计算。
对于层压板使用[1,式6.16];或者使用Abaqus计算这些值,并从.dat文件中读取,如下面介绍。为了使用Abaqus计算,打开例3.8的.cae,并进行如下修改:
i. 修改材料定义,添加失效参数
模块:Property
# 使用例3.8中的单向板材料参数计算H44,H45,H55
菜单:Material,Create
Name [unidirectional],Mechanical,Elasticity,Elastic,Type:Lamina
[133860 7706 0.301 4306 4306 2760]
# 或者在Data区域右单击,Read from File
Select,[uni_lam_prop.txt],OK,OK
# 添加失效应力值
Suboptions,Fail Stress
[1830 -1096 57 -228 71 -1],OK
# 或者在Data区域右单击,Read from File
Select,[uni_fail_stress.txt],OK,OK,OK,
OK # 关闭Edit Material对话框
菜单:Section,Edit,Section-1
标签页:Basic,Material:unidirectional,OK
ii. 提交分析并可视化结果
模块:Job
菜单:Job,Manager
Edit,标签页:General,# 勾选:Print model definition data,OK
Submit,# 当完成后,Results
Field Output Toolbar:Primary,U,U3,# U3max = 8.704 mm
使用文本编辑器打开Job-1.dat。该文件保存在工作路径(C:\SIMULIA\User\Ex_3.14)。读取截面横向剪切刚度对应的值,这些值应该是:
运行用户材料子程序的操作如下:
i. 创建与UMAT子程序一起使用的用户材料,并且编辑相应的截面
模块:Property
菜单:Material,Create
Name [ud-user],General,User Material,
User material type:Mechanical
Mechanical constants,[133860 7706 0.301 0.396
4306 1830 1096 57 228 71 -1]
# 或者在Data区域右单击,Read from File
Select,[user_mat_props.txt],OK,OK
# 见umats8r5.for中对材料常数的解释
General,Depvar,
Number of solution-dependent state variables [2],OK
菜单:Section,Edit,Section-1
标签页:Basic
Section integration:During analysis
Thickness:Shell thickness:Value [10]
Material:ud-user
Thickness integration rule:Simpson
Thickness integration points [3]
标签页:Advanced
Transverse Shear Stiffness:# 勾选:Specify values
K11:[35883],K12:[0],K22:[23000],OK
ii. 定义分析步的输出变量
模块:Step
分析步:Step-1
菜单:Output,Field Output Requests,Edit,F-Output-1
Output variables:Edit variables:[S,E,U,RF,SDV],OK
iii. 提交分析并可视化结果
在提交分析作业之前,确认你的系统设置正确,可以运行UMAT。注意,如果系统对于运行UMAT的设置不正确,则在提交分析作业后执行后会报错。
模块:Job
菜单:Job,Manager
Edit,标签页:General,
User subroutine file:Select,[umatS8R5.for],OK,OK
Submit,# 当完成后,Results
模块:Visualization
菜单:Options,Contour,Contour Type:Quilt,OK
菜单:Plot,Contours on Deformed Shape
Field Output Toolbar:Primary,SDV1
菜单:Result,Section Points,Selection method:Plies
Ply result location:Bottommost,Apply
Ply result location:Topmost,Apply
OK # 关闭Section Points对话框
如果遇到错误,检查配置文件C:\SIMULIA\Abaqus\ Commands\abq6102. bat是否正确。并且检查.inp文件中是否有如下信息:
** Section:Section-1
*Shell Section, elset=_PickedSet2, material=uni-user, orientation=Ori-1
10., 3
*Transverse Shear
35883., 23000., 0.
以及
*Material, name=uni-user
*Depvar
2,
*User Material, constants=11
133860., 7706., 0.301, 0.396, 4306., 1830., 1096., 57.
228., 71., -1.
下面的例子介绍热膨胀分析,并概要介绍预定义场。
i. 几何
模块:Part
菜单:Part,Create,[Part-1],3D,Deformable,
Shell,Planar,Approximate size [4000],Cont
菜单:Add,Line,Rectangle,
# 输入点坐标 [0,0],[1000,1000],X,Done
ii. 材料和截面特性
模块:Property
菜单:Material,Create,
Name [Material-1],Mechanical,Elasticity,Elastic,Lamina,
[13386000 7706 0.301 4306 4306 2760]
Mechanical,Expansion,Type,Orthotropic,
[13.23672E-007 2.58908E-005 2.58908E-005(原文2.58908E-0051)],OK
菜单:Section,Create,Name [Section-1],Shell,Composite,Cont
Material:Material-1 # 所有铺层
Thickness [1.2] # 所有铺层
Orientation [0,90]
菜单:Assign,Section
# 选取部件,Done,OK
iii. 装配和分析步
模块:Assembly
菜单:Instance,Independent,OK
模块:Step
菜单:Step,Create,Name [Step-1],Static/General,Cont,OK
iv. 载荷和边界条件
模块:Load
菜单:BC,Create,Name [BC-1],Step:Initial,
Mechanical,Symmetry,Cont
#选取左侧竖直边,Done,XSIMM,OK
菜单:BC,Create,Name [BC-2],Step:Initial,
Mechanical,Symmetry,Cont
# 选取下侧水平边,Done,YSIMM,OK
菜单:BC,Create,Displacement/Mechanical,Cont,
# 选取左下点,Done
# 勾选所有(U1到UR3),OK
菜单:Predefined Field,Create,Other,Temperature,Cont
# 选取矩形,Done,Magnitude [0],OK
菜单:Predefined Field,Manager
# 双击Predefined Field-1与Step-1 (Propagated)相交的单元格
(原文Predefined Field-2)
Status,Modified,Magnitude [-150],OK
v. 划分网格
模块:Mesh
菜单:Seed,Instance,Apply,OK
菜单:Mesh,Element type,Std,Quad,DOF [5],OK # S8R5
菜单:Mesh,Instance,Yes
vi. 分析作业和可视化
模块:Jobs
菜单:Job manager
Create,Cont,OK,Submit,Results
模块:Visualization
菜单:Plot,Allow multiple plot states,Undeformed shape,Deformed shape
菜单:Options,Common,
标签页:Basic,Render style:Shaded,Visible Edges:Free edges,
标签页:Other,Scale coordinates,Z:[3.0],OK
菜单:Options,Superimpose plot options,
Visible Edges:Feature edges,OK
菜单:View,Odb display options,
标签页:Mirror/Pattern,Mirror planes:XZ and YZ
图3.22 均匀热载荷作用下的热变形(例3.14)
练习题
问题3.4 写一段计算机程序评估式3.9。程序的输入数据为铺层顺序、单层板厚度和材料弹性参数。输出应该写入一个文件。将所有工作写为一份报告。
问题3.5 使用问题3.4的程序计算下列层压板的A、B、D和H矩阵。材料为AS4d/9310,所有铺层均为0.85mm厚。对每种情况的本构方程的耦合进行评论:(a) 一个铺层[0],(b) 一个铺层[30],(c) [0/90]2,(d) [0/90]S,(e) [0/90]8,(f) [±45]2 = [ 45/-45/ 45/-45],(g) [±45]S = [ 45/-45/-45/ 45],(h) [±45/0/90/±30]。将所有工作写为一份报告。
问题3.7 使用如下双正弦载荷重新计算例3.2。
式中,2a、2b分别为板在x和y方向的尺寸。将结果与下式所示的板中心的精确解作对比。
式中,s=b/a([14,式5.2.8~5.2.10])。
问题3.10 对于IF = 1(原文If)的失效包络线为一个3D面。该面与每个坐标平面的交线为2D曲线。使用程序,例如MATLAB,在同一个图中绘制最大应力、蔡-吴、普克失效准则在σ1-σ2面内的失效包络线。类似地,绘制σ1-σ2面内的失效包络线。
问题3.11 计算例3.12中每个铺层的失效指数IF,使用最大应力失效准则和哈辛失效准则。当层板强度值在表3.1中给出。
问题3.12 使用UMAT子程序和普克失效准则,计算例3.12中每个铺层的失效指数IF。单层板的弹性模量和强度值在表3.1中给出。普克参数的值建议使用3.3.1节中给出的值。将所有工作写为一份报告。
问题3.13 在文本文件中写入例3.11中每个单层板上下表面的节点应力值。然后,使用外部程序,例如MATLAB,计算板中心处的失效指数,与问题11相同,使用节点应力值。将所有工作写为一份报告。