OpenFOAM

4.5k 主题 26.2k 帖子
  • 单纯的grad梯度算子可以提取分量吗??

    6 帖子
    1k 浏览

    图一梯度算子的分量$\frac{\p }{\p x}$,不是某个物理量的梯度分量

    $\frac{\p }{\p x}$不是一个函数么,你要写一个函数?

  • OpenFOAM单方向通量实现

    3 帖子
    676 浏览

    @李东岳 收到,谢谢李老师。

  • 1 帖子
    369 浏览

    液滴尺寸比网格大,蒸发源项(组分、能量)加到网格里面会不会出问题,有没有老师知道OpenFoam这方面是怎么处理这个问题的

  • OpenFOAM代码咨询

    3 帖子
    742 浏览

    @李东岳 谢谢李老师。

  • 算例求助

    2 帖子
    571 浏览

    网格流动性是什么..

  • 1 帖子
    299 浏览

    在WallSpringSliderDashpot.C中,有这样几句:

    scalar etaN = alpha_*sqrt(p.mass()*kN)*pow025(normalOverlapMag); vector fN_PW = rHat_PW *(kN*pow(normalOverlapMag, b_) - etaN*(U_PW & rHat_PW)); ... scalar etaT = etaN; ... (if条件:颗粒不滑移的条件下) fT_PW = - kT*tangentialOverlap_PW - etaT*USlip_PW;

    这里的颗粒碰撞中的切向阻尼系数,etaN,等于法向值,然后分别应用到求碰撞力的切向和法向分量,fN, fT,中。是不是意味着,我在颗粒配置文件中通过alpha设置的回弹系数值e, 就是同时设定了切向和法向的回弹系数,eT, eN, 都等于e?

    请问这个理解对不对?

  • OpenFOAM中如何设置线源

    1 帖子
    377 浏览

    最近在做一个污染物浓度扩散的算例,需要选定一条线并将其设置为污染物浓度扩散的线源,但在setFields中好像没有选定线的设定,所以哪位大佬要是知道请告知,万分感谢。

  • 请教:三维涡量识别方法

    7 帖子
    2k 浏览

    你说的把Q的插值变成比值,应该是Ω方法吧???
    Liutex-Ω的话好像比较麻烦

    @西湖冷月 你具体编程过吗?

  • 2 帖子
    662 浏览

    @yfleung @荷兰后腰阿贾克斯 @波流力
    大佬朋友,请问你们处理400万以上网格,速度很慢,无法出结果的问题,解决了吗?
    感谢

  • OpenFOAM两相流模型的计算域积分问题

    3 帖子
    744 浏览

    @队长别开枪 明白了,谢谢老师!

  • 如何在tecplot中后处理OpenFoam计算结果

    已移动
    19 帖子
    11k 浏览

    @oitocfd 好的,我尝试tecplot打开了其他格式是binary的算例,发现可以打开,那么就说明是之前的算例的问题,我再修改试试。谢谢您。

  • 拉格朗日颗粒如何调用上一个时间步的信息

    7 帖子
    1k 浏览

    @星星星星晴 谢谢,我再看看

  • 关于OpenFOAM里自带的waves算例的疑惑

    7 帖子
    2k 浏览

    @西极若木
    这个算例中在Stokes2里的angle是不是可以设置波浪来的角度?也就是模拟斜浪

  • 如何在程序中累加不同时刻流场

    5 帖子
    1k 浏览

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

  • 自适应网格问题

    8 帖子
    1k 浏览

    @sungda 这是二维的自适应网格吗?是怎么实现的

  • 1 帖子
    322 浏览

    单核计算:
    ff8a928a-d108-454d-8548-a662114c6a34-image.png
    并行计算:
    2674cfa8-2f86-410a-9ebc-144e98f89800-image.png

  • 请教各位前辈OF中湍流入口DFSEM的设置问题

    4 帖子
    1k 浏览

    @mania请教各位前辈OF中湍流入口DFSEM的设置问题 中说:

    U、R、L和point

    U、R、L和point可以通过RAS计算得到

  • 请教mappedFile的相关问题

    4 帖子
    789 浏览

    @mania 你用RAS计算得到U、R、L和points,直接放到主程序计算就可以。of2006有自带的算例

  • 无反应的混合气体适用的求解器

    3 帖子
    689 浏览

    @tens 好的谢谢:146: 我试一试

  • 8 帖子
    1k 浏览

    @jqbu 基于OpenFOAM的甲烷湍流燃烧LES数值研究_龙文增;不知道这篇文章能不能帮助到你

  • 3 帖子
    768 浏览

    最近几天调程序老是对不上,今天才发现只有标准的结构性网格才是这样,如果是非结构网格,或者SHM生成的网格在过渡层处这个数量不是固定的
    还是要细心点:136:
    d0883aaa-8a7f-4939-9a9f-cf30552dfc9a-image.png

  • VOF方程的疑问

    2 帖子
    744 浏览

    额 好像发现个问题,质量守恒方程应该是这个
    7973d26e-efef-4af5-9e55-686a447c4996-image.png

    其中𝑆(𝜌)与 𝑆(𝛾)形式一样,只不过自变量由相体积分数变成了密度,不知道这样对不对?

    感觉有点弄乱了,求大佬指点,不胜感激:135:

  • 如何输出特定patch的流场

    2 帖子
    605 浏览

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

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

    然后利用下面的命令

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

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

  • cellzone的问题

    5 帖子
    1k 浏览

    @鲸落 请问你解决了吗~动态读取cellZone~

  • 如果在OpenFOAM中进行重叠型区域分解?

    1 帖子
    371 浏览

    众所周知,当我们在进行并行计算的时候,需要把网格进行剖分,OF中可以使用第三方库进行区域分解,可是我们知道,OF中的区域分解是不带重叠层的(或者说没有halo单元),也就是,同一个网格仅可能属于一个处理器。
    那么问题来了,我现在想实现带有halo层的重叠型的区域分解,我该怎么实现呢?或者说,有没有那位大佬做过类似的工作或者相应的资料吗?跪谢了!

  • 温度边界条件

    2 帖子
    701 浏览

    @hongjiewang温度边界条件 中说:

    1632279639(1).png
    气液界面是不断变化的,请问红色方框内的边界条件如何添加~

    可以识别出气液界面,但是想知道如何在同一个边界里使用第二类和第三类边界条件

  • interFoam 模拟单个气泡在静水中上升问题

    8 帖子
    4k 浏览

    @prometheus10 然后,文中提到的另一个链接:papa:
    https://www.cnblogs.com/liusuanyatong/p/11259653.html

  • MPPIC中,尝试复杂形状网格计算一直不收敛

    1 帖子
    381 浏览

    请教各位同学和老师,我在尝试用MPPIC在一个存在斜面的三维复杂网格中模拟固液两相流时,计算一直没办法收敛。尝试不同的边界条件和不同的k和epsilon值,都没有任何改善。以下是stack trace:

    Lookup solver for epsilon.waterFinal [16] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [16] #1 Foam::sigFpe::sigHandler(int) at ??:? [16] #2 ? in "/lib64/libc.so.6" [16] #3 Foam::multiply(Foam::Field<double>&, Foam::UList<double> const&, Foam::UList<double> const&) at ??:? [16] #4 Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > Foam::operator*<Foam::volMesh>(Foam::tmp<Foam::DimensionedField<double, Foam::volMesh> > const&, Foam::DimensionedField<double, Foam::volMesh> const&) at ??:? [16] #5 Foam::RASModels::kEpsilon<Foam::PhaseIncompressibleTurbulenceModel<Foam::singlePhaseTransportModel> >::correct() at ??:? [16] #6 ? at ??:? [16] #7 __libc_start_main in "/lib64/libc.so.6" [16] #8 ? at ??:? [cas019:410749:0:410749] Caught signal 8 (Floating point exception: tkill(2) or tgkill(2)) ==== backtrace ==== 0 /lustre/opt/cascadelake/linux-centos7-skylake_avx512/gcc-8.3.0/ucx-1.6.0-dacxhp7gepme2j7jmvpcmbm2qrptc6k7/lib/libucs.so.0(+0x1bf44) [0x2b968ef64f44] 1 /lustre/opt/cascadelake/linux-centos7-skylake_avx512/gcc-8.3.0/ucx-1.6.0-dacxhp7gepme2j7jmvpcmbm2qrptc6k7/lib/libucs.so.0(+0x1c2ca) [0x2b968ef652ca] 2 /lib64/libc.so.6(gsignal+0x37) [0x2b9689945337] 3 /lustre/home/acct-naozzn/naozzn-user1/openfoam/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam8multiplyERNS_5FieldIdEERKNS_5UListIdEES6_+0xd5) [0x2b9688a0dca5] 4 /lustre/home/acct-naozzn/naozzn-user1/openfoam/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so(_ZN4FoammlINS_7volMeshEEENS_3tmpINS_16DimensionedFieldIdT_EEEERKS6_RKS5_+0x164) [0x2b9683ba5d74] 5 /lustre/home/acct-naozzn/naozzn-user1/openfoam/OpenFOAM-5.0/platforms/linux64GccDPInt32Opt/lib/libDPMTurbulenceModels.so(_ZN4Foam9RASModels8kEpsilonINS_34PhaseIncompressibleTurbulenceModelINS_25singlePhaseTransportModelEEEE7correctEv+0x547) [0x2b9687558727] 6 MPPICFoam() [0x433d76] 7 /lib64/libc.so.6(__libc_start_main+0xf5) [0x2b9689931505] 8 MPPICFoam() [0x4352e0]

    边界条件如下表

    f3ef028e-2057-43c0-8e87-fe42f54246e7-image.png

    感觉应该是颗粒太大或者是网格划的不太好,有没有大佬能帮我看看怎么调整更准确一些

  • 联想集群的LSF管理系统添加普通账户

    1 帖子
    448 浏览

    各位老师,大家好,想请教一下,在拥有管理员账号的前提下,怎样在联想集群的LSF作业调度系统中添加新的普通账户?
    之前是按照这样的方式,也忘记了是在哪里找到的了::135:

    //在管理节点上添加新用户(root): useradd -d /gpfsdata/home/cfdem -m cfdem //在管理节点上给新用户添加密码(root) passwd cfdem //添加到用户组 vim /gpfsdata/apps/lsf/conf/lsbatch/cluster1/configdir/lsb.users //添加完后运行 badmin ckconfig //在计算节点上添加新用户 ssh c01n01 useradd -m cfdem passwd cfdem并输入密码 //同理在c01n02~c01n03同样上述操作 //ssh到管理节点mgt01并切换到cfdem ssh mgt01 su cfdem ssh-keygen//然后一直回车

    但是这种方式感觉有点繁琐。:136:
    后来了解到PBS管理系统里面可以直接通过命令

    clusconf -au 账号名

    就可以完成普通账户的添加。
    现在想问一下,LSF管理系统添加账户的时候,有没有类似于PBS管理系统的这种一气呵成的简单命令?:146:

  • fieldAverage 求取脉动

    2 帖子
    636 浏览

    @冠竹 这个是$\overline{u'u'}$, $\overline{u'v'}$等一共6个,就是解析的雷诺应力除以密度

  • 3 帖子
    932 浏览

    @五好青年 你可以参考一下Holzmann CFD官网的算例, 关于Magnus Effect的算例中有加入圆柱转动函数条件的相关设置.

  • 不均匀温度边界 热流密度

    1 帖子
    446 浏览

    目前我只会做到在边界某段添加固定温度,整个边界都使用热流密度条件也是可以的,请问如何在边界的某段添加热流密度边界~比如下面这段0.000333<=x<=0.000666使用热流边界 应该如何修改~

    OUTLET { type codedFixedValue; name heated; value uniform 300; codeInclude #{ #include "fvCFD.H" #}; codeOptions #{ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude #}; //libs needed to visualize BC in paraview codeLibs #{ -lmeshTools \ -lfiniteVolume #}; code #{ /*const IOdictionary& d = static_cast<const IOdictionary&> ( dict.parent().parent() ); const fvMesh& mesh = refCast<const fvMesh>(d.db()); const label id = mesh.boundary().findPatchID("OUTLET"); const fvPatch& patch = mesh.boundary()[id];*/ scalarField T(patch().size(), 300); forAll(T, i) { const scalar x = patch().Cf()[i][0]; //const scalar y = patch.Cf()[i][1]; //const scalar z = patch.Cf()[i][2]; if(x>=0.000333||x<=0.000666) { T[i] = 400; } else { T[i] = 300; } } (*this)==T;//T.writeEntry("", os); #}; }
  • 如何创建一个list装符合条件的单元

    3 帖子
    743 浏览

    @队长别开枪 谢谢老师指点,我好好研究一下

  • 9 帖子
    2k 浏览

    @七辆战车
    你好! 请问一下,利用rigidbody求解器,有实现双浮体吗,是直接在dynamicdict文件下给两个浮体的参数吗? 对于外部导入的水平圆柱浮体,刚体类型可以给rigidbody吗? 期待你的回答,不胜感激。

  • 斜坡地形上的流速问题

    9 帖子
    2k 浏览

    @队长别开枪 谢谢老师您的指点,已经安装上了。但我是用hypremesh画的斜坡网格,是否可以不使用stl文件来进行相初始化。

  • 湍流模型

    5 帖子
    1k 浏览

    @tens 谢谢啦

  • 关于TurbinesFoam风机

    3 帖子
    722 浏览

    @李东岳 谢谢李老师

  • 3 帖子
    912 浏览

    之前接触过CFD++和STAR CCM+的噪声计算,里面都有专门的模块。openfoam这方面的功能没试过,不过搜到了一个第三方库,里面有源码和一篇文章,你可以参考下:
    https://github.com/unicfdlab/libAcoustics
    实在不行就把声源面的压力脉动都导出来,按定义写个程序去积分,虽然麻烦了点,但应该也是能做的

  • 汽液相变模拟如何加入源项m

    6 帖子
    1k 浏览

    @李东岳 感谢您的回复,我的计算的是和压力温度都相关的,但是主要是压力;在您的提醒下,这两天找到了一个相关的包含空化源代码的文章和一篇冷凝没有源代码的文章,目前正在学习,不知道是否是您所指的那篇链接文本链接文本

  • 9 帖子
    4k 浏览

    @hurricane007 这样做的确可以用。相当于使用linux的命令行,windows的UI。

  • OF8 虚拟机安装出现问题

    6 帖子
    1k 浏览

    @try-harder 谢谢,谢谢!:xiexie: :xiexie:

  • 如何判断残差曲线是否达到要求?

    3 帖子
    934 浏览

    @李东岳 谢谢李老师的回复~ 教师节快乐~ 是一个标准的channel。但是雷诺数非常高,Re=80 million, 没有8000万网格,是NASA官网上的一个标准算例,独特的地方就是雷诺数非常大

  • timeVaryingMappedfixedValue BC后续问题

    1 帖子
    445 浏览

    Capture1.PNG
    Capture2.PNG

    如上2图,白色的点为测量数据点,每个点都有ux,uy,uz
    先在inlet 上通过topoSet 专门设置出了一个小的区域,
    图1是方形,图2是根据测量区域画出来的一个正方形加两个圆形的区域。

    现在最大的问题是,你可以发现topoSet的边界特别明显。。
    这种情况应该通过什么办法能解决呢?

    为什么用topoSet的原因是如果直接在inlet 上设置为timeVaryingMappedfixedValue 这个边界条件的话,code 会直接插值到最边界。。结果看起来更有问题,topoSet这个解决方法一定程度上规避了interpolation到最边界的情况,但是会造成这个patch 和他原来关联的patch的边界问题。。

    求大佬指点迷津

  • 3 帖子
    2k 浏览

    @李东岳 http://www.jhydrodynamics.com/en/download-of-liutex-code/ 这个已经有了个开源的代码

    /*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Application stressComponents Description Calculates and writes the scalar fields of the six components of the stress tensor sigma for each time. \*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "OFstream.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // tensor rotation(vector u, vector v) { scalar eps = 1.0e-10; tensor q(tensor::zero); vector a( u.y()*v.z()-u.z()*v.y(), u.z()*v.x()-u.x()*v.z(), u.x()*v.y()-u.y()*v.x() ); if(Foam::mag(a)<eps) { q.xx()= 1.0; q.yy()= 1.0; q.zz()= 1.0; } else { a=a/Foam::mag(a); scalar t=Foam::sign( u & v); scalar alpha = Foam::acos(t); scalar c = Foam::cos(alpha); scalar s = Foam::sin(alpha); q.xx()=Foam::pow(a.x(),2)*(1-c)+c; q.xy()=a.x()*a.y()*(1-c)-a.z()*s; q.xz()=a.x()*a.z()*(1-c)+a.y()*s; q.yx() = a.y()*a.x()*(1-c)+a.z()*s; q.yy() = Foam::pow(a.y(),2)*(1-c)+c; q.yz() = a.y()*a.z()*(1-c)-a.x()*s; q.zx() = a.z()*a.x()*(1-c)-a.y()*s; q.zy() = a.z()*a.y()*(1-c)+a.x()*s; q.zz() = Foam::pow(a.z(),2)*(1-c)+c; } return q; } int main(int argc, char *argv[]) { timeSelector::addOptions(); #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); #include "createMesh.H" forAll(timeDirs, timeI) { runTime.setTime(timeDirs[timeI], timeI); Info<< "Time = " << runTime.timeName() << endl; IOobject Uheader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ ); vector z0(0,0,1); // Check U exists if (Uheader.headerOk()) { mesh.readUpdate(); Info<< " Reading U" << endl; volVectorField U(Uheader, mesh); volVectorField Rotex ( IOobject ( "Rotex", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE ), mesh, dimensionedVector("zero", dimless, vector::zero) ); volTensorField gradU = fvc::grad(U); forAll(U,cellI) { scalar aa=-( gradU.component(tensor::XX)()[cellI] + gradU.component(tensor::YY)()[cellI] + gradU.component(tensor::ZZ)()[cellI] ); tensor a=gradU[cellI]; tensor tt =a & a; scalar bb = -0.5*(tt.xx()+tt.yy()+tt.zz()-pow((tt.xx()+tt.yy()+tt.zz()),2)); scalar cc = -( a.xx()*(a.yy()*a.zz()-a.yz()*a.zy()) -a.xy()*(a.yx()*a.zz()-a.yz()*a.zx()) +a.xz()*(a.yx()*a.zy()-a.yy()*a.zx()) ); scalar delta = 18.0*aa*bb*cc-4.0*Foam::pow(aa,3)*cc+Foam::pow(aa,2)*pow(bb,2)-4.0*Foam::pow(bb,3)-27.0*Foam::pow(cc,2); scalar qq=(Foam::pow(aa,2),3*bb)/9.0; scalar rr=(2.0*Foam::pow(aa,3)-9.0*aa*bb+27.0*cc)/54.0; delta=-delta/108.0; if(delta > 0.0) { scalar aaaa=-sign(rr)*Foam::pow(abs(rr)+Foam::sqrt(delta),scalar(1.0/3.0)); scalar bbbb=0; if( aaaa !=0.0) bbbb=qq/aaaa; scalar eig1c_r=-0.5*(aaaa+bbbb)-aa/3.0; scalar eig1c_i=0.5*Foam::sqrt(scalar(3.0))*(aaaa-bbbb); scalar eig2c_r=-0.5*(aaaa+bbbb)-aa/3.0; scalar eig2c_i=-0.5*Foam::sqrt(scalar(3.0))*(aaaa-bbbb); scalar eig3r = aaaa+bbbb-aa/3.0; scalar delta1(0.0),delta2(0.0),delta3(0.0); delta1 = (a.xx()-eig3r)*(a.yy()-eig3r) -a.yx()*a.xy(); delta2 = (a.yy()-eig3r)*(a.zz()-eig3r) -a.yz()*a.zy(); delta3 = (a.xx()-eig3r)*(a.zz()-eig3r) -a.zx()*a.xz(); if(delta1==0.0 && delta2==0.0 && delta3==0.0) { FatalErrorInFunction << "delta1-3 are:" << delta1 << "," << delta2 <<","<< delta3 << exit(FatalError); } vector vr(0,0,0); if( Foam::mag(delta1)>=Foam::mag(delta2) && Foam::mag(delta1)>=Foam::mag(delta3) ) { vr.x()=(-(a.yy()-eig3r)*a.xz()+a.xy()*a.yz())/delta1; vr.y()= (a.yx()*a.xz() - (a.xx()-eig3r)*a.yz())/delta1; vr.z()=1.0; } else if( Foam::mag(delta2)>=Foam::mag(delta1) && Foam::mag(delta2)>=Foam::mag(delta3) ) { vr.x()=1.0; vr.y()=(-(a.zz()-eig3r)*a.yx()+a.yz()*a.zx())/delta2; vr.z()=(a.zy()*a.yx() - (a.yy()-eig3r)*a.zx())/delta2; } else if( Foam::mag(delta3)>=Foam::mag(delta1) && Foam::mag(delta3)>=Foam::mag(delta2) ) { vr.x()=(-(a.zz()-eig3r)*a.xy()+a.xz()*a.zy())/delta3; vr.y()= 1.0 ; vr.z()=(a.zx()*a.xy() - (a.xx()-eig3r)*a.zy())/delta3; } else FatalErrorInFunction<< "vr error"<< exit(FatalError); vr = vr/Foam::sqrt(vr & vr); tensor qqq=rotation(z0,vr); tensor vg(qqq.T() & a); vg=vg & qqq; scalar alpha = 0.5*Foam::sqrt(Foam::pow(vg.yy()-vg.xx(),2)+Foam::pow(vg.yx()+vg.xy(),2)); scalar beta = 0.5*(vg.yx()-vg.xy()); if(Foam::magSqr(beta) > Foam::magSqr(alpha)) { scalar rm=0.0; if(beta > 0.0) rm=2.0*(beta-alpha); else rm=2.0*(beta+alpha); Rotex[cellI]=rm*vr; } } } Rotex.write(); Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" << " ClockTime = " << runTime.elapsedClockTime() << " s" << nl << endl; } else { Info<< " No U" << endl; } } Info<< "End" << endl; return 0; } // ************************************************************************* //
  • 并行问题

    2 帖子
    679 浏览

    是不是模型的xyz搞翻了,可以先用paraview看看。

    或者(16 2 1)试试

  • timeVaryingMappedFixedValue 是个好BC

    2 帖子
    613 浏览

    @星星星星晴 :xiezuoye: :xiezuoye: :xiezuoye:

  • 5 帖子
    1k 浏览

    @李东岳 So cool!

  • 湍流边界层平均速度剖面y+. vs. U+的处理

    4 帖子
    2k 浏览

    对y+、u+感兴趣的,可以直接看看openfoam tutorials里面incompressible/boundaryFoam里面的自带算例,有处理y+、u+的图的脚本

  • Ubuntu16.04 安装foam-extend3.2

    3 帖子
    629 浏览

    @冠竹 自行尝试下载metis-5.1.0.tar.gz试试

  • 新旧版本编程差异问题

    15 帖子
    3k 浏览

    @李东岳 我重新定义了k_, 将其强制变成const,但是还是报错,错误如下:

    error: no matching function for call to ‘ddt(const alphaField&, const rhoField&, const volScalarField&)’ + fvc::ddt(alpha, rho, k_) ~~~~~~~~^~~~~~~~~~~~~~~~

    可见k_前面已经有const,但是还是不行,可见应该还是要修改alpha与rho的类型?但是我重新赋值定义alpha, rho为volScalarField, 会报初始化错误,不能直接这样改,修改方式如下:
    const volScalarField alphat = this->alpha_; 再在fvc中调用fvc::ddt(alphat, rhot, k_)