粘性介质超声振动散射过程中的热场模拟
本例演示了超声辐射在粘性介质中的传播模拟。 由于分布式热源,声学振动的衰减和介质的加热被建模。
超声波束携带的能量在通过粘性介质时衰减。 如果在原点 平面行波的强度为 ,则在距离x处它减小到 :
其中(k)为强度衰减系数。 因此,初始超声波束在其在单个距离上传播期间的能量损失, $\frac{dI}{dx}$,均等于 . 衰减系数, ,由两个成分组成,一个是由于吸收,另一个是由于散射。 从主光束散射的能量可以在粘性介质的其他区域被吸收。
使用简单的热传播方程,可以计算出预期的加热。 粘性介质的温度分布由方程描述:
哪里 -温度, -曝光时间, -沿辐射传播轴的坐标, -体积热源功率的初始值, -介质的热容量, -介质的密度。 体积源的功率取决于坐标:
温度场的计算
连接必要的库:
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]:
使用DifferentialEquations库方法解决问题:
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]:
结论
在这个例子中,模拟了粘性介质中声振动的传播,以及它们的衰减和能量转化为热量。 构建了一个半无限板的温度场,并演示了微分方程求解系统的微分等效库的方法。