I'm simulating the heating generated by the use of ultrasound in the brain. The ultrasound simulation is working fine, but I am having difficulties with the temperature simulation. How do I convert pressure aplied into deposited heat? I found a conversion here on the forum, but I don't understand why:
source.Q = alpha_np.*sensor_data.p_max_all.^2./(medium.density .* medium.sound_speed);
I appreciate any help.
The whole temperatura simulation is:
clear source;
medium.thermal_conductivity = thermal_conductivity_water*ones(Nx,Ny);
medium.thermal_conductivity(head_mask==1) = thermal_conductivity_bone;
medium.specific_heat = specific_heat_water*ones(Nx,Ny);
medium.specific_heat(head_mask==1) = specific_heat_bone;
alpha_np = db2neper(medium.alpha_coeff, medium.alpha_power)...
*(2 * pi * source_freq).^medium.alpha_power;
dt = 0.001;
source.Q = alpha_np.*sensor_data.p_max_all.^2./(medium.density .* medium.sound_speed);
source.T0 = 37;
input_args = {'PlotSim', true};
kdiff = kWaveDiffusion(kgrid, medium, source, [], input_args{:});
on_time = duration_of_stimulus; % [s]
off_time = 60; % [s]
kdiff.takeTimeStep(round(on_time / dt), dt);
T1 = kdiff.T;
kdiff.Q = 0;
dt = 0.1;
kdiff.takeTimeStep(round(off_time / dt), dt);
T2 = kdiff.T;