cyclicAMI:旋转周期边界设置问题
-
我在在设置旋转周期边界时遇到了以下问题:
我使用的是一个openfoam外开发的求解器,求解C3X叶栅的模拟,在使用相同的边界条件时,当设置叶片两个周期性边界为对称边界时,求解一切正常,但将其改为cyclicAMI时则计算无法进行,个人角度感觉是边界条件设置的问题,尝试过在·boundary文件中设置separationVector等,均会出下以下错误:// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Steady-state analysis detected pseudoTime: tolerance = 1e-10, relTol = 1e-10 Local timestepping selected Reading thermophysical properties Selecting thermodynamics package { type hePsiThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } AMI: Creating addressing and weights between 18620 source faces and 18620 target faces AMI: Patch source sum(weights) min:0 max:1.84903 average:0.999732 AMI: Patch target sum(weights) min:0.030709 max:1.15763 average:0.994612 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in /lib/x86_64-linux-gnu/libc.so.6 #3 ? at ??:? #4 ? at ??:? #5 Foam::psiThermo::addfvMeshConstructorToTable<Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > > >::New(Foam::fvMesh const&, Foam::word const&) at ??:? #6 ? at ??:? #7 Foam::psiThermo::New(Foam::fvMesh const&, Foam::word const&) at ??:? #8 ? in ~/OpenFOAM/duan-v2112/platforms/linux64GccDPInt32Opt/bin/dbnsFoam #9 ? in /lib/x86_64-linux-gnu/libc.so.6 #10 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #11 ? in ~/OpenFOAM/duan-v2112/platforms/linux64GccDPInt32Opt/bin/dbnsFoam Floating point exception
网格的质量没有问题,boundary处设置的条件如下:
( blade { type wall; inGroups 1(wall); nFaces 25088; startFace 6512669; } inlet { type patch; nFaces 8526; startFace 6537757; } outlet { type patch; nFaces 8526; startFace 6546283; } Lower_periodicity { type cyclicAMI; inGroups 1(cyclicAMI); nFaces 18620; startFace 6554809; matchTolerance 0.0001; transform rotational; neighbourPatch Upper_periodicity; rotationAxis (1 0 0); rotationCentre (0 0 0); } Upper_periodicity { type cyclicAMI; inGroups 1(cyclicAMI); nFaces 18620; startFace 6573429; matchTolerance 0.0001; transform rotational; neighbourPatch Lower_periodicity; rotationAxis (1 0 0); rotationCentre (0 0 0); } back { type wall; inGroups 1(wall); nFaces 22363; startFace 6592049; } front { type wall; inGroups 1(wall); nFaces 22363; startFace 6614412; } )
同时也尝试过将cyclicAMI改为cyclic,但是两个边界的网格差异过大,有以下问题:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 --> FOAM FATAL ERROR: (openfoam-2112 patch=220610) face 0 area does not match neighbour by 68.9656% -- possible face ordering problem. patch:Lower_periodicity my area:6.66444e-09 neighbour area:1.36797e-08 matching tolerance:0.1 Mesh face:6554809 fc:(-0.0309194 -0.0589349 119.957) Neighbour fc:(-0.0196249 0.058833 119.957) If you are certain your matching is correct you can increase the 'matchTolerance' setting in the patch dictionary in the boundary file. Rerun with cyclic debug flag set for more information. From void Foam::cyclicPolyPatch::calcTransforms(const primitivePatch&, const pointField&, const vectorField&, const pointField&, const vectorField&) in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 215. FOAM exiting
望大佬帮忙解答下困惑。
-
@李东岳 谢谢李老师,网格检查过了,没有问题,把cyclicAMI的边界设置为symmetry是可以计算的。刚才按照您的建议试过了,也还是报相同的错误,错误信息如下:
/*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2112 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : _6e1fca0e-20220610 OPENFOAM=2112 patch=220610 version=2112 Arch : "LSB;label=32;scalar=64" Exec : dbnsFoam Date : Jun 06 2024 Time : 18:13:40 Host : DESKTOP-H49IU2O PID : 137843 I/O : uncollated Case : /home/duan/JIA_Xiaotong/ICSFoam-master/tutorials/test_5 nProcs : 1 trapFpe: Floating point exception trapping enabled (FOAM_SIGFPE). fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 5, maxFileModificationPolls 20) allowSystemOperations : Allowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Steady-state analysis detected pseudoTime: tolerance = 1e-10, relTol = 1e-10 Local timestepping selected Reading thermophysical properties Selecting thermodynamics package { type hePsiThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } AMI: Creating addressing and weights between 18620 source faces and 18620 target faces AMI: Patch source sum(weights) min:0 max:1.84903 average:0.999732 AMI: Patch target sum(weights) min:0.030709 max:1.15763 average:0.994612 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in /lib/x86_64-linux-gnu/libc.so.6 #3 ? at ??:? #4 ? at ??:? #5 Foam::psiThermo::addfvMeshConstructorToTable<Foam::hePsiThermo<Foam::psiThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::perfectGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > > >::New(Foam::fvMesh const&, Foam::word const&) at ??:? #6 ? at ??:? #7 Foam::psiThermo::New(Foam::fvMesh const&, Foam::word const&) at ??:? #8 ? in ~/OpenFOAM/duan-v2112/platforms/linux64GccDPInt32Opt/bin/dbnsFoam #9 ? in /lib/x86_64-linux-gnu/libc.so.6 #10 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #11 ? in ~/OpenFOAM/duan-v2112/platforms/linux64GccDPInt32Opt/bin/dbnsFoam Floating point exception
老师,有没有可能是因为叶栅模型的旋转半径太大(120m)导致的呢?