#fem #mechanical #structures #rat-rod

RatRod-rs

使用Rust编写的有限元方法实现

3个不稳定版本

0.2.1 2024年6月4日
0.2.0 2024年5月30日
0.1.0 2024年2月20日

#635 in 算法

Download history 1/week @ 2024-05-18 108/week @ 2024-05-25 135/week @ 2024-06-01 15/week @ 2024-06-08 3/week @ 2024-06-15 11/week @ 2024-07-06

每月131次下载

MIT许可证

22KB
477

RatRod.rs

使用Rust编写的有限元方法实现

免责声明

这个库主要是个人项目。它既没有经过验证,也没有保证,不应用于评估实际的机械结构。

如何使用它?

该库围绕Model类构建。

此类允许使用如下工厂模式描述要研究的模型

        let mut model = Model::new(2, 0.00000001);
        model.add_node(Node {
            x : 0.,
            y : 0.,
            z : 0.
        }).add_node(Node {
            x : 1.,
            y : 0.,
            z : 0.
        }).add_material(Material {
            e : 1.
        }).add_section(Section {
            s : 1.,
            i : 1.
        }).add_element(ElementType::Beam, vec![0,1], 0, 0)
        .add_u_boundary_condition(0, 0, 0.)
        .add_u_boundary_condition(0, 1, 0.)
        .add_u_boundary_condition(0, 2, 0.)
        .set_force(1, 1, 3.);

然后,model.solve()model.umodel.f可用于求解模型并获取节点上的位移和力。

依赖关系

~0.8–1.8MB
~38K SLoC