零
概述
有限元法编写二维四边形二阶用户自定义单元,采用abaqus提供的uel二次开发平台,包括单元的刚度矩阵K、质量矩阵M和阻尼矩阵C,uel需要向abaqus主程序输出AMARTIX、RHS等矩阵。
编写的uel子程序适用于静动力计算、频域计算等等,帖子分为两个部分
理论部分CPE8/CPS8 UEL用户自定义单元开发(1)
->结果部分CPE8/CPS8 UEL用户自定义单元开发(2)
壹
静力计算
设计悬臂梁算例,悬臂梁弹性模量为1e10,密度为2000,泊松比为.25,悬臂梁尺寸为5×40,网格尺寸为1×1,绘制网格为
首先进行静力计算,边界条件为左端固定,右端施加节点力,节点力幅值为1e3,计算时长为1s,增量步长为.01,总增量步为100,注意在静力计算中的计算时长没有实际的物理意义,仅仅是为了迭代,边界条件及荷载示意图为
最终计算的位移magnitude为
u1为
u2为
结果说明二者计算的结果吻合良好,说明自己开发的uel子程序能够准确的计算单元的刚度矩阵,至于单元的质量和阻尼矩阵,则需要在动力计算中验证计算结果。
贰
动力计算
在动力计算中,采用与静力计算相同的计算模型的边界条件,只不过是将静力改变为动力,幅值仍然为1e3,荷载的表达式为
y=sin(x)
时程曲线为
动力计算总时长为15s,增量步长为0.01s,总增量步数为1500,设置每个增量步输出一次计算结果。
最终计算的位移magnitude为
u1为
u2为
提取悬臂梁悬臂端的下方角点加载向位移u2时程曲线作对比,绘制的曲线为
二者计算的位移结果完全一致,因此速度、加速度和应变数据同样一致。
静动力计算表明自己开发的uel子程序能够达到abaqus相同的计算精度,但是在比较的过程中,发现abaqus计算用时更加的短,自己开发的程序是直接依据现有的有限元公式编写的,更加耗时,说明abaqus在程序设计方面进行了算法优化。