2025年3月28日
本方案概述了利用通过Python脚本结合宏函数自动生成的数据集,构建用于焊接模拟的人工神经网络的一般工作流程。该工作流程通过单道直线焊接的基准案例进行了验证。代理模型的预测精度与有限元模拟结果表现出高度一致。
我的研究重点是利用机器学习,特别是人工神经网络,开发高效的代理模型,以预测焊接引起的残余应力。我们的核心关注点在于解决如何实现焊接模拟数据生成的自动化,以提高效率。我们已证实,通过使用 Python 脚本和宏函数实现数据生成的自动化,可显著减少仿真设置时间,从而实现大规模数据集的创建。
此外,我们基于人工神经网络的电路模型能够准确预测焊接引起的残余应力,相对均方根误差达到 0.0024。该协议通过 Python 脚本和宏函数实现数据生成的自动化,减少了仿真设置和数据提取所需的时间与工作量,具有显著优势。
这可以确保一致性,并能够创建大规模数据集以训练机器学习模型。首先,打开 Abaqus,点击文件,然后选择设置工作目录以设定工作目录。接着依次点击文件、宏管理器、工作,创建一个名为 thermal recording 的宏。
创建焊接试样的模型。以板状结构上的单道焊缝为基准案例进行说明。依次点击部件,然后选择创建部件。
通过在 XY 平面上拉伸一个方形草图,创建试件的三维可变形半模型。然后单击部件,导航至创建基准平面,选择相对于主平面的偏移。根据焊道长度,通过指定相对于 YZ 平面的偏移量来定义焊接的起点和终点。
然后,通过指定相对于XY平面和XZ平面的偏移量,分别创建两个额外的基准平面,用于确定珠状物的深度和宽度。单击部件,选择“使用基准平面划分单元”选项,利用这四个基准平面创建试样的单元划分。接着单击部件,选择“创建实体拉伸”。
在其中一个基准平面上创建草图,以定义试样顶面下方焊缝金属部分的形状。根据焊道尺寸,使用一条圆弧和两条直线绘制草图。将该草图沿焊道长度方向拉伸,以形成切割。
接下来,选择“保留内部边界”,将草图沿焊珠长度方向进行拉伸。单击零件,然后选择“创建基准平面”,并从主平面偏移。在其中一个基准平面上,使用一条直线上的两个圆弧绘制焊珠草图。
单击部件,选择分区单元,利用基准平面并通过要查找的四个基准平面创建试样的单元分区。定义材料时,单击属性并创建材料,然后在通用菜单中定义密度,在热学菜单中使用温度相关数据定义导热系数和比热容。接下来,将材料分配给模型。
单击“属性”,然后创建截面,以使用定义的材料创建一个均质实体截面。单击“属性”,分配截面,将创建的截面指派给模型。接着单击“步骤”,再选择创建步骤,以创建一个名为“welding”的传热步骤,其时间周期为26.43,固定时间增量为0.1,并确保几何非线性不启用。
创建另一个名为“cooling one”的传热步骤,时间周期为70,采用自适应时间增量,初始、最小和最大增量大小分别设置为0.1、0.05和5。最后,创建一个名为“cooling two”的传热步骤,时间周期为2,000,采用自适应时间增量,初始、最小和最大增量大小分别设置为5、1和100。
要设置模型属性,请点击模型,然后选择编辑属性,以访问属性设置。将绝对零度温度设置为 273.15。
将绝对零度设为 273.15。指定斯特藩-玻尔兹曼常数为 5.67 × 10⁻¹¹。单击“步进”并创建场输出,以设置针对整个模型的节点温度请求。
然后单击装配并创建实例以生成一个依赖实例。接下来依次单击相互作用、创建相互作用以及表面膜条件,在模型的所有表面(对称面除外)上创建一个表面膜条件相互作用,设置膜系数为15,汇温度为20。将起始步骤设为焊接。
依次点击相互作用、创建相互作用和表面辐射,在模型的所有表面(对称面除外)上创建一个发射率为0.7、环境温度为20的表面辐射相互作用。将起始步设置为焊接,在载荷模块中定义载荷。点击载荷,创建热载荷和体热通量,以创建一个从焊接步开始、在随后两个冷却步中不激活的用户自定义体热通量载荷。
然后单击加载、创建预定义场、其他和场,以创建一个从初始步开始的预定义温度场,表示 20 的室温。在网格模块中创建网格时,单击网格,选择要作为部件的对象,并通过全局尺寸 0.0024 对部件进行种子设置。单击网格,然后选择边种子,通过数量 3 对焊道深度和焊道宽度的边进行种子设置。
以数量3对圆弧边缘进行种子划分,以尺寸0.0015对焊道长度边缘进行种子划分。接下来,单击网格,分配网格控制,并对焊道区域使用自由技术的四面体(TET)形状单元。单击网格,分配单元类型,并将单元类型设置为DC 3D 10,然后对该部件进行网格划分。
使用网格,然后对精细网格区域内与 X 轴共线的边进行网格划分,网格尺寸设为 0.0015,Y 轴方向的边网格尺寸设为 0.0011,Z 轴方向的边网格尺寸设为 0.00075。接着单击网格,随后选择指定网格控制,对剩余区域分配网格控制,采用六面体单元形状并使用扫掠技术。
然后单击网格,分配单元类型,并将单元类型设置为 DC 3D 20,接着对部件进行网格划分。单击作业,创建名为热分析的作业,并关联 D flux 用户子程序。停止宏记录。
确认工作目录中已生成名为 abaqusMacros.py 的 Python 文件。最后,单击作业、作业管理器,然后提交。
将生成一个名为 ThermalAnalysis.odb 的结果文件。沿 BD 线的纵向应力在不同的电弧移动长度、电弧前进速度和净能量输入速率组合下表现出一致的变化趋势,应力峰值靠近表面,随着深度增加而减小。
有限元模拟与人工神经网络预测之间的大部分差异落在0至2兆帕范围内,占测试数据的45.2%。训练数据点较少的应力水平区间在测试数据集中表现出更高的最大差异,这在特定区间的绝对残差中可见。人工神经网络的预测结果与有限元模拟结果高度吻合,均方误差为0.0024。
本方案概述了利用通过Python脚本自动生成的数据集构建用于焊接模拟的人工神经网络的工作流程。该工作流程通过单道直线焊接的基准案例进行验证,表现出优异的预测准确性。
用于预测焊接残余应力的自动化代理模型解决了数字实验在可扩展性和可重复性方面的关键瓶颈问题。通过利用机器学习和自动化数据生成,该工作流程能够实现快速假设检验和稳健的模型验证,支持在先进制造研发中进行基于风险评估的决策。该方法在工艺开发流程的关键转折点上提升了预测置信度和运行效率。
该代理模型工作流程可融入数字实验连续体,涵盖从早期工艺发现到基于模拟的优化及临床前验证的全过程。