非线性规则波理论的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。
五阶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构建状态是。
释放量
版本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的命令行演示
- 大多数情况下的单元测试
- 文档和(当前未完成的在线演示)
- 支持计算波速度和空气速度的组合场 连续穿过自由表面和无发散(目前仅适用于 用芬顿流函数波模型)。
版权和许可
Raschii版权所有Tormod Landet,2018年。Raschii是由阿帕奇授权的 2.0许可证,与版本3兼容的许可自由软件许可证 GNU GPL。有关详细信息,请参见文件LICENSE。