和一位师兄交流了一下。是我的判断搞错了,在heThermo类中he_属性取决于energy的选择。如果energy 是sensibleEnthalpy,那么he_=h;如果energy是sensibleInternalEnergy,那么he_=e。对于rhoCentralFoam求解的控制方程是总能,计算的是e。所以energy只能使用sensibleInternalEnergy。
我去openFOAM带的rhoCentralFoam案例库查了一下,确实都是sensibleInternalEnergy!!!
yingqing
帖子
-
请教贴:heThermo类中属性he_是内能还是焓的问题 -
请教贴:heThermo类中属性he_是内能还是焓的问题在rhoCentralFoam求解器中,存在以下代码
solve ( fvm::ddt(rhoE) + fvc::div(phiEp) - fvc::div(sigmaDotU) ); dimensionedScalar Emin("Emin", dimEnergy/dimMass, 71800); e =max(rhoE/rho - 0.5*magSqr(U),Emin); e.correctBoundaryConditions();
控制方程求解出的是总能,获得内能e。
热物性表constant/thermophysicalProperties中设置的
thermo 是hConst,这意味着he_应该是比焓
energy 设置应该是把he_传递到sensibleEnthalpy类中,使焓来转化为温度感觉这个合理;
但thermo 是hConst
energy设置为sensibleInternalEnergy,这意味着he_应该是焓,传递给sensibleInternalEnergy来转化温度,感觉不是很合理呀。这个地方有理解的老师,能给讲讲嘛,已经懵了 -
请教:可压缩流,压力出口边界条件设置问题各位老师好。在使用rhoCentralFoam模拟喷管的时候遇到一个问题。
压力出口使用waveTransmissive边界条件,保证波能穿过出口边界,但模拟结果显示的出口压力与想要的出口压力相差很大。
即使想要一个高背压的环境,但waveTransmissive依旧会把压力出口计算为低的背压环境。
想请教一下各位老师,在模拟喷管的时候,想要看到由于高背压造成在喷管渐阔段产生的激波,这类模拟出口边界条件应该如何设置。 -
请教:关于openfoam中添加源项的问题在fluent中也存在这种源项线性化,目的是增强求解稳定性。
源项通常表示为S_phi=A+B*phi
的形式,其中phi表示因变量,A为源项的显式部分,B*phi
为隐式部分A=S_phi-d(S)/d(phi)*phi B=d(S)/d(phi)
参考:《ansys fluent 二次开发指南》
rhoU做为因变量,Source_U_linear_explicit 和fvm::SuSp(SourceMomentumFactor, rhoU)大概也是为了形成A和B。 -
OpenFOAM膨胀喷管边界条件设置温度和压力的边界条件与内场压力差非常大。要不要试着从小的入口压力开始跑,稳定之后在增加压力。这种操作方法,我在别人的喷管案例里面看见过
-
请教:关于openfoam中添加源项的问题volVectorField Source_U("Source_U", -U*Source_Y); volVectorField Source_U_linear_explicit("Source_U_linear_explicit", SourceMomentumFactor*rhoU); solve ( fvm::ddt(rhoU) + fvc::div(phiUp) == Source_U - Source_U_linear_explicit + fvm::SuSp(SourceMomentumFactor, rhoU) );
在看别人程序的时候发现在源项的添加上多出来两项Source_U_linear_explicit 和fvm::SuSp(SourceMomentumFactor, rhoU),这两感觉是一样的,不是很理解这样写的原因。哪位老师,能指导一下
-
求教:Laval 喷管模拟产生激波边界条件设置问题李老师,感谢您的修改,对比后我发现我对fvsolutions的设置还不太明确。用您改后的案例,openfoamv9跑出来了,但用openfoam-v2206还是报原来的错误。目前,我准备尝试用clion调试找一下壁面函数中wallDist的问题
-
求教:Laval 喷管模拟产生激波边界条件设置问题网址上的案例看了,使用的是层流模型。我使用层流模型也可以跑通。但使用RAS模型加入壁面函数出问题,麻烦李老师给我看看,debug一下
EosNozzleTestUpdate.zip -
求教:Laval 喷管模拟产生激波边界条件设置问题OF9尝试了,还是避免函数有问题,结果如下:
Selecting thermodynamics package { type heRhoThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } Reading field U Reading/calculating face flux field phi Creating turbulence model Selecting turbulence model type RAS Selecting RAS turbulence model kEpsilon RAS { model kEpsilon; turbulence on; printCoeffs on; Cmu 0.09; C1 1.44; C2 1.92; C3 0; sigmak 1; sigmaEps 1.3; } Creating thermophysical transport model Selecting thermophysical transport type RAS Selecting default RAS thermophysical transport model unityLewisEddyDiffusivity Creating field dpdt Creating field kinetic energy K No MRF models present No fvModels present No fvConstraints present #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::nutkWallFunctionFvPatchScalarField::nut() const at ??:? #4 Foam::nutWallFunctionFvPatchScalarField::updateCoeffs() at ??:? #5 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::Boundary::evaluate() in "/home/tsing/OpenFOAM/OpenFOAM-9/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam" #6 Foam::RASModels::kEpsilon<Foam::CompressibleMomentumTransportModel<Foam::dynamicTransportModel> >::correctNut() at ??:? #7 ? in "/home/tsing/OpenFOAM/OpenFOAM-9/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam" #8 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #9 ? in "/home/tsing/OpenFOAM/OpenFOAM-9/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam" Floating point exception (core dumped)
-
求教:Laval 喷管模拟产生激波边界条件设置问题换成层流模型可以。但换成kEpsilon模型,也是在Epsilon壁面函数错误。输出结果如下所示。
PIMPLE: Operating solver in PISO mode Reading thermophysical properties Selecting thermodynamics package { type heRhoThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } Reading field U Reading/calculating face flux field phi Creating turbulence model Selecting turbulence model type RAS Selecting RAS turbulence model kEpsilon RAS { RASModel kEpsilon; turbulence on; printCoeffs on; Cmu 0.09; C1 1.44; C2 1.92; C3 0; sigmak 1; sigmaEps 1.3; } Creating field dpdt Creating field kinetic energy K No MRF models present No finite volume options present Courant Number mean: 4.30558e-05 max: 0.0192008 Starting time loop Courant Number mean: 4.30558e-05 max: 0.0192008 Time = 5e-05 PIMPLE: iteration 1 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 4.88632e-08, No Iterations 1 smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 2.83045e-08, No Iterations 1 smoothSolver: Solving for e, Initial residual = 1, Final residual = 3.20771e-07, No Iterations 3 GAMG: Solving for p, Initial residual = 1, Final residual = 0.00612066, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00680187, Final residual = 3.35179e-05, No Iterations 4 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 7.89239e-08, global = -7.08945e-09, cumulative = -7.08945e-09 GAMG: Solving for p, Initial residual = 0.147326, Final residual = 0.000684668, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00064622, Final residual = 4.92284e-07, No Iterations 5 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.8365e-09, global = -5.67277e-10, cumulative = -7.65673e-09 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in /lib/x86_64-linux-gnu/libpthread.so.0 #3 Foam::epsilonWallFunctionFvPatchScalarField::calculate(Foam::turbulenceModel const&, Foam::List<double> const&, Foam::fvPatch const&, Foam::Field<double>&, Foam::Field<double>&) at ??:? #4 Foam::epsilonWallFunctionFvPatchScalarField::calculateTurbulenceFields(Foam::turbulenceModel const&, Foam::Field<double>&, Foam::Field<double>&) at ??:? #5 Foam::epsilonWallFunctionFvPatchScalarField::updateCoeffs() at ??:? #6 Foam::RASModels::kEpsilon<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > >::correct() at ??:? #7 ? in ~/OpenFOAM/OpenFOAM-v2206/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam #8 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #9 ? in ~/OpenFOAM/OpenFOAM-v2206/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam Floating point exception (core dumped)
-
求教:Laval 喷管模拟产生激波边界条件设置问题想要设置喷管,入口总压102387.1Pa,出口静压42449.07Pa, 入口温度294.45K。采用kOmegaSST湍流模型。但是运行报告湍流边界条件设置有问题。改了好几次都不行,希望各位老师,能帮我看一下,看看是哪里设置存在问题。以下是我的初始条件:
U T p omega nut Ma k alphat
运行报错结果:tsing@tsing:~/OpenFOAM/tsing-v2206/run/EosNozzlePerfect$ rhoPimpleFoam /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2206 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : _76d719d1e6-20220624 OPENFOAM=2206 version=v2206 Arch : "LSB;label=32;scalar=64" Exec : rhoPimpleFoam Date : Feb 24 2025 Time : 18:29:00 Host : tsing PID : 218467 I/O : uncollated Case : /home/tsing/OpenFOAM/tsing-v2206/run/EosNozzlePerfect 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 PIMPLE: Operating solver in PISO mode Reading thermophysical properties Selecting thermodynamics package { type heRhoThermo; mixture pureMixture; transport const; thermo hConst; equationOfState perfectGas; specie specie; energy sensibleInternalEnergy; } Reading field U Reading/calculating face flux field phi Creating turbulence model Selecting turbulence model type RAS Selecting RAS turbulence model kOmegaSST Selecting patchDistMethod meshWave RAS { RASModel kOmegaSST; turbulence on; printCoeffs on; alphaK1 0.85; alphaK2 1; alphaOmega1 0.5; alphaOmega2 0.856; gamma1 0.555556; gamma2 0.44; beta1 0.075; beta2 0.0828; betaStar 0.09; a1 0.31; b1 1; c1 10; F3 false; decayControl false; kInf 0; omegaInf 0; } Creating field dpdt Creating field kinetic energy K No MRF models present No finite volume options present Courant Number mean: 4.30558e-05 max: 0.0192008 Starting time loop Courant Number mean: 4.30558e-05 max: 0.0192008 Time = 5e-05 PIMPLE: iteration 1 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 DILUPBiCGStab: Solving for Ux, Initial residual = 1, Final residual = 8.37036e-10, No Iterations 1 DILUPBiCGStab: Solving for Uy, Initial residual = 1, Final residual = 4.3098e-10, No Iterations 1 DILUPBiCGStab: Solving for e, Initial residual = 1, Final residual = 4.75567e-09, No Iterations 1 GAMG: Solving for p, Initial residual = 1, Final residual = 0.00613491, No Iterations 3 GAMG: Solving for p, Initial residual = 0.00680296, Final residual = 3.5161e-05, No Iterations 4 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 8.28493e-08, global = -7.8312e-09, cumulative = -7.8312e-09 GAMG: Solving for p, Initial residual = 0.147144, Final residual = 0.000685025, No Iterations 3 GAMG: Solving for p, Initial residual = 0.000646506, Final residual = 5.05846e-07, No Iterations 5 diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0 time step continuity errors : sum local = 1.88756e-09, global = -4.94043e-10, cumulative = -8.32524e-09 #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in /lib/x86_64-linux-gnu/libpthread.so.0 #3 Foam::omegaWallFunctionFvPatchScalarField::calculate(Foam::turbulenceModel const&, Foam::List<double> const&, Foam::fvPatch const&, Foam::Field<double>&, Foam::Field<double>&) at ??:? #4 Foam::omegaWallFunctionFvPatchScalarField::calculateTurbulenceFields(Foam::turbulenceModel const&, Foam::Field<double>&, Foam::Field<double>&) at ??:? #5 Foam::omegaWallFunctionFvPatchScalarField::updateCoeffs() at ??:? #6 Foam::kOmegaSSTBase<Foam::eddyViscosity<Foam::RASModel<Foam::EddyDiffusivity<Foam::ThermalDiffusivity<Foam::CompressibleTurbulenceModel<Foam::fluidThermo> > > > > >::correct() at ??:? #7 ? in ~/OpenFOAM/OpenFOAM-v2206/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam #8 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 #9 ? in ~/OpenFOAM/OpenFOAM-v2206/platforms/linux64GccDPInt32Opt/bin/rhoPimpleFoam Floating point exception (core dumped)
-
Openfoam热物理库中状态方程定义类的问题各位老师好,我在看热物理库源码的时候存在一个疑问。在Openfoam中定义各种状态方程类的时候,发现不同的类,计算的变量数目不一样。
例如perfectGas类,计算了5个物理量
linear类,计算了6个物理量
PengRobinsonGas类,计算了9个物理量
这是因为什么?未计算的变量在后面继承的类中是否还会计算?如果我要自己编译一个状态方程,是否所有的变量都要进行定义? -
OpenFOAM中的热物理库@李东岳 感谢李老师
-
OpenFOAM中的热物理库各位老师好,在学习的过程中有个疑惑。
thermoType { type hePsiThermo; mixture pureMixture; ... }
hePsiThermo类与fluidThermo类的区别,或者说关系是什么?
-
空气热物性参数为列表形式时报错:Energy -> temperature conversion failed to converge@gzs20 您好,我也在尝试将热物性改为表的形式,但是我仅仅将rho修改成为列表查询,并没有将其他的热物性修改为列表查询。但是结果显示,我的类里面的H.(scalar p, scalar T)出现问题
-
控制方程仅仅有瞬态项和对流项,UDS如何设置@李东岳 好的,谢谢李老师
-
控制方程仅仅有瞬态项和对流项,UDS如何设置控制方程如下:
在UDS的设置中并没有找到关闭扩散项的选项,请问各位老师,能否通过直接设置扩散率为0来实现关闭扩散项? -
边界层网格问题,ICEM非结构绘制的网格不错,但边角存在问题,有没有高效的修理办法@yingqing 不知道为啥,有一次成功了,在弄就不能成功了。节点的位置进行了设置,但网格的节点与我设置的节点不重合。就像这样
-
边界层网格问题,ICEM非结构绘制的网格不错,但边角存在问题,有没有高效的修理办法 -
边界层网格问题,ICEM非结构绘制的网格不错,但边角存在问题,有没有高效的修理办法@李东岳 是的老师,但我现在没有办法去修复。想不到修复的方法