littlebot
Published on 2025-04-03 / 2 Visits
0

【源码】基于MindSpore框架的二维点源时域麦克斯韦方程AI求解器

项目简介

本项目是基于MindSpore框架的二维点源时域麦克斯韦方程AI求解器。运用物理信息神经网络(PINN)方法,结合物理方程与初边界条件开展模型训练,无需监督数据,能够解决含点源的偏微分方程(PDE)问题,适用于模拟电磁波在介质中的传播过程。

项目的主要特性和功能

  1. 物理信息神经网络(PINN):借助神经网络逼近解空间,结合物理方程与初边界条件训练,无需监督数据。
  2. 多尺度网络结构:采用含周期激活函数的多尺度神经网络,提升PINN方法的准确性与收敛速度。
  3. 高斯平滑Dirac delta函数:将Dirac delta函数建模成连续概率密度函数,消除PINN训练中的奇异性问题。
  4. 不确定性加权算法:提出下界约束的不确定性加权算法,平衡点源区域和其他区域的PINN损失。
  5. 自动微分和损失函数计算:利用MindSpore框架的自动微分功能,计算控制方程、初始条件和边界条件的损失。
  6. 可视化处理:运用matplotlib和cv2库,可视化电磁场分布、预测值和误差。

安装使用步骤

环境准备

用户已下载本项目的源码文件,需确保安装了MindSpore 2.3.0 - rc2版本,硬件平台为Ascend,操作系统为Linux - aarch64,编程语言为Python 3.7。安装命令如下: bash pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.3.0rc2/MindSpore/unified/aarch64/mindspore-2.3.0rc2-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple 也可采用自动安装方式: bash wget https://gitee.com/mindspore/mindspore/raw/master/scripts/install/euleros-ascend-pip.sh MINDSPORE_VERSION=2.3.0rc2 bash -i ./euleros-ascend-pip.sh 脚本执行完成后,需重新打开终端窗口以使环境变量生效。自动安装脚本会为MindSpore创建名为mindspore_pyXX的虚拟环境(XX为Python版本,如Python 3.7则虚拟环境名为mindspore_py37)。执行以下命令查看所有虚拟环境: bash conda env list 执行以下命令激活虚拟环境: bash conda activate mindspore_py37

环境配置

配置环境变量: ```bash export GLOG_v=2

LOCAL_ASCEND=/usr/local/Ascend # the root directory of run package

export LD_LIBRARY_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/lib64:${LOCAL_ASCEND}/driver/lib64:${LOCAL_ASCEND}/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}

TBE operator implementation tool path

export TBE_IMPL_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe

OPP path

export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp

AICPU path

export ASCEND_AICPU_PATH=${ASCEND_OPP_PATH}/..

TBE operator compilation tool path

export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/compiler/ccec_compiler/bin/:${PATH}

Python library that TBE implementation depends on

export PYTHONPATH=${TBE_IMPL_PATH}:${PYTHONPATH} ```

运行脚本

  1. 运行train.py进行模型训练: bash python train.py
  2. 运行eval.py进行模型评估: bash python eval.py

数据准备

根据config.json文件配置,准备训练数据和评估数据。训练数据基于五个损失函数,分别对有源区域、无源区域、边界、初始时刻进行随机采点;评估数据基于传统的时域有限差分算法生成高精度的电磁场。

结果可视化

使用visual_result函数,将预测结果和误差进行可视化处理。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】