#solver #system #methods #user #physical #user-input #equation

dess

差分方程系统求解器(DESS)是一个实现固定步长和自适应步长求解器的Rust包,特别为建模物理系统而设计。目前已添加了七种显式常微分方程(ODE)求解方法:欧拉法、海恩法、中点法、拉尔斯顿法、经典龙格-库塔法、博加奇-尚皮恩法和卡斯卡普法。这些包括五种固定步长方法和两种自适应步长方法。Rust生态系统中的求解器包很少,且没有专门针对物理系统建模的,因此DESS的目标是创建一个专门针对Rust ODE求解器包,以便轻松指定和建模具有模块化、可配置求解器选项的物理系统。除了允许用户直接输入要解决的方程外,DESS还允许用户可选地指定和定义系统节点之间的关系,该包随后通过Rust宏系统将其转换为方程组,从而简化并使代码更加直观。有关如何使用DESS的示例,请参阅dess-examples-pyo3文件夹。

1个不稳定版本

0.1.0 2024年5月16日

#1449 in 算法


用于 dess-examples

BSD-3-Clause

48KB
791

dess

差分方程系统求解器(DESS)是一个实现固定步长和自适应步长求解器的Rust包,特别为建模物理系统而设计。目前已添加了七种显式常微分方程(ODE)求解方法:欧拉法、海恩法、中点法、拉尔斯顿法、经典龙格-库塔法、博加奇-尚皮恩法和卡斯卡普法。这些包括五种固定步长方法和两种自适应步长方法。Rust生态系统中的求解器包很少,且没有专门针对物理系统建模的,因此DESS的目标是创建一个专门针对Rust ODE求解器包,以便轻松指定和建模具有模块化、可配置求解器选项的物理系统。除了允许用户直接输入要解决的方程外,DESS还允许用户可选地指定和定义系统节点之间的关系,该包随后通过Rust宏系统将其转换为方程组,从而简化并使代码更加直观。有关如何使用DESS的示例,请参阅dess-examples-pyo3文件夹。

安装和运行

  1. 安装rust
  2. 创建并激活一个Python环境,例如使用
    python3.10 -m venv dess-venv
    source dess-venv/bin/activate
    
  3. 运行 sh build_and_test.sh 或手动运行该bash脚本文件中的命令

依赖项

~6–13MB
~162K SLoC