内容纲要
本文简单描述多孔介质区域计算中的粘性系数与惯性系数计算。
Fluent中的多孔介质需要用户指定各方向的粘性阻力系数与惯性阻力系数。这两个系数矩阵用于确定各方向压力降与速度之间的函数关系,从而利用速度计算压力损失。计算详方式参见Fluent UserGuide7.2.3.8.11。
这其中涉及到函数拟合。
Fluent中多孔介质区域压降与速度之间的拟合函数形式为:
其中:
其中C2为惯性阻力系数;ρ为流体的密度,kg/m3;Δn为沿着该方向的多孔介质区域厚度,m。当通过函数拟合得到参数a之后,即可求得惯性阻力系数C2。
拟合公式中:
式中,1/α为粘性阻力系数,μ为动力粘度,kg/(m-s)。
其中核心问题是输入数据的函数拟合。这可以使用scipy库中的curv_fit来实现。(函数拟合的方式很多,excel、matlab都可以很轻松实现)
采用以下的代码实现Fluent用户文档7.2.3.8.11中示例的函数拟合。
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import numpy as np
x = np.array([20.0,50,80,110])
y = np.array([197.8,948.1,2102.5,3832.9])
'''
指定的公式
'''
def func(x,a,b):
return a*x*x+b*x
popt, pcov = curve_fit(func, x, y)#函数拟合
a=popt[0]
b=popt[1]
yvals=func(x,a,b)
plot1=plt.plot(x, y, 'd',label='original values')
plot2=plt.plot(x, yvals, 'r',label='$fit: Δp=%5.5fv^2+%5.5fv$' % tuple(popt))
plt.xlabel('Velocity(m/s)')
plt.ylabel('PressureDrop(Pa)')
plt.legend(loc=2)
plt.show()
得到系数a=0.27194,b=4.85211。文档中给出的a为0.27394,b为4.68816。各位道友也可以自己编写拟合程序。
Excel中拟合得到的公式如下图所示,其中a=0.2719,b=4.8521,与scipy拟合的完全相同。
END
正在努力将这部分功能做到CFD工具箱中。微信小程序对表格输入的支持真的是太不友善了,使劲想办法中~
本篇文章来源于微信公众号: CFD之道
评论前必须登录!
注册