有限差分 PDE 求解器。
项目描述
PDEPy
一个 Python 3 库,用于使用有限差分法求解一些线性偏微分方程的初始值和边值问题。
- 拉普拉斯
- 隐式中心
- 抛物线
- 显式中心
- 显式逆风
- 隐式中心
- 隐式逆风
- 海浪
- 显式
- 隐式
用法
安装
pip install pdepy
例子
拉普拉斯方程
import numpy as np
from pdepy import laplace
xn, xf, yn, yf = 30, 3.0, 40, 4.0
x = np.linspace(0, xf, xn + 1)
y = np.linspace(0, yf, yn + 1)
f = lambda x, y: (x - 1) ** 2 - (y - 2) ** 2
bound_x0 = f(0, y)
bound_xf = f(xf, y)
bound_y0 = f(x, 0)
bound_yf = f(x, yf)
axis = x, y
conds = bound_x0, bound_xf, bound_y0, bound_yf
laplace.solve(axis, conds, method="ic")
抛物线方程
import numpy as np
from pdepy import parabolic
xn, xf, yn, yf = 40, 4.0, 50, 0.5
x = np.linspace(0, xf, xn + 1)
y = np.linspace(0, yf, yn + 1)
init = x ** 2 - 4 * x + 5
bound = 5 * np.exp(-y)
p, q, r, s = 1, 1, -3, 3
axis = x, y
conds = init, bound, bound
params = p, q, r, s
parabolic.solve(axis, params, conds, method="iu")
波动方程
import numpy as np
from pdepy import wave
xn, xf, yn, yf = 40, 1.0, 40, 1.0
x = np.linspace(0, xf, xn + 1)
y = np.linspace(0, yf, yn + 1)
d_init = 1
init = x * (1 - x)
bound = y * (1 - y)
axis = x, y
conds = d_init, init, bound, bound
wave.solve(axis, conds, method="i")
发展
创建虚拟环境并安装要求:
bin/setup_venv
其他命令
在虚拟环境中运行命令:
bin/run <command>
安装要求:
bin/install_requirements
格式化代码库:
bin/format
皮棉代码库:
bin/lint
运行单元测试:
bin/test
发布
打包和分发:
bin/publish
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pdepy-1.0.4.tar.gz
(6.3 kB
查看哈希)
内置分布
pdepy-1.0.4-py3-none-any.whl
(8.0 kB
查看哈希)