You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenFOAM v10:如何仅通过命令行将仿真数据导出为.csv文件

在OpenFOAM v10中通过命令行导出仿真数据为CSV文件的方法

完全可行,无需打开Paraview GUI,以下是两种常用实现方式:

方法一:使用OpenFOAM自带的sample工具

纯OpenFOAM工具链实现,无需依赖Paraview:

  1. 在案例的system目录下创建sampleDict配置文件,内容如下:
sampleDict
{
    type            surfaces;
    libs            ("libsampling.so");
    writeControl    timeStep;
    writeInterval   1;

    surfaces
    (
        fullMeshData
        {
            type            patch;
            patches         (internalMesh);
            interpolationScheme cellPoint;
            outputFormat    csv;
            fields          (U p);
        }
    );
}
  1. 在案例根目录运行命令,指定要导出的时间步:
sample -time 50

执行完成后,数据会生成在postProcessing/surfaces/50目录下,包含fullMeshData_U.csv和fullMeshData_p.csv。若需要将U和p合并为单个CSV(和你手动导出的格式一致),可以用Shell脚本合并,示例:

paste -d ',' postProcessing/surfaces/50/fullMeshData_U.csv postProcessing/surfaces/50/fullMeshData_p.csv | awk 'NR==1{print "\"Points:0\",\"Points:1\",\"Points:2\",\"U:0\",\"U:1\",\"U:2\",\"p\""} NR>1{print $1","$2","$3","$4","$5","$6","$10}' > merged_output.csv

方法二:使用Paraview批处理模式(pvbatch)

导出格式和手动操作Paraview的结果完全一致,无需额外处理:

  1. 创建Python脚本export_csv.py,内容如下:
from paraview.simple import *

# 加载当前目录的OpenFOAM案例
foam_case = OpenFOAMReader(FileName="./")
foam_case.CaseType = "Reconstructed Case"  # 并行分解案例改为"Decomposed Case"
foam_case.MeshRegions = ["internalMesh"]
foam_case.PointArrays = ["U", "p"]

# 切换到目标时间步
foam_case.UpdatePipeline(50.0)

# 导出为CSV,设置精度
SaveData("simulation_output.csv", proxy=foam_case, Precision=5)
  1. 在案例根目录运行命令:
pvbatch export_csv.py

执行后会在当前目录生成simulation_output.csv,格式与你手动导出的完全匹配。

内容的提问来源于stack exchange,提问作者Krisztian Szabo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:40:14