openfoam后处理求全床平均孔隙率

openfoam后处理求全床平均孔隙率,第1张

openfoam后处理求全床平均孔隙

自己写的代码,就是简单对voidfraction全床求和,然后求平均。

可以在计算过程中及时监控有没有颗粒泄漏。

这个是C++的后处理,编译好之后直接在linux系统openfoam案例下./run.sh就行,舒服多了:


#include 
#include 
using namespace std;

#include "IFstream.H"
#include "OFstream.H"
#include "fvCFD.H"
#include "meshSearch.H"


int main(int argc, char *argv[])
{
    ofstream fo;

    #include "setRootCase.H"
    #include "createTime.H"
    #include "createMesh.H"

    meshSearch myMeshSearch(mesh, polyMesh::FACEPLANES);

    #include "readFields.H"

    fo.open("Avg_es_time.dat", ios::out);
    while (runTime.run()) {
        if (runTime.outputTime()) {
            double esAvg = 0;
            int count = 0;
            Info << "runTime.value(): " << runTime.value() << endl;

            #include "readFields.H"
            
            forAll(mesh.C(), cellid) {
                    esAvg += voidfraction[cellid];
                    count++;
            }
            esAvg /= count;
            fo << runTime.value() << "t" << esAvg << endl;
        }    
        runTime++;
    }
    fo.close();

    return 0;
}

这个是matlab的,matlab每次都要手动导出数据到电脑上,而且还得手动修改路径,麻了。

%% 读文件名
%保证文件名格式一致
clear,clc,close all

Path1 = 'D:OpenFOAMserial350_testmodelmodel-XYYoutput';
File1 = dir(Path1); %前两行是空的,不用管,所以后面的i从3开始。
size1 = size(File1);
Length1 = size1(1);
averagedata1 = zeros(Length1-4,1);
time1 = zeros(Length1-4,1);
for i=4:1:Length1-1 %把后面没用的文件也不读
    fileName = strcat(Path1,File1(i,1).name); 
    TruePath = [fileName,'voidfraction'];
    fileID = fopen(TruePath,'r');
    data = textscan(fileID,'%f','headerlines', 22);
    averagedata1(i-3) = sum(data{1})/length(data{1});
    time1(i-3) = str2num(File1(i,1).name);
    fclose(fileID);
end
figure
hold on
scatter(time1,1-averagedata1,'.')
xlabel('time/s');
ylabel('spatial average epsilon_s')
title('Spatial average solid volume fraction over time(epsilon_s_0=0.086,v=6.5m/s)')
hold off

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5520673.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存