1 概述:
用户子程序FRIC对应关键字*(定义一个摩擦模型。用于将摩擦特性引入到表面接触模型中,以控制接触面、接触副或连接器单元的切向接触行为。),并在交互界面中全部接触属性中切向行为的内容(除用户定义外,可定义5种摩擦行为(摩擦公式))。 每个公式中主要定义了三个方面:摩擦系数、剪切应力、弹性滑动(可恢复滑动位移))。
用户子程序 FRIC:
2. 子程序基本介绍
子程序接口
FRIC(LM,TAU,,,DSLIP,SED,SFD,
1,,,DGAM,TAULM,按,,,滑动,
2 KSTEP、KINC、时间、DTIME、NOEL、、、、NPT、节点、
3,,,DROT,TEMP,,NFDIR,MCRD,NPRED,
4,,道具,)
'.INC'
*80,,
TAU(NFDIR),(NFDIR,NFDIR),(NFDIR),
1 DSLIP(NFDIR),(NFDIR,2),(*),DGAM(NFDIR),
2 TAULM(NFDIR),SLIP(NFDIR),时间(2),(MCRD),
1.1.8–1
FRIC
3 (MCRD),DROT(2,2),TEMP(2),(2,*),PROPS()
用户至 LM、TAU、、、、、、、DSLIP、SED、SFD、、、、
结尾
必须定义变量:
1.LM
相对滑动标记。 只有当接触点的接触状态被确定为时,才会调用用户子程序FRIC; 即两种情况:接触压力为正,接触点在上一次迭代中,接触状态为; 接触点处于过闭合状态(干扰),在上一次迭代中接触点处于打开状态。
在迭代过程中,LM的值首先会被传递给子程序,此时的值就是上一次迭代中定义的值。 在增量开始时,或者如果在上一次迭代中接触点打开,则该变量是否会被传递到子程序中取决于上一次增量中的接触条件。 如果接触点是滑动的,LM=0; 如果接触点有粘性,LM = 1; 如果接触点打开,LM 等于 2。
如果在此迭代期间允许相对滑动(由于滑动或弹性粘附),则将 LM 设置为 0。在这种情况下,必须在子程序中将切向摩擦应力定义为相对滑动、界面接触压力 p 和其他参数的函数。预定义或用户定义的状态变量。 此外u是摩擦系数,子程序必须定义切向摩擦应力相对于接触压力p的倒数(即切向应力的变化与接触压力的变化之间的关系)。
如果本次迭代中不允许相对滑动,则将 LM 设置为 1。使用拉格朗日乘子法在界面处施加刚性粘附条件。 在这种情况下,不需要更新其他变量。 如果 LM 始终设置为 1,则会生成“非常粗糙”的界面。 当使用有限滑动接触公式时,不建议将 LM 设置为 1。
如果忽略摩擦(假设无摩擦滑动),则在这种情况下不需要更新其他变量。 如果 LM 始终设置为 2,则会生成“完全平滑”的界面。
还可以根据增量滑动量信息和计算摩擦应力来确定粘附/滑动状态(计算摩擦力以获得摩擦应力,然后获得等效摩擦应力与临界剪切应力进行比较) )。 这些变量也从子例程传递到子例程。
为了避免通常的摩擦接触问题中的收敛问题,如果在前一个增量结束时,接触点是打开的,则将LM设置为2,并退出子程序,即if/set LM=2,当它调用此时子例程,它只是退出子例程。
2、如果LM返回的值为0
数组 TAU(NFDIR)
在增量开始时,该值被传递到子程序中,其值为摩擦切向应力分量。 该值必须在增量结束时更新。
将等效剪应力与临界剪应力进行比较可以确定是粘着还是滑动。
二维数组(NFDIR、NFDIR)
b 方向上的摩擦切向应力相对于 a 方向上的相对运动的偏导数。
二维数组 (NFDIR)
a 方向上的摩擦应力相对于接触压力的偏导数。 由于这些项对刚度矩阵具有不对称影响,因此仅在使用不对称方程求解器时使用它们。
可更新的变量:
DSLIP(NFDIR)
不可恢复的滑动位移(滑移)的增量。 如果 LM 在上一次增量中为 0,则该数组将传递到子例程中,并且其值将用作上一次迭代中的用户定义值。 否则,其值为 0。只有当 LM 的返回值为 0 时,才会更新该数组。
该数组用于检测迭代之间的滑动反转。 输出选项使用它来指示该点是卡住还是滑动。 当增量步收敛时,DSLIP(NFDIR) 中的值会累积到 SLIP(NFDIR) 中并存储为塑性应变。
如图所示,一开始没有出现滑动(粘滞)现象。 随着摩擦剪切力的增加,达到临界剪切应力 (u*p) 并开始滑动。 滑动后,随着滑动速度降至0,摩擦剪应力会减小。 结果,它从滑动状态转变为粘着状态。 随着变形的进行,粘附后会发生反向滑动。
其中t为滑动方向,由接触公式确定(NS、SS、小滑动、有限滑动)。 U是位移增量。 例如,圆盘的旋转。 U=速度(ω*r)*Dtime(增量步时间)。
SED
该变量作为增量开始时的弹性能量密度传入,并应更新为增量结束时的弹性能量密度。 该变量仅用于输出,对其他解变量没有影响。
SFD
该变量应定义为增量摩擦耗散。 如果使用应力而不是力来调用 FRIC 的接触单元或接触对称性,则单位为每单位面积的能量。 对于常规应力分析,该变量仅用于输出,对其他解变量没有影响。 在温度-位移耦合和热-电-结构耦合分析中,如果采用间隙加热模型,可以将耗散转化为热量(也是fric子程序的一个重要应用方向)。 如果未定义SFD,则可以通过滑移增量DSLP与摩擦切向应力TAU相乘得到的耗散来计算生热量(生热量(摩擦耗散、摩擦功)=摩擦切向力(=摩擦系数*方法压力) *滑动位移)。
(NFDIR,2)
a 方向的摩擦切向应力,相对于两个表面温度的偏导数。 这仅适用于温度位移耦合和热电结构耦合元件,其中摩擦剪切应力是表面温度的函数。
建议的新时间增量大小与当前使用的时间增量大小的比率。 如果使用自动时间增量步长算法,则允许使用此变量。
在每次调用 FRIC 子例程之前,该值被设置为一个非常大的值。
如果重新定义,小于1,/将放弃当前的时间增量步长,尝试更小的时间增量大小。 为自动时间积分算法提供的推荐新的时间增量等于乘以DTIME(此时的时间增量步长),使用���调用的用户子程序(这里允许使用用户子程序的最小值)在迭代中定义(重新定义值)。
如果对于本次迭代,在所有调用的子程序中,给定值远大于1,且增量在本次迭代收敛,则/将增大时间增量大小。 为自动时间积分算法提供的新时间增量是*DTIME,它使用所有调用的用户子例程中定义的最小值(用户子例程允许在本次迭代中重新定义值)。
如果分析时没有选择自动时间增量算法,大于1.0的值将被忽略,小于1.0的值将导致作业终止。
()
包含用户定义的去相关状态变量的数组。 可以指定可用状态变量的数量。 该数组将在增量步骤开始时传入,并将包含这些变量的值。 如果任何依赖于解的状态变量与摩擦行为一起使用,则必须在增量结束时在此子例程中更新它们的值。
仅用于将信息传递到子例程的变量
DGAM(NFDIR)
如果上一次迭代中LM设置为0,则其值为本次增量中的滑动增量。 否则为0。通过与DSLIP(NFDIR)比较,可以判断此时该点是否从粘着状态转变为滑动状态,或者此时是否发生了滑动方向反转。
陶尔姆(NFDIR)
如果 LM 在前一次迭代中设置为 1,则该值是增量步骤结束时约束应力(等效剪应力)的当前值。 否则为0。通过与临界剪应力比较u是摩擦系数,可以判断此时该点是否由粘着转变为滑动。
一些量针对增量步骤进行更新,并且一些量针对增量步骤内的每次迭代进行更新。 例如,上面的DGAM和TAULM在每次迭代中更新,而DSLIP则以增量步骤更新。
按
增量步骤结束时的接触压力
接触压力增量
在软接触的情况下,此时的接触刚度
滑动(NFDIR)
在增量步骤开始时,存在完全不可挽回的失误。 该值是前面增量步骤中 DSLIP(NFDIR) 的累加值。
科斯特普
分析步骤数
金科
增加步数
时间(1)
增量步骤结束时,分析步骤的时间值
时间(2)
增量步骤结束时,总时间值
时间
此增量步骤的时间大小
NOEL
联系单位的单位编号。 如果定义了接触面,则传入0
与摩擦定义关联的用户定义表面的名称,左对齐。 对于接触单元,它是由与摩擦定义关联的界面定义给出的单元集名称。 如果为接口定义分配了一个可选名称,它将作为该名称传入,左对齐。
从表面名称来看。 如果使用接触元素,请传入空格。
主表面名称。 如果使用接触元素,请传入空格。
不扩散条约
接触元件的集成点数。 如果定义了接触面,则传递 0。
节点
与该接触点关联的用户定义的全局从节点号(或由零件实例的装配定义的模型内部节点号)。 如果使用面对面接触公式,则这对应于约束的主从节点。 如果从联系单位调用,则传递为零。
(MCRD)
包含该点坐标的数组
(MCRD)
如果主表面定义为刚性表面,则传递此数组,其中包含刚性表面上对应点的当前位置和方向的坐标。
德鲁特(2,2)
旋转增量矩阵。 对于与三维刚性表面的接触,该矩阵表示相对于刚性表面的表面方向的增量旋转。 这样做是为了在此子程序中正确旋转矢量值或张力值状态变量。 在调用 FRIC 之前,应力和滑移分量已旋转此量。 该矩阵作为单位矩阵传递给二维和轴对称接触问题。
温度(2)
从节点和对应的主面来看,此时的温度
(2、NPRED)
一个数组,包含当前增量步骤结束时所有用户指定的字段变量的一对值(分析开始时的初始值和分析期间的当前值)。 FRIC 从接触对中调用,其中接触对中的第一个值对应于从节点,第二个值对应于主表面上最近的点。 如果从大型滑动接触单元调用 FRIC,则 (1,NPRED) 对应于单元积分点处的值,(2,NPRED) 对应于相应表面上的最近点。 如果从小滑动接触单元调用 FRIC,(1,NPRED) 对应于单元第一侧积分点处的值,(2,NPRED) 对应于单元对应侧积分点处的值。
近红外光谱仪
摩擦方向数
MCRD
接触点的坐标方向数
NPRED
预定义字段变量的数量
用户定义的状态变量的数量
接触面的面特征尺寸,可用于定义最大允许弹性滑动
道具()
用户定义的属性值数组,用于定义接触面之间的摩擦行为
用户定义与摩擦模型关联的属性值数量