各位前辈好!
我将网格导入到openfoam中,但只想输出某一个面上所有网格点的坐标信息,有没有类似程序可以参考呢?
麻烦哪位热心前人指点一下!
各位前辈好!
我将网格导入到openfoam中,但只想输出某一个面上所有网格点的坐标信息,有没有类似程序可以参考呢?
麻烦哪位热心前人指点一下!
各位前辈好!
最近我想在工作站的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开发了一个简单的程序,做的是气液两相流模拟,目前论文投稿 想投到Physics of Fluids 或者 international journal of multiphase flow杂志
我上网查看发现Physics of Fluids是个比较老牌的杂志,之前口碑很好,但最近几年有点水的趋势,年发文量2000+;international journal of multiphase flow中的论文都很扎实,但感觉圈子比较小,年发文量才200+,目前的影响力没有POF高。所以目前自己也比较纠结投到哪个杂志
有没有哪位前辈能发表一下自己的经验或者看法呢?
感激不尽!
最近看到了一点OF关于 函数声明的代码 ,对于const的使用存在疑惑:
inline scalar k() const { return k_; }
inline const vectorField& Smom() const { return Smom_; }
为什么第一行代码应用了一个const,第二行代码用了两个const呢?
第二行代码中的两个const分别表示什么意思呢?
麻烦老师们能够指点一下
各位前辈好!
如图1 ,我现在流场中有一些气泡,想将每一个气泡的内部压力映射到底部壁面上,效果图如图2,我应该如何在paraview中进行映射/投影呢?我自己试验了pointDatasetInterpolator好像不太对(图3)。
哪位前辈能够指点一个思路呢?谢谢
图1:
图2:
图3:
@tens 感谢您的回答,我试验了一下,确实可以累加流场,但我非常疑惑,在主程序中添加
c_flow_total += c_flow; // 展开为c_flow_total = c_flow_total + c_flow;
每一次循环,主程序怎么知道等式右边的c_flow_total代表了上一个时间步的值呢?为什么替换为c_flow_total.oldTime()就不可以了呢?
希望您能够在解答一下,谢谢
各位前辈好!
我有一个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()的使用出现了问题,请问一下大家,在程序中 累加每一个时刻的流场有什么好的办法呢?
@小考拉 自问自答来解决这个问题。
首先定义一个全为0的流场命名为c_flow
然后利用下面的命令
c_flow.boundaryField()[patchID] = c_flow_origin.boundaryField()[patchID]
最后输出c_flow流场即可