@尚善若水 我现在用的是v2306,测试出来的tc值,如果没有反应就特别大
欧阳
帖子
-
运行结束后输出密度rho -
运行结束后输出密度rhoIOobject ( "Qdot." + Y_[i].name(), this->mesh_.time().timeName(), this->mesh_, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::REGISTER ),
这样修改后,我使用
writeObjects ( "Qdot.OH" );
后,没有输出Qdot.OH
-
运行结束后输出密度rho@尚善若水 喷雾燃烧,当关注一些燃烧的重要时间点,低温反应着火与高温反应着火时间点,还有燃烧衰退时,组分的总放热蛮重要的,尤其当分析出,这个物质的对流,扩散与化学反应哪个占主导后。是的,PaSR
-
运行结束后输出密度rho@尚善若水 大佬有输出过tc吗?我按```
tc[celli] = nReaction*cSum/tc[celli];StandardChemistryModel.C中的修改出现的结果,tc的值特别的大。反应几乎不发生时,特征时间趋于无穷大。但是这些极大值没有实际意义,反而会造成数值问题。
-
运行结束后输出密度rho@尚善若水 写个functionObject,后处理,这个我没有试过,我之前一直都是在调用模型的原代码上修改的。我去学学,
“按照cantera的处理,输出每步反应里面各个组分的放热和每步反应的总放热”
这个是我现在在实现的,每个化学反应步在每个网格的Qdot,然后一些敏感性ODCantera那边的已经实现了,但是这边一直编译的或多或多出现一些问题 -
运行结束后输出密度rho@尚善若水 我现在在我自己的代码的基础上,运行的结果是不管用不用writeObjects指定一些物质。所有物质的热量贡献都会输出
-
运行结束后输出密度rho对于你的问题,我最近也在修改,加入以下代码,然后在类定义中添加成员变量就行了。我这边是可以成功输出每个物质对应的Qdot
template<class ReactionThermo, class ThermoType> Foam::tmp<Foam::volScalarField> Foam::StandardChemistryModel<ReactionThermo, ThermoType>::Qdot() const { tmp<volScalarField> tQdot ( new volScalarField ( IOobject ( "Qdot", this->mesh_.time().timeName(), this->mesh_, IOobject::NO_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER ), this->mesh_, dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ) ); QdotSpecies_; if (!QdotSpecies_.size()) { // 首次调用时初始化 QdotSpecies_.setSize(nSpecie_); forAll(Y_, i) { QdotSpecies_.set ( i, new volScalarField ( IOobject ( "Qdot." + Y_[i].name(), this->mesh_.time().timeName(), this->mesh_, IOobject::NO_READ, IOobject::AUTO_WRITE, IOobject::REGISTER ), this->mesh_, dimensionedScalar(dimEnergy/dimVolume/dimTime, Zero) ) ); } } if (this->chemistry_) { scalarField& Qdot = tQdot.ref(); Qdot = 0.0; forAll(Y_, i) { volScalarField& QdotI = QdotSpecies_[i]; const scalar hi = specieThermo_[i].Hc(); forAll(Qdot, celli) { QdotI[celli] = -hi*RR_[i][celli]; Qdot[celli] += QdotI[celli]; } // 修正边界条件 QdotSpecies_[i].correctBoundaryConditions(); } tQdot.ref().correctBoundaryConditions(); } return tQdot; }
-
ECN登录需要身份验证你是要VPL,LPL,IDT跟FLOL?CMT现在有部分结果没有ECN之前展示的那么多,但是喷雾的拍摄的AVI是有的,你可以自己识别
-
ECN登录需要身份验证去CMT吧,我前段时间也是ECN找spray A的数据进不去了,要不就直接扒拉文章里面的了
-
DLBfoam的编译@尚善若水 DLB跟org的cpuload,大佬测试的哪个性能更好?
-
DLBfoam的编译谢谢,谢谢大佬,太感谢了,大佬使用过DLBfoam吗?
-
ORourke碰撞模型调用//- Space coefficient scalar cSpace_; //- Time coefficient scalar cTime_;
这两个嘛,应该是都需要的
TrajectoryCollision.H这个文件中应该有说明 -
ORourke碰撞模型调用直接调用trajectory就行
-
ORourke碰撞模型调用日历文件的输出有吗?
这是我的,目前是可以计算的,在计算中ORourkeCoeffs { coalescence false; // 是否考虑液滴聚合 }这段代码没有在v2306中会报错 stochasticCollisionModel none;//ORourke;//随机碰撞模型为无。随机碰撞模型描述了颗粒之间的碰撞行为。 ORourkeCoeffs { coalescence false; // 是否考虑液滴聚合 }
-
DLBfoam的编译https://github.com/Aalto-CFD/DLBFoam
请问有人使用过DLBfoam吗?我在编译过程中
./Allwmake --clean --platform STANDALONE
出现的以下的错误,在参考https://github.com/Aalto-CFD/DLBFoam/issues/21的帖子讨论结果后,还是没有解决这个问题wmake libso src/thermophysicalModels/chemistryModel wmake libso src/ODE_DLB wmakeLnInclude: linking include files to ./lnInclude Making dependency list for source file seulex_LAPACK.C g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/usr/include -I/work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include -DDEBUG=0 -IlnInclude -I. -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OpenFOAM/lnInclude -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OSspecific/POSIX/lnInclude -fPIC -c ODESolvers/ODESolver/ODESolver.C -o Make/linux64GccDPInt32Opt/ODESolvers/ODESolver/ODESolver.o g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/usr/include -I/work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include -DDEBUG=0 -IlnInclude -I. -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OpenFOAM/lnInclude -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OSspecific/POSIX/lnInclude -fPIC -c ODESolvers/ODESolver/ODESolverNew.C -o Make/linux64GccDPInt32Opt/ODESolvers/ODESolver/ODESolverNew.o g++ -std=c++11 -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-attributes -O3 -DNoRepository -ftemplate-depth-100 -I/usr/include -I/work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include -DDEBUG=0 -IlnInclude -I. -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OpenFOAM/lnInclude -I/work/opt/local/apps/gcc/4.8.5/impi/2019.9.304/openfoam/8/OpenFOAM-8/src/OSspecific/POSIX/lnInclude -fPIC -c ODESolvers/seulex_LAPACK/seulex_LAPACK.C -o Make/linux64GccDPInt32Opt/ODESolvers/seulex_LAPACK/seulex_LAPACK.o ODESolvers/seulex_LAPACK/seulex_LAPACK.C: In member function ‘bool Foam::seulex_LAPACK::seul(Foam::scalar, const scalarField&, Foam::label, Foam::scalar, Foam::label, Foam::scalarField&, const scalarField&) const’: ODESolvers/seulex_LAPACK/seulex_LAPACK.C:157:53: error: too few arguments to function ‘void dgetrs_(const char*, const int*, const int*, const double*, const int*, const int*, double*, const int*, int*, size_t)’ dgetrs_(&TRANS,&N,&NRHS,A,&LDA,IPIV,b,&LDB,&INFO); ^ In file included from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:11:0, from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke.h:36, from ODESolvers/seulex_LAPACK/seulex_LAPACK.H:58, from ODESolvers/seulex_LAPACK/seulex_LAPACK.C:28: /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4043:42: note: declared here #define LAPACK_dgetrs_base LAPACK_GLOBAL(dgetrs,DGETRS) ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke_mangling.h:12:39: note: in definition of macro ‘LAPACK_GLOBAL’ #define LAPACK_GLOBAL(lcname,UCNAME) lcname##_ ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4044:6: note: in expansion of macro ‘LAPACK_dgetrs_base’ void LAPACK_dgetrs_base( ^ ODESolvers/seulex_LAPACK/seulex_LAPACK.C:211:61: error: too few arguments to function ‘void dgetrs_(const char*, const int*, const int*, const double*, const int*, const int*, double*, const int*, int*, size_t)’ dgetrs_(&TRANS,&N,&NRHS,A,&LDA,IPIV,b,&LDB,&INFO); ^ In file included from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:11:0, from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke.h:36, from ODESolvers/seulex_LAPACK/seulex_LAPACK.H:58, from ODESolvers/seulex_LAPACK/seulex_LAPACK.C:28: /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4043:42: note: declared here #define LAPACK_dgetrs_base LAPACK_GLOBAL(dgetrs,DGETRS) ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke_mangling.h:12:39: note: in definition of macro ‘LAPACK_GLOBAL’ #define LAPACK_GLOBAL(lcname,UCNAME) lcname##_ ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4044:6: note: in expansion of macro ‘LAPACK_dgetrs_base’ void LAPACK_dgetrs_base( ^ ODESolvers/seulex_LAPACK/seulex_LAPACK.C:268:57: error: too few arguments to function ‘void dgetrs_(const char*, const int*, const int*, const double*, const int*, const int*, double*, const int*, int*, size_t)’ dgetrs_(&TRANS,&N,&NRHS,A,&LDA,IPIV,b,&LDB,&INFO); ^ In file included from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:11:0, from /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke.h:36, from ODESolvers/seulex_LAPACK/seulex_LAPACK.H:58, from ODESolvers/seulex_LAPACK/seulex_LAPACK.C:28: /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4043:42: note: declared here #define LAPACK_dgetrs_base LAPACK_GLOBAL(dgetrs,DGETRS) ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapacke_mangling.h:12:39: note: in definition of macro ‘LAPACK_GLOBAL’ #define LAPACK_GLOBAL(lcname,UCNAME) lcname##_ ^ /work/00/gs50/s50001/lapack-3.10.1/LAPACKE/include/lapack.h:4044:6: note: in expansion of macro ‘LAPACK_dgetrs_base’ void LAPACK_dgetrs_base( ^ make: *** [Make/linux64GccDPInt32Opt/ODESolvers/seulex_LAPACK/seulex_LAPACK.o] Error 1