FluentDPM模型-双向耦合之颗粒非稳态跟踪-转载https://zhuanlan.zhihu.com/p/51749
非稳态追踪方式-颗粒相为瞬态:指每隔若干个连续相流场迭代步,对每个颗粒进行一轮包括一步或多步的轨迹计算及源项计算,从而将颗粒逐轮、逐步地沿轨迹向前推进,依次得到每一步计算后更新的颗粒状态(位置、速度、尺寸、温度等)。非稳态方式得到某一时刻全部颗粒的当前状态。
颗粒相为瞬态时:
(1)颗粒相为瞬态,连续相为稳态
选中Particle Treatment下Unsteady Particle Treating,此时颗粒相和连续相必须是耦合的(双向耦合),即必须选择Interaction with Continuous Phase 选项,并指定大于0的 Number of Continuous Phase Iterations Per DPM Iteration值。
系统默认∶Inject Particles at下选择Fluid Flow Time Step(在连续相计算前释放颗粒)。(需指定颗粒时间步长Particle Time Step Size、颗粒时间步数Number of Time Steps、喷射起始时间、终止时间)。

颗粒轨迹追踪方式:每隔此连续相迭代步数,DPM求解器对每个颗粒进行一轮包含一步或多步的轨迹计算。每一步,DPM求解器计算颗粒从当前状态(位置、速度、尺寸、温度等)起在积分时间(即一个颗粒时间步长Particle Time Step Size)内的运动轨迹以及动量、质量和能量损益,并得到更新的颗粒状态。同时,在每一个颗粒时间步喷射一次颗粒。一轮轨迹计算得到的分散相颗粒的动量、质量和能量损益将在下一个连续相迭代步计入连续相源项。积分时间步长Particle Time Step Size和每一轮的步数Number of Time Steps由用户给定。这样,随着连续相迭代的进行,颗粒将逐轮、逐步地向前推进。
操作过程:
1)如上图,连续相每次迭代10步,开始进行离散相的计算。
2)Particle time step size 进行颗粒轨迹计算的时间间隔步长,如为0.001s代表颗粒相每0.001s 追踪一次,但是,在开始计算阶段,粒子一边释放一边追踪,释放完成后也在追踪。
3)Number of time steps 代表每次追踪的步数,当然,开始阶段是在不断释放颗粒,你会看到颗粒数不断增加。
4)确定Tracking一行的参数设置
Max.number of steps和Specify Length Scale:每一次轨迹跟踪的最大积分时间步数和积分长度标尺,都是为了确定积分时间步长∆t,前面也有阐述。
选择Specify Length Scale 选项以确定积分时间步长时,积分时间步长约等于所给的长度尺度(Length Scale)除以颗粒相对于连续相的速度大小。而积分步数约等于颗粒时间步长(Particle Time Step Size)除以积分时间步长,但以Max Number of Steps为限(因此:积分时间步长∆t<颗粒时间步长Particle Time Step Size∆tp)。所以,如 Max Number of Steps 不够大,则未到颗粒时间步长就结束一个颗粒时间步,并转入下一个颗粒时间步,因而颗粒终了状态报告为 incomplete。
5)设置颗粒释放start time 和 stop time。

start time 代表开始释放粒子的时刻,认为应在在流体流完整个流道再开始注射,流体流过模型的长度 L 除以速度 V,即 Start=L/V 合适。
(2)颗粒相为瞬态,连续相为瞬态(相同时间步长)
当连续相与颗粒相均选择采用瞬态时,此时关于时间步长的选择可以有两种方式∶采用颗粒相指定的时间步长(采用与连续相不同的时间步长),或采用连续相时间步长(称为采用与连续相相同的时间步长)。
当采用采用连续相时间步长(称为采用与连续相相同的时间步长)时:
选中Particle Treatment下Unsteady Particle Treating,此时颗粒相和连续相必须是耦合的(双向耦合),即必须选择Interaction with Continuous Phase 选项,并指定大于0的 Number of Continuous Phase Iterations Per DPM Iteration值。
系统默认:Particle Treatment下选择Track with Fluid Flow Time Step,Inject Particles at:Fluid Flow Time Step,即可采用与连续相相同的时间步长进行计算。
跟随外场在连续相计算前释放颗粒,每个外流场时间步内进行一轮或多轮DPM计算,颗粒时间步长取决于外流场时间步长,时间步数取决于起止时间和外流场时间步数。

Max Number of Steps是在每一步颗粒轨迹计算中的最大积分时间步数,积分时间步达到此数,该步颗粒轨迹计算即停止,并报告颗粒终了状态为incomplete。这两个"步"容易混淆,前者是"大步"(当颗粒相跟踪采用与连续相相同时间步长时,这个“每一步”颗粒轨迹计算的所为步数、步长与连续相相同);后者是"小步"(即上文中:每一步颗粒轨迹计算中的最大积分时间步数),是数值积分时间步。
在一步颗粒轨迹计算中,积分时间步长约等于颗粒经过一个控制容积所需时间除以 Step Length Factor,也就是颗粒分几步走过一个控制容积的每一步时长。
(3)颗粒相为瞬态,连续相为瞬态(不同时间步长)
当颗粒相采用与连续相不同的时间步长时:
选中Particle Treatment下Unsteady Particle Treating,此时颗粒相和连续相必须是耦合的(双向耦合),即必须选择Interaction with Continuous Phase 选项,并指定大于0的 Number of Continuous Phase Iterations Per DPM Iteration值。
在Particle Treatment下不选择Track with Fluid Flow Time Step,Inject Particles at下可选Particle Time Step或Fluid Flow Time Step,然后通过显式指定颗粒相时间步长 Particle Time Step Size进行计算。

在每一次 DPM 计算时,颗粒都会从当前位置向前推进,直到到达当前时间步结束后的新的位置。颗粒采用的时间步为指定的 Particle Time Step Size,△tp;因此 DPM迭代的时间步数为△tflow/△tp,最小值为1。
当迭代步数不同时,则存在颗粒入射的问题,FLUENT提供了两种方式∶(1)Particle Time Step∶在每一个颗粒时间步入射颗粒。(2)Fluid Flow Time Step∶在每一个流动时间步入射颗粒。
Inject Particles at:Fluid Flow Time Step∶ 颗粒时间步长单独控制,释放时刻取决于起止时间,仍然在连续相计算前释放粒子,每个颗粒时间步内可进行多轮 DPM轨迹积分。时间步数取决于起止时间和外流场时间总步数。
Inject Particles at:Particle Time Step∶ 颗粒释放时刻为颗粒时间步开始时。需要指定颗粒时间步长(两次颗粒释放的时间间隔)、起止时间。不一定在连续相计算前释放粒子,这取决于上面个参数的设定。每个时间步内可进行一轮或多轮 DPM轨迹积分。总的颗粒时间步数取决于起止时间和外流场时间总步数。
举例:选择Inject Particle at Time Step,时间步长设为0.005,Particle Time Step Size 设为 0.001,则粒子在本时间步内释放了五次,可以总结:Track with Fluid Flow Time Step,则颗粒在一个时间步内只在计算连续相前释放一次;Inject Particles at,Particle Time Step,则释放次数=时间步长/Particle Time Step Size。