Engee 文档
Notebook

粘性介质超声振动散射过程中的热场模拟

本例演示了超声辐射在粘性介质中的传播模拟。 由于分布式热源,声学振动的衰减和介质的加热被建模。

超声波束携带的能量在通过粘性介质时衰减。 如果在原点 平面行波的强度为 ,则在距离x处它减小到 :

其中(k)为强度衰减系数。 因此,初始超声波束在其在单个距离上传播期间的能量损失, $\frac{dI}{dx}$,均等于 . 衰减系数, ,由两个成分组成,一个是由于吸收,另一个是由于散射。 从主光束散射的能量可以在粘性介质的其他区域被吸收。

使用简单的热传播方程,可以计算出预期的加热。 粘性介质的温度分布由方程描述:

哪里 -温度, -曝光时间, -沿辐射传播轴的坐标, -体积热源功率的初始值, -介质的热容量, -介质的密度。 体积源的功率取决于坐标:

温度场的计算

连接必要的库:

In [ ]:
using .DifferentialEquations, Plots
plotly()
Out[0]:
Plots.PlotlyBackend()

辐射和粘性介质参数的测定:

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]:
heat_equation! (generic function with 1 method)

计算参数的确定:

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]:
(0.5, 10000.0, 3360.0, 1050.0, 0.35, 0.0:0.010101010101010102:1.0)

根据坐标实现热流计算函数:

In [ ]:
function teplo(x)
    return I0 / (c * γ) * exp.(-k*x)
end
Out[0]:
teplo (generic function with 1 method)

在考虑衰减系数的情况下,根据坐标显示热流值:

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]:

结论

在这个例子中,模拟了粘性介质中声振动的传播,以及它们的衰减和能量转化为热量。 构建了一个半无限板的温度场,并演示了微分方程求解系统的微分等效库的方法。