CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新
    1. 主页
    2. 小考拉
    小
    • 资料
    • 关注 0
    • 粉丝 1
    • 主题 42
    • 帖子 95
    • 群组 0

    小考拉

    @小考拉

    142
    资料浏览
    95
    帖子
    1
    粉丝
    0
    关注
    注册时间 最后登录

    小考拉 取消关注 关注

    小考拉 发布的最新帖子

    • 如何输出某一个面上所有网格节点的坐标

      各位前辈好!

      我将网格导入到openfoam中,但只想输出某一个面上所有网格点的坐标信息,有没有类似程序可以参考呢?

      麻烦哪位热心前人指点一下!:chitang:

      发布在 OpenFOAM
      小
      小考拉
    • 在centos7上安装openfoam3.0.0

      各位前辈好!

      最近我想在工作站的centos7系统上安装of3,我根据wiki上的教程进行了操作(链接如下:链接文本)

      其中的一步是“Now let's get and unpack Boost and fix the version in makeCGAL”(中文含义是:“现在让我们获取并解压 Boost 并修复 makeCGAL 中的版本:”)
      给出的参考命令是

      wget "https://raw.github.com/wyldckat/scripts4OpenFOAM3rdParty/master/getBoost"
      

      但运行发现无法 无法下载,可能是这个链接已经没有了,这也导致后面在编译openfoam的时候报错

      g++ -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=64 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -O3  -DNoRepository -ftemplate-depth-100 -I/home/win/OpenFOAM/ThirdParty-3.0.0/platforms/linux64Gcc/boost_1_55_0/include -I/home/win/OpenFOAM/OpenFOAM-3.0.0/src/meshTools/lnInclude -I/home/win/OpenFOAM/OpenFOAM-3.0.0/src/parallel/decompose/decompositionMethods/lnInclude -I/home/win/OpenFOAM/OpenFOAM-3.0.0/src/renumber/renumberMethods/lnInclude -IlnInclude -I. -I/home/win/OpenFOAM/OpenFOAM-3.0.0/src/OpenFOAM/lnInclude -I/home/win/OpenFOAM/OpenFOAM-3.0.0/src/OSspecific/POSIX/lnInclude   -fPIC -c SloanRenumber.C -o /home/win/OpenFOAM/OpenFOAM-3.0.0/platforms/linux64GccDPInt64Opt/src/renumber/SloanRenumber/SloanRenumber.o
      SloanRenumber.C:34:28: 致命错误:boost/config.hpp:没有那个文件或目录
       #include <boost/config.hpp>
                                  ^
      编译中断。
      make: *** [/home/win/OpenFOAM/OpenFOAM-3.0.0/platforms/linux64GccDPInt64Opt/src/renumber/SloanRenumber/SloanRenumber.o] 错误 1
      

      请问一下大家,如何才能下载合适版本的boost用于of3的安装呢?

      谢谢

      发布在 OpenFOAM
      小
      小考拉
    • 论文投稿的期刊选择

      各位前辈好!

      自己目前基于OpenFOAM开发了一个简单的程序,做的是气液两相流模拟,目前论文投稿 想投到Physics of Fluids 或者 international journal of multiphase flow杂志

      我上网查看发现Physics of Fluids是个比较老牌的杂志,之前口碑很好,但最近几年有点水的趋势,年发文量2000+;international journal of multiphase flow中的论文都很扎实,但感觉圈子比较小,年发文量才200+,目前的影响力没有POF高。所以目前自己也比较纠结投到哪个杂志

      有没有哪位前辈能发表一下自己的经验或者看法呢?

      感激不尽!

      发布在 C斯达克
      小
      小考拉
    • RE: const的使用

      感谢二位前辈的回复,我差不多理解这个意思了:xinxin:

      发布在 OpenFOAM
      小
      小考拉
    • const的使用

      最近看到了一点OF关于 函数声明的代码 ,对于const的使用存在疑惑:

      inline scalar k() const { return k_; }
      
      inline const vectorField& Smom() const { return Smom_; }
      

      为什么第一行代码应用了一个const,第二行代码用了两个const呢?

      第二行代码中的两个const分别表示什么意思呢?

      麻烦老师们能够指点一下:chitang:

      发布在 OpenFOAM
      小
      小考拉
    • paraview如何将气泡信息映射到壁面

      各位前辈好!

      如图1 ,我现在流场中有一些气泡,想将每一个气泡的内部压力映射到底部壁面上,效果图如图2,我应该如何在paraview中进行映射/投影呢?我自己试验了pointDatasetInterpolator好像不太对(图3)。

      哪位前辈能够指点一个思路呢?谢谢

      图1:
      1111111111.png

      图2:

      2222222.png

      图3:
      3333333.png

      发布在 OpenFOAM
      小
      小考拉
    • RE: 如何在程序中累加不同时刻流场

      @tens 谢谢您的热心指点,虽然还有点晕,我后面仔细体会体会:quwan: ,再次感谢:xinxin:

      发布在 OpenFOAM
      小
      小考拉
    • RE: 如何在程序中累加不同时刻流场

      @tens 感谢您的回答,我试验了一下,确实可以累加流场,但我非常疑惑,在主程序中添加

      c_flow_total += c_flow;  // 展开为c_flow_total = c_flow_total + c_flow;
      

      每一次循环,主程序怎么知道等式右边的c_flow_total代表了上一个时间步的值呢?为什么替换为c_flow_total.oldTime()就不可以了呢?

      希望您能够在解答一下,谢谢:xinxin:

      发布在 OpenFOAM
      小
      小考拉
    • 如何在程序中累加不同时刻流场

      各位前辈好!

      我有一个volScalarField场c_flow,现在想累加每一个时刻的c_flow流场,在一段时间后输出c_flow_total

      我写的程序如下:
      初始化设置c_flow_total流场为0

      Info<< "Initializing c_flow_total" << endl;
      
      volScalarField c_flow_total
      (
          IOobject
          (
              "c_flow_total",
              mesh.time().timeName(),
              mesh,
              IOobject::READ_IF_PRESENT,    
              IOobject::NO_WRITE
          ),
         mesh,
         dimensionedScalar("c_flow_total", dimensionSet(0,1,-1,0,0,0,0), 0)
      );
      

      然后在主程序中计算c_flow和c_flow_total

      Info<< "Calculating erosion index c_flow\n" << endl;
      
      volScalarField c_flow
      (
          IOobject
          (
              "c_flow",
              runTime.timeName(),
              mesh,
              IOobject::NO_READ,
              IOobject::AUTO_WRITE
          ),
         8.97pos(p_rgh - pSat)*sqrt(mag(p_rgh - pSat)/rho1)
      );
      
      Info<< "Calculating c_flow_total" << endl;
      
      volScalarField c_flow_total
      (
          IOobject
          (
              "c_flow_total",
              runTime.timeName(),
              mesh,
              IOobject::READ_IF_PRESENT,
              IOobject::AUTO_WRITE
          ),
         c_flow_total.oldTime() + c_flow  
      );
      

      程序编译没有问题,但用interPhaseChangeFoam计算case报错如下:

      Calculating c_flow_total
      #0  Foam::error::printStack(Foam::Ostream&) at ??:?
      #1  Foam::sigSegv::sigHandler(int) at ??:?
      #2  ? in "/lib64/libc.so.6"
      #3  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::storeOldTimes() const at ??:?
      #4  Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::oldTime() const at ??:?
      #5  ? at ??:?
      #6  __libc_start_main in "/lib64/libc.so.6"
      #7  ? at ??:?
      Segmentation fault
      

      我感觉可能是oldTime()的使用出现了问题,请问一下大家,在程序中 累加每一个时刻的流场有什么好的办法呢?

      发布在 OpenFOAM
      小
      小考拉
    • RE: 如何输出特定patch的流场

      @小考拉 自问自答来解决这个问题。

      首先定义一个全为0的流场命名为c_flow

      然后利用下面的命令

      c_flow.boundaryField()[patchID] = c_flow_origin.boundaryField()[patchID]
      

      最后输出c_flow流场即可:chitang:

      发布在 OpenFOAM
      小
      小考拉