Update: compressibleInterFoam是“使用基于VOF(流体体积)相分数的界面捕获方法求解两种可压缩的非等温不混溶流体,并进行可选的网格运动和网格拓扑更改(包括自适应重新网格划分)。” 并不适合上述问题。
qjh888
帖子
-
-
@东岳 谢谢李老师。最近在研究一个求解器,compressibleInterFoam. 我把您推荐的这个也研究一下,看看是否可以求解我想要的问题。
-
RT
本人想计算两种气体的混合工质(如He + CH4)气动问题,要求可以可压、湍流、捕捉组份变化。请教有没有不错的求解器可以使用。
谢谢! -
为了方便,我把我的fvScheme贴在这儿:
ddtSchemes { default none;//EulerLocal physDeltaT CoDeltaT; ddt(rho) EulerLocal physDeltaT CoDeltaT; ddt(rhoU) EulerLocal physDeltaT CoDeltaT; ddt(rhoE) EulerLocal physDeltaT CoDeltaT; ddt(rho,omega) EulerLocal physDeltaT CoDeltaT; ddt(rho,k) EulerLocal physDeltaT CoDeltaT; p steadyState; // Needed for waveTransmissive; phiMin steadyState; // Needed for waveTransmissive; phiMax steadyState; // Needed for waveTransmissive; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(rhoSlope) Gauss linear; grad(pSlope) Gauss linear; grad(USlope) Gauss linear; grad(TSlope) Gauss linear; snGradCorr(U) Gauss linear; snGradCorr(h) Gauss linear; snGradCorr(omega) Gauss upwind phi; snGradCorr(k) Gauss upwind phi; grad(omega) Gauss upwind phi; grad(k) Gauss upwind phi; } divSchemes { default none; div(phi,U) Gauss linearUpwind grad(U); div(phi,k) Gauss QUICK;//linearUpwind; div(tau) Gauss linear; div((tau&U)) Gauss linear; div(phi,omega) Gauss QUICK;//linearUpwind; } laplacianSchemes { default Gauss linear limited 0.33; } interpolationSchemes { default none; interpolate(rho) linear corrected; } snGradSchemes { default orthogonal; } fluxRequired { default no; }
-
各位朋友,最近我在计算一个稳态的Laval喷管的稳态问题。可是最后的马赫盘的位置一直在非常微小幅度的振荡,导致最后的残差一直居高不下。我尝试过如下的几种方法:
1。 waveTransmissive改为稳态适用版本;
2。 减少co数和松弛因子。
3。 加密网格。我用的是kOmegaSST, 求解器比较小众,是transonicMRFDyMFoam. 请问各位在稳定稳态求解方面有什么好的经验?
谢谢各位! -
各位,我想问一下你们使用janafThermo 和surthlandTaransport的经验。我之前的一个用constant Thermo和ideal gas equation 下收敛的算例,现在换成janaf之后直接发散,完全没有办法去让它收敛。请问这种情况要怎么办呢?
谢谢 -
题主可以搜索一下 nasa gas polynomial.
不知道这个是不是你要的。 -
各位朋友:
我想问一下,为什么在出口处使用inletOutlet 边界条件并不能限制回流呢?
如图所示,有一个cell出现了巨大的回流,而且并没有被 inletOutlet 设置成为 (0 0 0)。
我的设置如下:
patch_outlet { type inletOutlet; inletValue uniform(0 0 0); }
各位是否有人遇到过这种情况?
谢谢! -
对的,您比较一下就知道了。Extend什么也没有。。。
-
@李东岳
谢谢东岳大神。我看了一下OpenFOAM的代码,它的wallShearStress 可以求解可压流动。
只是再确认一下您说的最后一句话:“壁面剪切力,既然是壁面,只求解壁面,因此你说的是正确的,类似的处理在边界条件和壁面函数上很常见”
也就是说虽然求解所有的patch,但是只有wall的边界条件是有意义的。是否是这样呢? -
目前知道第一句,就是
RASModel->devReff() 是//- Return the effective stress tensor including the laminar stress
那么问题来了,这个wallShearStress 后处理器是否只能适用于incompressible flow? -
有人知道怎么使用不?
-
各位好!
最近正在使用wallShearStress这个后处理器。
其中有一些代码并不知道是什么作用,还望各位大神不吝赐教。RASModel->devReff()//这一句确实不知道是用来干什么的 //下面这几句分别是什么作用呢? singlePhaseTransportModel laminarTransport(U, phi); autoPtr<incompressible::RASModel> RASModel ( incompressible::RASModel::New(U, phi, laminarTransport) ); //下面的是对所有的patch, 也就是说不仅仅是wall,进行求解? forAll(wallShearStress.boundaryField(), patchi) { wallShearStress.boundaryField()[patchi] = ( -mesh.Sf().boundaryField()[patchi] /mesh.magSf().boundaryField()[patchi] ) & Reff.boundaryField()[patchi]; }
非常感谢!
-
谢谢!
我研究一下,然后反馈 -
@random_ran
谢谢,不过我需要大量的切面,所以只能用编程来实现… -
:crying:
看来这个sampleDict是不能完成这种工作了…唉~ -
@赵一铭 在 sampleDict 是否可以切取圆柱面采集数据? 中说:
定义你的圆环面在这里
嗯,谢谢,但是有一个问题,这个integrationPlan.stl如何去定义呢?是要自己选取一个圆环面么?
谢谢!
-
各位朋友,
请问一下谁用过这个转换器?或者,有什么方法可以将OpenFOAM格式的网格转换成Cgns标准格式的网格?
谢谢! -
各位好!
我现在在尝试着使用OpenFOAM切取一个圆环面上的数据。我看sampleDict中有一项功能是:
distance { // Isosurface from signed/unsigned distance to surface type distanceSurface; signed true; // Definition of surface surfaceType triSurfaceMesh; surfaceName integrationPlane.stl; // Distance to surface distance 0.0; interpolate false; regularise false; // Optional: do not simplify // mergeTol 1e-10; // Optional: fraction of mesh bounding box // to merge points (default=1e-6) }
不知道如何使用,是否有朋友使用过这个功能?
谢谢!
-
@小葱小虫
是第三方的,要使用foam-extend才能安装。
transonicMRFDyMFoam可以计算稳态 -
确切的说是foam-extension. 我看了一下foam-extension里面并没有很好的Gas equation.
-
各位Foamer
我想问一下各位,各位都使用什么方法在OpenFOAM中使用RealGasProperties呢?
请分享一下方法及配置。谢谢!
-
好贴子,马住。另外推荐一个连接:
http://nscc-gz.cn/newsdetail.html?6151 -
或者说是,在使用backwardDual physDeltaT CoDeltaT这个ddtScheme的时候,如何去确定我想要的deltaT 和求解的subCycle 的数量呢?
-
@cfd-china
谢谢回复。今天搞了一下,应该是 ddtSchemes的问题。换成backwardDual physDeltaT CoDeltaT就好了。可是在理论层面上还是不太懂,这个backwardDual physDeltaT CoDeltaT 和Euler 的区别在什么地方呢?
谢谢
-
各位,我想咨询一个有关于涡轮机械高速绕流的问题。
如图所示是速度场,可以看到在seperation出现之前,就出现了checkerboarding,而且我的网格通过yPlusRAS
检测,边界层第一层网格的 $y^+$值为min: 0.0001543118 max: 0.01853747
。
可是我还是不明白为什么case会崩掉呢。
我用的是k-omeag SST
湍流模型。谢谢!
-
@lv1995
这个问题你可以到如下网站去看:
https://turbmodels.larc.nasa.gov/spalart.htmlOpenFOAM 中的SA是fv3版,是不推荐使用的。可以按照NASA的要求改为standard 版本。
祝好 -
@小葱小虫
你可以试试 Sig Turbo Density Based Solver.
transonicMRFDyMFoam transonicUnsteadyMRFDyMFoam .. -
@cfd-china
谢谢! -
各位好!
RT,我的程序在并行计算期间,想输出CPU的编号,以此来判定不同的CPU做不同的事。
OpenFOAM中是否有此类编码,可以输出CPU的编号呢?谢谢!
-
谢谢指导!学习了。
-
各位朋友好!
我想问一下半于OepnFOAM在应用kOmegaSST模型中的一些问题。
我在运我的case 的时候,要检测yPluseRAS,返回值都很小,都在1以下。
我看CFD教程的时候知道,yPlus要在30~200之间才可以使用wallFunction,但是我看OpenFOAM带的wallFunction看上去都是一些混合方程,是不是这就意味着对yPlus并没有过多的要求?可以很小,也可以很大?
还有一个问题,为什么计算yPlusRAS一定要使用nutWallFunction?谢谢!
-
我想可能的话,可以让slave patch 以任意角度拷贝 master patch
-
各位好
我想开发一个类似于AMI或者GGI的这样的一个连接面,但是不会像AMI或者GGI这么复杂和通用。
我在看源代码的时候,发现AMI和GGI都有不用层次的依赖关系,像overlapGgi依赖于overlapGgiPolyPatch等等,很多层的依赖关系。我想问一下有没有比较详细的介绍AMI或者 GGI的资料? 如何下手修改边界条件以让它们达到预期要求呢?
谢谢!
-
您好!
最近我也在尝试编写一个边界条件,如果有什么经验的话,还希望能交流一下!
谢谢!
-
这个是foam-extend 中的一个bug. 我已经repot了。
请点击这儿->Bug#308
有兴趣的朋友可以看看 -
各位好,
最近在修改一个solver.
原来的solver中,是用:volScalarField& h = thermo.h();
建立了h场,然后在求解前后:
U.correctBoundaryConditions(); p.correctBoundaryConditions(); h.correctBoundaryConditions(); SOLVING.... U.correctBoundaryConditions(); p.correctBoundaryConditions(); h.correctBoundaryConditions(); thermo.correct();
由于此求解器在h.correctBoundaryConditions();出现了问题,我想能先组建T场,然后再用T场去更新thermo,然后再更新h场?我想的是如下:
Info<< "Allocating field T\n" << endl; volScalarField T ( IOobject ( "T", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE ), thermo.T() ); U.correctBoundaryConditions(); p.correctBoundaryConditions(); T.correctBoundaryConditions(); thermo.correct(); SOLVING.... U.correctBoundaryConditions(); p.correctBoundaryConditions(); h.correctBoundaryConditions(); //先更新h, thermo.correct(); //用更新后的h去更新thermo T.correctBoundaryConditions();//再更新T
现在如果按照我这样做的话,还是有问题的,不知道问题错在哪儿?
谢谢各位 !Janry
-
@cfd-china
非常感谢!
看来我得转到OpenFOAM来了。
我现在知道对应cyclicGgi 有 cyclicAMI,那么是否有对应overlapGgi的AMI呢?
我的算例是一个转子流道加一个定子流道,在转动完一定的角度后就完全分离了,不知道AMI是否可以实现这个功能?非常感谢!
Janry
-
-
感觉你用的是Density based solver.
这个是求解器本身的一个bug,已经是显式格式,所以不用纠结这个问题。Janry
-
请问, rhoPimpleDyMFoam 是否可以设定一个特定的Wall在计算上是不动的么?
这样可以用来模拟实际的转子转动时,与顶盖(不动)之间的摩擦损失。谢谢!
Janry -
@cfd-china
嗯,谢谢推荐,之前看过这个求解器,不太确定是否可以定义一个cellRegion某一个wall不动。
如果可以的话,那么简直完美。Janry
-
@cfd-china
打算使用滑移网格进行并行计算。
-
@cfd-china
感谢回复。 滑移网格使用后确实MRF不被激活,但是还是用MRFZones这个文件定义非旋转面,比如转子上面的wall。用extend版本是为了用专门针对于turbomachinery 的求解器。
谢谢~
Janry
-
不知道是否可以进行有偿征集答案?
这个问题困扰我很久了,不知道哪为朋友可以帮我解决,如果能够解决,必将感谢~
暂定RMB500?如果不合适的话,请管理员将此贴删除。
再次感谢!
Janry -
-
-
各位朋友:
我想通过计算得到U在切向和轴向的速度分量,所以要用到如下的公式:
Uradial = vector(position) & U / mag( vector(position))
读取U场数据用如下代码:
IOobject Uheader ( "U" runTime.timeName(), mesh, IOobject::MUST_READ );
可是在读取各个网格中心坐标的时候,遇到了问题,我的代码如下:
void Foam::calc(const argList& args, const Time& runTime, const fvMesh& mesh) { //bool writeResults = !args.optionFound("noWrite"); IOobject Uheader ( "U", runTime.timeName(), mesh, IOobject::MUST_READ ); // Check U exists if (Uheader.headerOk() ) { Info<< " Reading U" << endl; volVectorField U(Uheader, mesh); // 读取各个网格中心点的坐标 volVectorField& centres = mesh.C().internalField(); // 由于mesh.C()在网格内部返回的是中心点的坐标,在网格边界处返回的是面心坐标,所以用.internalField(),可是在这儿报错 volScalarField URadial ( IOobject ( "URadial", runTime.timeName(), mesh ), ((centres - centres.component(2) ) & U) //mag ((mesh.C() - (0., 0., mesh.C().component(2))) //这个地方我想得到一个平行于z轴的坐标,方法是用这一点的位置向量减去(0, 0, z)可是系统报错告诉我不能这样减。 ); } else { Info<< " Missing p or T" << endl; } Info<< "\nEnd\n" << endl; }
我想问一下,如果想实现mesh.C()- (0, 0, z)的话,需要怎么做?
非常感谢!
Janry -
更正:
funkySetFields -time 0.5
Janry
混合工质计算求解器推荐
混合工质计算求解器推荐
混合工质计算求解器推荐
foam-extend求解稳态问题,如何才能使最终解残差下降
foam-extend求解稳态问题,如何才能使最终解残差下降
sutherland和janaf
sutherland和janaf
inletOutlet B/C 无法止住回流
OpenFOAM 关于使用real gas properties的方法
wallShearStress 中的一些代码的定义
wallShearStress 中的一些代码的定义
OpenFOAM 关于使用real gas properties的方法
foamToCgns converter
wallShearStress 中的一些代码的定义
sampleDict 是否可以切取圆柱面采集数据?
sampleDict 是否可以切取圆柱面采集数据?
sampleDict 是否可以切取圆柱面采集数据?
sampleDict 是否可以切取圆柱面采集数据?
foamToCgns converter
sampleDict 是否可以切取圆柱面采集数据?
如何得到processor 的编号?
OpenFOAM 关于使用real gas properties的方法
OpenFOAM 关于使用real gas properties的方法
并行效率疑问
Trailing edge 绕流产生checkerboarding
Trailing edge 绕流产生checkerboarding
Trailing edge 绕流产生checkerboarding
关于SpalartAllmaras模型
如何得到processor 的编号?
如何得到processor 的编号?
如何得到processor 的编号?
OpenFOAM中kOmegaSST和yPlusRAS
OpenFOAM中kOmegaSST和yPlusRAS
修改AMI或者 GGI边界条件
修改AMI或者 GGI边界条件
OpenFOAM教程 初级入门建议(2020年更新版)
solver中用p和T更新h
solver中用p和T更新h
Sliding Mesh 不能进行并行计算
Sliding Mesh 不能进行并行计算
运行中残差一直输出为0
Sliding Mesh 不能进行并行计算
Sliding Mesh 不能进行并行计算
Sliding Mesh 不能进行并行计算
Sliding Mesh 不能进行并行计算
Sliding Mesh 不能进行并行计算
Paraview中如何输出焓值和熵值?
openfoam,导入,ansys
OpenFoam 获取每个点的坐标向量
funkySetField设置初始区域