QCFD
2023/04/17阅读:61主题:山吹
"Simple" 算法和"SimpleC" 算法
"Simple" 算法和"SimpleC" 算法
"Simple" 算法是一种常用的求解稳态Navier-Stokes方程的迭代算法,其核心思想是在速度和压力之间进行交替迭代求解,通过对速度和压力场进行不断更新来逼近稳定的解。
以下是 "Simple" 算法的推导过程:
-
假设速度场和压力场已知,利用Navier-Stokes方程求解出速度场的更新量,即:
其中 为更新后的速度场, 为当前时刻的速度场, 为时间步长, 为雷诺数, 为外力项。
-
利用速度场的更新量计算出压力场的更新量,即:
其中 为更新后的压力场, 为流体密度。
-
利用压力场的更新量对速度场进行修正,即:
这一步是为了满足连续性方程 ,从而保证速度场和压力场之间的耦合关系。
-
重复以上步骤,直到速度场和压力场收敛。
需要注意的是, "Simple" 算法的收敛速度和精度受到很多因素的影响,如时间步长、迭代次数、边界条件、初始值等。在实际应用中,需要根据具体问题进行调整和优化。
"SimpleC" 算法是 SIMPLE 算法的一个变体,它使用了更加严格的迭代收敛条件,并且对速度和压力场之间的耦合关系进行了更加精确的处理,从而提高了算法的收敛速度和精度。
以下是 "SimpleC" 算法的具体推导过程:
-
假设速度场和压力场已知,利用Navier-Stokes方程求解出速度场的更新量,即:
其中 为更新后的速度场, 为当前时刻的速度场, 为时间步长, 为雷诺数, 为外力项。
-
利用速度场的更新量计算出压力场的更新量,即:
其中 为更新后的压力场, 为流体密度。
-
利用压力场的更新量对速度场进行修正,即:
这一步与 "Simple" 算法相同,是为了满足连续性方程 ,从而保证速度场和压力场之间的耦合关系。
-
利用修正后的速度场计算出新的速度散度项,并与原速度散度项进行比较,如果二者之差小于预先设定的收敛精度,则跳出迭代,否则返回第一步继续迭代。
如果 与 之差小于收敛精度 ,则跳出迭代。
如果未达到收敛精度,则更新速度场和压力场,返回第一步继续迭代。
需要注意的是, "SimpleC" 算法相对于 "Simple" 算法而言,增加了一个速度散度的比较过程,这一步可以有效地减少迭代次数,提高算法的收敛速度和精度。同时,收敛精度的选取也是影响算法性能的一个重要因素。通常情况下,收敛精度应根据具体问题和计算资源进行适当的调整,一般要求能够满足工程需求并尽可能地减少计算时间和资源的消耗。
此外,在实际应用中,还需要考虑如何选择合适的时间步长、迭代次数、边界条件等参数,以及如何处理复杂的流动边界和几何结构。这些因素都会影响算法的收敛性能和计算效率,需要根据具体问题进行综合考虑和优化。
作者介绍