【无标题】
作者:互联网
PINN学习记录(1)
安装Deepdxe
-
官方链接安装
pip install deepxde
直接在evns 环境下安装即可 -
在git hub 上下载zip,然后set.up
链接:deepxde -
注意:
默认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]
所以
- ∂ 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)=dx0du0
dy_x = dde.grad.jacobian(u, x, i=0, j=0)
- ∂ 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)=dx12d2u0
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