dsmcFoamPlus定义非定常边界条件的方法
-
@coolhhh 您好,关于不同时刻 inlet 的结果,使用 timeVaryingMappedFixedValue 时不同时刻数据没有差异,这显然不太正常。而用 uniformFixedValue 时则有差异。但二者都没能改变 inlet 上的 U 值计算结果(该边界模型,物理量的边界条件和物理量的值分开存放)。同样的设置我在 pimpleFoam 算例中是能实现的,因此大概率还是求解器导致的问题。我现在在尝试读 dsmcFoamPlus 中边界条件的源代码,看看能否找到原因。dsmcFreeStreamInflowFieldPatch.C dsmcFreeStreamInflowFieldPatch.H
另外我将 endTime 与数据文件夹最大时刻相等,问题仍然存在,我想可以排除这个因素。 -
@coolhhh 您好,我有一个新的猜想,根据求解器日志文件log.dsmcFoam+ 第37到77行,生成边界(读取模型、边界上物理量)时对应的时间是初始时刻(0),而后开始时间循环,且之后再没有出现过边界相关的日志信息。猜测 dsmcFoam+ 在开始计算前就将所有边界条件设置好,自动忽略初始时刻以外的边界条件,这就能解释我遇到的问题。可是不太清楚解决方法...
-
@做在江湖 保存
dsmcFoam
不同时刻结果,比如0.5s
的结果,此时0.5s
结果的U
文件中,inlet
面的边界条件是否还是timeVaryingMappedFixedValue
类型,还是更改了其他的?我曾经
0
文件设置了timeVaryingMappedFixedValue
,pisoFoam
求解器中想通过一些操作改变入口加载的速度,但似乎没有成功,都依然最后按照timeVaryingMappedFixedValue
加载的风速进行计算。也可能是我当时哪里没写对现在你的问题确实像是
dsmcFoam
改变了timeVaryingMappedFixedValue
-
@做在江湖 我测试了of2206一个自带算例
freeSpaceStream
,测试boundaryU
设置timeVaryingMappedFixedValue
,dsmcFoam
计算结果确实只加载了第0
时间步的结果,但不同时刻保存的结果都是value nonuniform List<vector>
inlet { type timeVaryingMappedFixedValue; fieldTable boundaryU; mapMethod nearest; offset constant (0 0 0); value nonuniform List<vector> 256 ( (299.1814153 29.37670706 68.29947456) (299.4299067 29.62701704 68.44470993) (299.6766025 29.87764649 68.59053715)
pisoFoam
的pEqn.H
有U.correctBoundaryConditions()
更新边界值。简单看了dsmcFoam
求解器代码,没有correctBoundaryConditions
,不太清楚是否跟这个有关 -
@做在江湖 搜了DSMCCloud.C,其他物理量有使用
correctBoundaryConditions
,但boundaryU
没有这个操作,是否可以尝试在某个地方把boundaryU.correctBoundaryConditions()
加上,看看是否有效果 -
@做在江湖
correctBoundaryConditions
参考贴子 关于压力场边界更新的实现机制的疑问我测试
dsmcFoam
算例结果是,boundaryU
每个时刻都一样,没有更新。所以猜测是否跟没执行correctBoundaryConditions
有关
14/16