非线性规则波理论的python实现(stokes二阶到五阶和fenton流函数波)。

raschii的Python项目详细描述


raschii是一个用于构造非线性正则波的python库,它是 以北极磷虾命名。

目前支持的波形模型是:

  • 流函数波(m.m.rienecker和j.d.fenton,1981)
  • 斯托克斯二阶到五阶波(基于j.d.fenton,1985)
  • 空气波、标准直线波、余弦波

raschii包含一个命令行程序,用于绘制来自 用于在其他程序中使用结果的波形模型和C++代码生成, 例如在FEniCS表达式中 以及有限元解算器中的边界条件。还有一个有限的Dart port用于online demo

A comparison of Stokes and Fenton waves of fifth order

五阶stokes波与五阶fenton流的比较 函数波。深水,波高12 m,波长100 m。

安装和运行

可以通过运行以下命令安装raschii:

python3 -m pip install raschii

这也将安装像numpy这样的依赖项。

从python使用raschii的示例:

import raschii

fwave = raschii.FentonWave(height=0.25, depth=0.5, length=2.0, N=20)
print(fwave.surface_elevation(x=0))
print(fwave.surface_elevation(x=[0, 0.1, 0.2, 0.3]))
print(fwave.velocity(x=0, z=0.2))

这将输出:

[0.67352456]
[0.67352456 0.61795882 0.57230232 0.53352878]
[[0.27263788 0.        ]]

文档

文档可以在Raschii’s Read-the-Docs pages上找到。

开发

raschii是用python在Bitbucket上开发的 使用git版本控制系统。如果你在github上读到这个, 请注意,你所看到的镜子可能有几个月的时间 过时了。所有请求和问题都应转到BitBucket存储库。

raschii在CircleCI自动测试 当前的ci构建状态是circleci_status

释放量

版本1.0.2-6月4日。2018年

关于气相/水相速度混合的更多工作

  • 将空气混合区更改为顶部水平(仍遵循 底部的波形)。气相摩擦对 波剖面或水相速度,但从混合到 纯空气相速度现在对于陡波和 当投影到有限元函数中时,得到的场的发散度较低 空间(解析的散度总是零)。

版本1.0.1-5月31日。2018年

小错误修复版本

  • 修复与ftnnalc++速度
  • x分量相关的bug
  • 改进单元测试套件
  • 改进有限元插值演示

版本1.0.0-5月29日。2018年

Raschii的初始版本

  • 支持Fenton流函数(Rienecker和Fenton,1981)
  • 对斯托克斯一阶-五阶波的支持(Fenton,1985)
  • 支持空气波
  • 支持C++代码生成(对于FANICS表达式等)
  • 用于绘制波浪的命令行程序
  • 用于将字段转换为fenics的命令行演示
  • 大多数情况下的单元测试
  • 文档和(当前未完成的在线演示)
  • 支持计算波速度和空气速度的组合场 连续穿过自由表面和无发散(目前仅适用于 用芬顿流函数波模型)。

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

推荐PyPI第三方库


热门话题
java是否可以创建一个正则表达式来查找与模式不匹配的字符串?   使用“debugUnreturnedConnectionStackTraces”进行java调试连接丢失   java如何在openLDAP中禁用/启用用户帐户?   java无法从jsoup api获取某些类   java无法从APK提取XML文件   如何在linux命令行中替换多个文件中的字符串   java学生班。如何根据单位输入打印成绩?   java有没有办法将Struts配置为绑定null而不是空字符串?   python使用OpenCV[Java]检测简单几何形状   java文件。isFile()和文件。isDirectory()返回false   java Fetch有条件地加入hibernate,还是将实体设计更改为子实体上的条件Fetch?   java lombok@Data generated setter是否对成员对象(如映射)执行深度复制?   java如何使JLabel从下一行开始   java Gradle依赖解决了配置文件的问题