基于遗传算法和Python 多处理器并行计算的二阶热传导方程初边值问题数值解法
2021-01-28李丙春
喀什大学学报 2020年6期
关键词:优化
李丙春
(喀什大学 计算机科学与技术学院,新疆 喀什 844000)
0 引言
大多数科学和工程领域中的偏微分方程很难求其解析解,甚至没有解析解,因此利用计算机编程实现偏微分方程的数值求解就显得十分重要.文献[1]针对一类非线性双曲型偏微分方程,构造了混合有限元两层网格算法.文献[2]对含有非线性扩散项和非线性源项的一般形式的热传导方程,通过在演化方程中增加两个关于源项分布函数的微分算子,构造新的格子Boltzmann 求解模型.文献[3]针对非线性偏微分方程初边值问题,利用逐层优化的方法进行数值求解.文献[4]利用NumPy 多维数组和通用函数设计实现了LBM 流场数据结构和典型计算内核,通过一系列性能优化并对LBM 边界处理算法进行重构,大幅提升了Python 的计算效率.
本文针对二阶热传导非线性偏微分方程,利用离散差分格式,将方程的初、边值作为初始条件,沿着时间方向t 逐列,再沿空间方向x逐行计算.在计算的过程中,把当前需要计算的点作为优化参数,调用遗传算法模块进行参数寻优,进化结束后用最优参数值作为当前结点的函数值.同时,为了加快计算速度,使用了Python 中的多处理器模块进行并行计算.
1 带初边值问题的非线性偏微分方程差分格式
设需要求解的带初边值的二阶非线性偏微分方程形式如下:

对求解区域a≤x≤b,0≤t≤T 进行网格化处理,取空间方向x 的步长为Δx,时间方向t的步长为Δt,如图1 所示.
网格中第一行和最后一行分别……
登录APP查看全文
