OF如何输出header



  • 我想把一个scalarField规范输出到文本文件里面,以便下次计算直接可以读取。但是由于IO读取的时候似乎要检查header,例如下面这样。如何规范地输出scalarField呢?

    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  v1806                                 |
    |   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        location    "constant";
        object      transportProperties;
    }
    


  • 如何把表头也输出到文件里面呢,或者能不能IO的时候直接write好这个scalarField呢



  • 又是搜索的一晚上,还好查出来了。通过scalarIOField来定义想输出的scalarField,在scalarFiled里面用IOobject来初始化。最后用write()来输出到指定文件夹。这样输出的文件就有header了。以后OF也可以读取了,很棒!!
    不过有个问题是,我在IOobject里面设置的路径是runTime.path()/“postProcessing”,发现结果却没有输出到postProcessing这个文件夹里面。而是输出到了runTime.timeName()文件夹里。不知道是怎么回事。
    看起来像是不能识别postProcessing文件夹路径,而默认到了runTime.timeName()路径里面去。不知道怎么解决这个问题



  • 另外并行计算的mesh.constant()路径是processor里面的constant文件夹。有没有命令能够直接得到processor外面的那个constant文件路径呢



  • 感谢分享
    试试runTime.path()/"postProcessing"/"sets"/name()? see streamlines.C



  • @Samuel-TuOF如何输出header 中说:

    scalarIOField
    OF1806对应的是IOField<scalar>



  • @东岳 还是不行,首先是没有name()这个函数,去掉name()后识别不出来postProcessing,还是输出到runTime.timeName()里面了



  • 此贴终结,完美输出方式被我找到了!!!!!!

        IOField<scalar> utau
        (
            IOobject
            (
                "utau",
                 runTime.constant(),
                "../postProcessing",
                mesh,
                IOobject::NO_READ,
                IOobject::AUTO_WRITE 
            ),
            scalarField(totalFSize,0.0)
        );
    

    这样就可以输出到想要的文件夹(此处是postProcessing)了



  • 感谢分享!!!收录在此 https://www.cfd-china.com/topic/3499/openfoam小代码


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2