固体模型

固体设置

启用 SOLIDS 求解器并指定 DEM 和 PIC 模型通用的选项。以下输入必须以 “solids.” 为前缀

描述

类型

默认值

types

指定 SOLIDS 类型的名称或无以禁用 SOLIDS 求解器。用户定义的 名称用于指定 DEM 和/或 PIC 模型输入。

String

None

molecular_weight

固体的恒定分子量值

Real

0

specific_heat

指定用于固体的比热模型。可用选项包括:

  • ‘constant’ 表示恒定比热模型

String

None

specific_heat.constant

物种分子量的值。[如果 fluid.specific_heat = ‘constant’ 必须 指定]。

Real

0

reference_temperature

用于比焓的参考温度值

Real

0

species

指定可以构成流体相的物种 [定义的物种必须是 species.solve 参数的子集]。

String

None

newton_solver.absolute_tol

定义阻尼牛顿求解器的绝对容差

Real

1.e-6

newton_solver.relative_tol

定义阻尼牛顿求解器的相对容差

Real

1.e-6

newton_solver.max_iterations

定义阻尼牛顿求解器的最大迭代次数

int

100

下面是一个指定固体求解器模型选项的示例。

solids.types = my_solid0  my_solid1

solids.reference_temperature = 298.15

solids.specific_heat = mixture

solids.species = Fe2O3  FeO

DEM 模型设置

启用 DEM 求解器并指定模型选项。

描述

类型

默认值

dem.solve

指定 DEM 类型的名称或无以禁用 DEM 求解器。用户定义的名称用于指定 DEM 模型输入。

String

None

dem.friction_coeff.pp

摩擦系数 :: 粒子与粒子碰撞 [必需]

Real

0

dem.friction_coeff.pw

摩擦系数 :: 粒子与墙壁碰撞 [必需]

Real

0

dem.spring_const.pp

正常弹簧常数 :: 粒子与粒子碰撞 [必需]

Real

0

dem.spring_const.pw

正常弹簧常数 :: 粒子与墙壁碰撞 [必需]

Real

0

dem.spring_tang_fac.pp

切向与法向弹簧常数因子 :: 粒子与粒子碰撞

Real

0.2857

dem.spring_tang_fac.pw

切向与法向弹簧常数因子 :: 粒子与墙壁碰撞

Real

0.2857

dem.damping_tang_fac.pp

切向阻尼系数与法向阻尼系数的关系因子 :: 粒子与粒子碰撞

Real

0.5

dem.damping_tang_fac.pw

切向阻尼系数与法向阻尼系数的关系因子 :: 粒子与墙壁碰撞

Real

0.5

dem.implicit_drag

应用流体-粒子拖曳力通过 隐式速度更新

int

0

以下输入使用通过 dem.solve 输入指定的 DEM 类型名称来定义恢复系数,并以 dem.restitution_coeff 为前缀。必须为所有固体-固体和固体-墙壁组合定义。

描述

类型

默认值

[solid0].[solid1]

指定 solid0 和 solid1 之间的恢复系数。这里,顺序不重要,可以定义为 [solid1].[solid0]

Real

0

[solid0].wall

指定 solid0 和墙壁之间的恢复系数。顺序不重要,可以定义为 wall.[solid0]

Real

0

下面是为两个 DEM 固体指定输入的示例。

dem.solve = sand  char

dem.friction_coeff.pp     =     0.25
dem.friction_coeff.pw     =     0.15

dem.spring_const.pp       =   100.0
dem.spring_const.pw       =   100.0

dem.spring_tang_fac.pp    =     0.2857
dem.spring_tang_fac.pw    =     0.2857

dem.damping_tang_fac.pp   =     0.5
dem.damping_tang_fac.pw   =     0.5

dem.restitution_coeff.sand.sand =  0.85
dem.restitution_coeff.sand.char =  0.88
dem.restitution_coeff.char.char =  0.90

dem.restitution_coeff.sand.wall =  0.85
dem.restitution_coeff.char.wall =  0.89

隐式拖曳

默认情况下,流体-粒子拖曳力被显式应用于粒子,

\[u_p^{n^{\prime}+1} = u_p^{n^\prime} + dt_{\mathrm{DEM}}\left(\beta^n (u_f^{n+1} - u_p^{n}) + \mathcal{F}_p^{n^\prime}\right)/m_p\]

其中 \(u_p\)p-th 粒子在指定时间层次的速度, \(\beta^n\) 是拖曳系数, \(u_f^{n+1}\) 是流体速度, \(\mathcal{F}_p\) 是所有非拖曳力(例如,重力、浮力、碰撞等),以及 \(m_p\) 是粒子质量。 由于流体和粒子模型的耦合方式以及粒子通常在时间上进行子步进,术语存在于不同的时间层次。特别地,一个时间步进将流体从 \(t^n\) 推进到 \(t^{n+1}\),然后粒子在相同的总时间内进行多次较小的时间步进。在上述方程中,标记表示在每个 DEM 子步更新的量。

当启用 隐式拖曳 时,更新的粒子速度 \(u_p^{n^{\prime}+1}\) 被代入拖曳表达式中。

\[u_p^{n^{\prime}+1} = \frac{u_p^{n^\prime} + dt_{\mathrm{DEM}}\left( \beta^n u_f^{n+1} + \mathcal{F}_p^{n^\prime} \right)/m_p}{1 + dt_{\mathrm{DEM}} \beta^n / m_p}\]

通过使用更新的速度,为流体和粒子计算的拖曳力是不一致的,且相间动量不守恒。然而,当粒子密度远小于流体密度(例如气泡)时,可能需要隐式拖曳以实现数值稳定性。

PIC 模型设置