基于神经网络的弹性力学位移计算方法研究
2024-03-16蔡振荣
蔡振荣
(桂林电子科技大学 建筑与交通工程学院,广西 桂林)
引言
解决弹性力学问题的传统方法包括有限差分法、有限单元法等。这些方法通常需要借助网格离散求解问题,以插值的方式逼近偏微分方程的真实解,网格越精细,解的精确度越高,然而也导致了更高的计算代价和更大的存储空间需求。此外,建模水平、边界条件以及载荷工况的模拟真实性等因素会影响精确度,使得在高维度情况下计算代价巨大。实际问题往往非常复杂,特别是多个物理场共同作用时,数学模型受多个变量共同影响,传统数值计算方法在通用性方面面临巨大挑战。
为了克服这些挑战,使用神经网络求解偏微分方程的方法为力学问题的求解指明了一条非常重要的思路。神经网络是一种强大的拟合工具,非常适合用于复杂问题的描述。神经网络作为一种机器学习方法被广泛应用于偏微分方程的求解[1-2],使力学问题从最底层的控制方程求解成为可能。神经网络是模仿生物神经网络行为特征,进行分布式并行信息处理的算法数学模型。万能逼近原理[3]证明训练充分的神经网络能表达任意函数,为神经网络求解偏微分方程奠定了可靠的理论依据。结合损失函数中使用物理驱动约束的形式,将求解偏微分方程的数值问题转换为无约束最小化问题。PINN 在损失函数加入物理信息约束,引入离散格式构造,将边界条件和物理定律纳入模型,使训练后的模型更符合实际效果。
本文将主要对神经网络方法求解弹性力学问题进行有效性研究。以二维弹性力学问题的求解过程为例,通过神经网络方法解弹性偏微分方程组实现解决弹性力学问题的过程。并结合弹性偏微分方程组解的特性,通过位移预测的方式实现求解过程。通过探究网络结构、超参数等问题对计算过程的影响,寻找一种能够快速、有效解决弹性力学问题的思路,同时也能为神经网络对力学问题的智能化求解奠定方法基础。
1 方法原理
网络模型在训练过程中,模型参数和权重完成自动学习和调整。大量的数据能够使网络在迭代训练后掌握数据的特性,因此神经网络可以反映数据内部分布特性与规律,并对未来的结果有较为准确的预测能力。但在物理问题中,往往涉及多个变量函数的偏导数之间的复杂关系。一般的数据学习很难全面地反映问题真实的规律与特性。因此,借助物理驱动的方法控制网络的学习过程将更加有效。物理驱动能够结合深度神经网络的学习方式,并适应物理系统行为,以便更好地模拟、控制物理学问题的现象与规律。损失函数用于衡量模型的预测输出与真实标签之间的差距或误差,并作为优化算法的指导,通过最小化代价函数,使神经网络可以调整其参数,以改善预测结果。均方误差是一种用于度量模型预测值与实际观测值之间的差距或误差的损失函数。通常用于回归问题中,用于评估模型的性能。
神经网络求解弹性力学偏微分方程的思路和框架见图1。
图1 神经网络方法计算原理流程
ε 表示可接受误差的最大值;I 代表方程的边界条件。u 是原方程的数值解;是神经网络拟合原方程的近似解。MSEf就代表了每数据集f 中每个点计算差值的平方项;MSEu为内部上各点计算近似解与边界条件差值的平方项。
每次训练都会生成两组随机的测试集,将测试集的点输入神经网络后计算模型参数(w,b;θ)值,可以得到由神经网络对应的数值解。对使用自动微分技术计算其偏导数代回原方程,通过计算均方差值得到MSEf,同理在边界点处可以计算得到差值MSEu,定义总损失函数MSE 为两个残差之和。当MSE>ε,表明误差值过大还需继续训练,将生成新的数据再次循环整个训练流程;当MSE<ε,则说明误差范围已经达到目标水平,神经网络的近似解,能够无限接近原方程的真实解,训练结束。网络训练完成后,对于任意给定的点,可以计算得到对应的近似解。
2 模型计算及验证
2.1 弹性力学偏微分方程组
方程组包括平衡方程、几何方程及物理方程。
讨论二维情形下的偏微分方程。构建二维弹性力学模型,选取二维空间中尺寸为1×2 的长方形平面板压缩实验为例开展模拟研究。假设该问题按平面应变考虑,建立的二维弹性模型见图2。边界条件为:下边界在X和Y 方向上均固定;上边界在Y 方向施加位移荷载v=-0.2,X方向固定;左右边界自由。模型按准静态计算,不考虑重力。
图2 平面模型
根据对基本方程整理,将方程组中的应力、应变利用位移表示。将公式进行整理合并可得到位移表示的平衡方程,如公式(2)所示。
按照位移法的求解原理,将原方程组的应力、应变都使用位移表示,位移成为唯一的待求解。
2.2 有限元分析
由方程组没有解析解,该结果可以作为本文所探讨问题的参考解。
使用有限元计算软件,构建固体力学模型,设置长为2 m、宽为1 m 的平面线弹性材料模型,定义线弹性材料系数Lamé 常数(或体模量)λ=1 和切变模量(或剪切模量)μ=0.5,材料密度ρ=1。在上边界施加指定位移,X 方向设置为0,Y 方向设置为-0.2;下边界X方向、Y 方向设置位移均为0;左右边界自由无约束。在区域内划分四边形网格,定义最大单元大小0.05。有限元计算结果见图3。
图3 有限元计算结果
2.3 神经网络分析
多任务神经网络可以表述多任务的问题,与方程组的结构具有一定的相似性,训练两个网络分布表述位移u、位移v。因此设计一种类似的结构,将多输出问题转化为一种接近多任务问题的神经网络。模型的输出由两个神经网络所表述,输出的变量具有独立性,可以避免在同一个网络时的相互干扰。通过简化单个神经网络模型的规模,可以降低训练成本与提升拟合能力。
在超参数的设计上,考虑到方程组的求解有一定的复杂性,通过相对较大的训练周期保证网络得到足够的训练。此处使用超参数中间隐藏层数为4,每一层神经元的个数为50。使用Pytorch 实现算例,通过Adam 优化器优化参数,得到的逼近解的图像及迭代曲线图。当epoch=1.5×106时,计算得到的结果见图4。迭代损失曲线见图5。
图4 计算结果图像
通过对比,神经网络模型的求解结果与有限元的结果基本一致,图像趋势与有限元结果基本一致,最小化损失函数的误差范围控制在在0.000 1~0.000 05之间。
结束语
本文根据现有数值方法在求解弹性力学偏微分方程中存在的关键问题与不足,结合神经网络模型的计算能力,构建了一种多任务神经网络的求解模型。该模型可以应用在弹性力学的求解问题中。借助二维算例验证了神经网络方法求解的有效性,通过对神经网络求解算法进行优化,能够得到合理的计算结果。