粘性介质中超声波声波振荡消散时的热场建模
本例演示了超声波辐射在粘性介质中传播的建模。模拟了声波振荡的阻尼和分布式热源对介质的加热。
超声波束通过粘性介质时,其携带的能量会衰减。如果在 处的原点,平面传播波的强度等于 ,那么在距离 x 处,强度会减小到 :
其中 (k) 是强度阻尼系数。因此,原始超声波束在单位距离传播过程中的能量损失k \cdot I$ 。衰减系数 由两部分组成,一部分是吸收,另一部分是散射。从主声束散射出的能量可被粘性介质的其他区域吸收。
利用简单的热传播方程,可以计算出预期的加热。粘性介质的温度分布可用公式描述:
式中: 是温度; 是照射时间; 是沿辐射传播轴的坐标; 是体积热源功率的初始值; 是介质的热容量; 是介质的密度。体积热源功率与坐标的函数关系:
温度场的计算
连接必要的数据库:
In [ ]:
using .DifferentialEquations, Plots
plotly()
Out[0]:
确定辐射和粘性介质参数:
In [ ]:
α = 0.5 # коэффициент теплопроводности Вт / (м*К)
c = 3360.0 # теплоёмкость, Дж/кг*К
γ = 1050.0 # плотность, кг/м3
L = 0.1 # глубина рассматриваемого участка, м
k = 0.35 # Нп/м
I0 = 10000.0 # интенсивность излучения Вт / м2
F = 0.0001 #м2
m = 0.001; #кг
通过时间和坐标实现温度计算功能:
In [ ]:
function heat_equation!(du, u, p, t)
α, I0, c, γ, k, x = p
dx = x[2] - x[1]
N = length(x)
# Первый участок
du[1] = α * F * (1 / (c * m)) * (u[2] - 2u[1] + 320) / dx^2 + I0 / (c * γ) * exp(-k*x[1])
# Промежуточные участки
for i in 2:(N-1)
du[i] = α * F * (1 / (c * m)) * (u[i+1] - 2u[i] + u[i-1]) / dx^2 + I0 / (c * γ) * exp(-k*x[i])
end
# Конечный участок
du[N] = α * F * (1 / (c * m)) * (u[N-1] - u[N]) / dx^2 + I0 / (c * γ) * exp(-k*x[N])
end
Out[0]:
定义计算参数
In [ ]:
x = range(0, stop=1, length=100) # задаем координаты
tspan = (0.0, 2000.0) # временной интервал
u0 = 310.0 .* ones(length(x)) # начальные условия
p = (0.5, I0, 3360.0, 1050.0, k, x) # параметры (α, I0, c, γ, k, L, x)
Out[0]:
实现与坐标相关的热通量计算功能:
In [ ]:
function teplo(x)
return I0 / (c * γ) * exp.(-k*x)
end
Out[0]:
考虑到衰减系数,将热通量值作为坐标函数可视化:
In [ ]:
plot(teplo(x))
Out[0]:
使用微分方程库方法解决问题:
In [ ]:
prob = ODEProblem(heat_equation!, u0, tspan, p)
sol = solve(prob);
在计算的最后一步确定温度场:
In [ ]:
t = 2000.0
idx = argmin(abs.(sol.t .- t))
u_at_t = sol.u[idx];
最后计算步骤的温度场可视化:
In [ ]:
plot(u_at_t)
Out[0]:
结论
本案例研究展示了声波振荡在粘性介质中的传播、阻尼和热能转换建模。我们构建了半无限板的温度场,并演示了微分方程库求解微分方程系统的方法。