python的有限体积离散化

pyfvm的Python项目详细描述


#PyFvm

[![循环](https://img.shields.io/circleci/project/github/nschloe/pyfvm.svg)(https://circleci.com/gh/nschloe/pyfvm)
[![codecov](https://img.shields.io/codecov/c/github/nschloe/pyfvm.svg)(https://codecov.io/gh/nschloe/pyfvm)
[![代码样式:黑色](https://img.shields.io/badge/code%20style-black-000000.svg)(https://github.com/ambv/black)
[![pypi版本](https://img.shields.io/pypi/v/pyfvm.svg)(https://pypi.org/project/pyfvm)
[![Github之星](https://img.shields.io/github/stars/nschloe/pyfvm.svg?logo=github&;label=stars)(https://github.com/nschloe/pyfvm)


轻松创建有限体积方程系统。

配置文件中指定有限体积公式,pyfvm将为其创建矩阵/右侧或
非线性系统。这个软件包是为每个想快速构造fvm系统的人准备的。

测试
从pyfvm导入pyfvm
语言导入*
从scipy导入meshzoo
稀疏导入linalg
导入meshplex

return[(lambda x:u(x)-0.0,bound界())]





;使用meshzoo创建网格
('out.vtk',point_data={'u':u}
```
此示例使用[meshzoo](https://pypi.org/project/meshzoo)创建
一个简单的网格,但是提供顶点和单元格的任何其他方法都可以正常工作。例如,支持从各种各样的mesh文件中进行读取
(通过[meshio](https://pypi.org/project/meshio)):
```python
mesh,u2;=pyfvm.reader.read('pacman.e')
````
同样,[pyamg](https://github.com/pyamg/pyamg)是一个更快的解决方案
对于这个问题
````
导入pyamg
ml=pyamg.smooted廑aggregation廑u solver(linear廑system.matrix)
u=ml.solve(linear廑system.rhs,tol=1e-10)
```

对于bratu的问题:
`` python,测试
从pyfvm导入pyfvm
从pyfvm.form语言导入*
导入meshzoo
从sympy导入numpy
从sympy导入exp
导入meshplex

bratu类(对象):
def apply(self,u):
返回integrate(lambda x:-n-u-dot-grad(u(x)),集成(lambda x:2.0*exp(u(x)),dv)


def dirichlet(self,u):
return[(u,bound界())]






mesh=meshszoo.矩形(0.0,2.0,0.0,1.0,101,101,51)
mesh=meshplex.meshstri(顶点,单元)



U解算器(U0,rhs):
从scipy.sparse导入linalg
jac=jacobian.get_linear_operator(u0)
返回linalg.spsolve(jac,rhs)

u0=numpy.zeros(len(顶点))
u=pyfvm.newton(f.eval,jacobian_solver,u0)

mesh.write('out.vtk',点“data={'u”:u})
```
请注意,雅可比符号是从“bratu”类中计算出来的。

u0)
```

查看此存储库并键入
```
pytest
```


distribution

以创建新版本

1。点击“版本号”

2。发布到pypi和github:
```
make publish
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java列排序不会忽略大写字母   JFrame中的JavaFX菜单   java My Freemarker无法将对象传递给模板   java SOAP API客户端请求创建问题addChildElement(org.w3c.dom.domeException:NAMESPACE\u ERR)   java双精度值不能转换为布尔值   java如何在JBOSS EAP 6.3中在一个安全域中配置多个登录模块?   datetime如何使用Java ZoneId。systemDefault()如果我的计算机未连接到Internet,是否知道时区?   java PlayFramework应用ClassLoader的演变   java正在向JPanel添加元素,但它们没有显示   java如何使异步侦听器执行阻塞?   json如何让JAXRS将Java8LocalDateTime属性作为JavaScriptstyle日期字符串返回?   java我可以构建一个ApacheAnt任务并在同一步中执行它吗?   java如何使用用户输入的字符串编码到程序中,并确保其中包含小数?   使用ArrayList的java ArrayAdapter   java Hibernate 5。x迁移建议脚本   使用wait()和notify()的java控制线程   SpringMVC在Java中通过jsp显示列表的问题   java如何设置Jsoup读取的数据编码?   java 安卓 AlertDialog显示两次