#python #python-packages #parser #package #open-foam

openfoamparser

一个基于 openfoamparser Python 包的 OpenFOAM 解析器

3 个版本

0.1.2 2021 年 4 月 22 日
0.1.1 2021 年 4 月 22 日
0.1.0 2021 年 4 月 22 日

#39 in #python-packages

自定义许可

31KB
583 代码行,不包括注释

Rust 中的 OpenFOAM 解析

openfoamparser 允许您像使用 Python 库 openfoamparser 一样解析 OpenFOAM 模拟结果。

已知限制

  • 尚不支持解析二进制文件。

链接


lib.rs:

OpenFOAM 解析器

openfoamparser 允许您像使用 Python 库 openfoamparser 一样解析 OpenFOAM 模拟结果。

已知限制

  • 尚不支持解析二进制文件。

入门指南

以下示例加载了一个现有的矢量场

extern crate nalgebra as na;
use std::path::PathBuf;
use na::{Vector3, Point3};

use openfoamparser as ofp;

let d: PathBuf = [
    env!("CARGO_MANIFEST_DIR"),
    "resources/test/cavity/"
].iter().collect();

// Load the mesh (and nothing else):
let mut fm = ofp::FoamMesh::new(&d).unwrap();

// Load the cell centers from time step 0.5 s.
// This requires that the following or a similar command has been run:
// `runApplication postProcess -func writeCellCentres -latestTime`
fm.read_cell_centers(d.join("0.5/C")).unwrap();

// Load the flow speeds from the same time step:
let flow: Vec<Vector3<f64>> = ofp::parse_internal_field(
    fm.path.join("0.5/U"),
    |s| ofp::parse_vector3(s)
).unwrap();

//

依赖项

~6.5MB
~121K SLoC