PINN求解一维burgers方程
PINN求解一维burgers方程
- 模型
 - 搭建网络与训练
 - 结果可视化
 - 对比
 - 实际结果
 
完整代码下载链接 PINN求解一维burgers方程
模型

搭建网络与训练
#########-------------- python求解一维burgers方程-------------------##################
# -*- coding: utf-8 -*-
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
import torch
import numpy as np 
import torch.nn as nn
#设置进度
from tqdm import tqdm
def setup_seed(seed):
     torch.manual_seed(seed)
     torch.cuda.manual_seed_all(seed)
     np.random.seed(seed)
     torch.backends.cudnn.deterministic = True
# 设置随机数种子
setup_seed(40)
#定义基本架构
class PINN(nn.Module):
    def __init__(self):
        super().__init__()
        self.layer=nn.Sequential(nn.Linear(2,20),nn.Tanh()
                                 ,nn.Linear(20,20),nn.Tanh()
                                 ,nn.Linear(20,20),nn.Tanh()
                                 ,nn.Linear(20,20),nn.Tanh()
                                 ,nn.Linear(20,20),nn.Tanh()
                                 ,nn.Linear(20,1))
    def forward(self,t,x):
        u=self.layer(torch.cat([t,x],dim=1))
        return u
 
结果可视化
- 配点



 
对比

实际结果

