其他分享
首页 > 其他分享> > 【无标题】

【无标题】

作者:互联网

PINN学习记录(1)

安装Deepdxe

  1. 官方链接安装
    pip install deepxde
    直接在evns 环境下安装即可

  2. 在git hub 上下载zip,然后set.up
    链接:deepxde

  3. 注意:
    默认backend 是tensorflow_compact_v1
    我自己用pytorch ,所以需要更改
    C:\Users\admin\.deepxde下更改即可

学习例子

1、buegers equations

(完整代码)

(部分代码)

def pde(x, y):
    dy_x = dde.grad.jacobian(y, x, i=0, j=0)
    dy_t = dde.grad.jacobian(y, x, i=0, j=1)
    dy_xx = dde.grad.hessian(y, x, i=0, j=0)
    return dy_t + y * dy_x - 0.01 / np.pi * dy_xx

解释:
求一阶导func1:

dde.grad.jacobian()

求二阶导func2:

dde.grad.hessian()

自己对(i,j)不理解,看了具体的函数有一点明白
意思就是
d y d x = d [ Y ] d [ X ] = d [ y 1 , y 2 , . . . , y i ] d [ x 1 , x 2 , . . . , x j ] \frac{dy}{dx}=\frac{d[Y]}{d[X]}=\frac{d[y_1,y_2,...,y_i]}{d[x_1,x_2,...,x_j]} dxdy​=d[X]d[Y]​=d[x1​,x2​,...,xj​]d[y1​,y2​,...,yi​]​
举例

u ( x , t ) ∂ u ( x , t ) ∂ x − ∂ u 2 ( x , t ) ∂ t 2 = 0 u(x,t)\frac{\partial {u(x,t)}}{\partial {x}}-\frac{\partial {u^2(x,t)}}{\partial {t^2}}=0 u(x,t)∂x∂u(x,t)​−∂t2∂u2(x,t)​=0
那么 X = [ x 0 , x 1 ] = [ x , t ] X=[x_0,x_1]=[x,t] X=[x0​,x1​]=[x,t], Y = [ u 0 ] = [ u ] Y=[u_0]=[u] Y=[u0​]=[u]
所以

  1. ∂ u ( x , t ) ∂ x = d u 0 d x 0 \frac{\partial {u(x,t)}}{\partial {x}}=\frac{du_0}{dx_0} ∂x∂u(x,t)​=dx0​du0​​
dy_x = dde.grad.jacobian(u, x, i=0, j=0)
  1. ∂ u 2 ( x , t ) ∂ t 2 = d 2 u 0 d x 1 2 \frac{\partial {u^2(x,t)}}{\partial {t^2}}=\frac{d^2u_0}{dx_1^2} ∂t2∂u2(x,t)​=dx12​d2u0​​
dy_x = dde.grad.hessian(u, x, i=0, j=1)

标签:...,partial,无标题,dy,frac,grad,dde
来源: https://blog.csdn.net/weixin_45805559/article/details/121451281