添加第三个区域到chtMultiRegionFoam
-
OpenFOAM 版本:v10
简介:大家好,我是openfoam新手,对代码不是很熟悉,现在我正在尝试传递 3 个区域列表 给 pimpleMultiRegionControl,但其构造函数仅支持 2 个区域列表 + 可选算法名称。其中每个都单独的区域我都进行了模拟,并没有问题。并且我之前尝试过将三个区域中的两个区域也进行合并模拟,并没有出现报错情况。但是现在我尝试将三个区域整合到一起却出现了问题。
需求:我正在尝试建立三个区域的求解器(基于chtMultiRegionFoam),三个区域分别对应不同物理模型(流体、电极、膜)并且需要它们独立求解不同控制方程。
具体内容为:pimpleMultiRegionControl pimples(fluidRegions, electrodeRegions, membraneRegions);
报错内容为:
threeregionFoam.C: In function ‘int main(int, char**)’: threeregionFoam.C:60:85: error: no matching function for call to ‘Foam::pimpleMultiRegionControl::pimpleMultiRegionControl( Foam::PtrList<Foam::fvMesh>&, Foam::PtrList<Foam::fvMesh>&, Foam::PtrList<Foam::fvMesh>& )’ 60 | pimpleMultiRegionControl pimples(fluidRegions, electrodeRegions, membraneRegions); | ^ In file included from threeregionFoam.C:47: FOAM_INSTALL_DIR/src/finiteVolume/lnInclude/pimpleMultiRegionControl.H:96:9: note: candidate expects **2 regions + optional algorithm name**: 96 | pimpleMultiRegionControl( | ^~~~~~~~~~~~~~~~~~~~~~~~ 97 | PtrList<fvMesh>& fluidRegions, 98 | PtrList<fvMesh>& solidRegions, 99 | const word& algorithmName="PIMPLE" 100 | ) | ~~~