<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>k-Wave User Forum &#187; Topic: heat generated by HIFU</title>
		<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Tue, 12 May 2026 21:32:06 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://www.k-wave.org/forum/search.php</link>
		</textInput>
		<atom:link href="http://www.k-wave.org/forum/rss/topic/heat-generated-by-hifu" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-7699</link>
			<pubDate>Mon, 20 Jul 2020 09:27:56 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">7699@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;HI Xiaopeng,&#60;/p&#62;
&#60;p&#62;(1) Yes. Have a look a the &#60;a href=&#34;http://www.k-wave.org/documentation/example_diff_focused_ultrasound_heating.php&#34;&#62;Heating By A Focused Ultrasound Transducer&#60;/a&#62; for an example. You can reduce the number of cycles to 1 to save memory. If the simulation is in steady state, you will get the same answer. I normally record 3 just so I can check the simulation has actually reached steady state.&#60;/p&#62;
&#60;p&#62;(2) Recording just a 2D slice won't give you the same answer I'm afraid. One option would be to record &#60;code&#62;p_max_all&#60;/code&#62; (still setting the record start index to only start recording when the simulation is in steady state), and then calculate I from p using a plane wave relationship.&#60;/p&#62;
&#60;p&#62;(3) If recording p as suggested above, then I_pa = p^2 / (2 * density * sound speed). To get the spatial peak, take the biggest value anywhere in the field. To get the time average intensity, multiply by the duty cycle.&#60;/p&#62;
&#60;p&#62;Hope the helps,&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Xiaopeng on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-7673</link>
			<pubDate>Sun, 28 Jun 2020 13:26:32 +0000</pubDate>
			<dc:creator>Xiaopeng</dc:creator>
			<guid isPermaLink="false">7673@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Brad,&#60;/p&#62;
&#60;p&#62;I have three questions for you.&#60;/p&#62;
&#60;p&#62;1、If I run an acoustic model to record the last three-period pressure signals until the field reaches steady-state, should I have to use CW signals to excite the transducer instead of toneBrust signals?&#60;/p&#62;
&#60;p&#62;2、If I would like to simulate acoustic and thermal 3D nonlinear models in a heterogeneous medium, do I have to record the acoustic pressure time-varying signals in the whole domain in the 3D field? For the large scale simulation, it seems to be a great chanllege for computer memory. Therefore, can I just record one time-varying 2D plane in 3D acoustic simulation and then execute the 3D thermal simulation?&#60;/p&#62;
&#60;p&#62;3、How to calculate the spatial-peak temporal average intensity(Ispta) and spatial-peak pulse average intensity(Isppa) in the kWave toolbox? I find that maybe I can get the average acoustic intensity through setting the sensor.record={'I_avg'}. But how can I calculate the Ispta through average acoustic intensity?&#60;/p&#62;
&#60;p&#62;Thank you very much in advance.&#60;/p&#62;
&#60;p&#62;Xiaopeng
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-6484</link>
			<pubDate>Thu, 14 Jun 2018 22:39:14 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">6484@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi lbruju,&#60;/p&#62;
&#60;p&#62;If the acoustic and thermal models are not coupled, then after the acoustic field reaches steady state, it no longer changes (you could run it for 1 second or 1 minute, and the answer would be the same). So you run the acoustic model until the field reaches steady state (e.g., on the order of microseconds), calculate the volume rate of heat-deposition, and then run the heat model.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>lbruju on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-6472</link>
			<pubDate>Fri, 25 May 2018 09:12:10 +0000</pubDate>
			<dc:creator>lbruju</dc:creator>
			<guid isPermaLink="false">6472@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi, &#60;/p&#62;
&#60;p&#62;I have a question regarding kWaveDiffusion function. At the beginning, p is calculated with kspaceFirstOrder3D for each time step. So the last pressure field is obtained for a time: &#60;code&#62;t=Nt*dt&#60;/code&#62; (some micro seconds in my simulation). Then the volume rate of heat deposition, Q, is calculated from the extracted amplitude of p. And Q is then used for computing the temperature field. &#60;/p&#62;
&#60;p&#62;With my understanding, the last temperature field could be obtained for a maximum exposition time of &#60;code&#62;Nt*dt&#60;/code&#62; (i.e some micro seconds like for pressure field). So I don't understand why is it possible to choose an exposition time longer than the duration &#60;code&#62;Nt*dt&#60;/code&#62; (for example choose &#60;code&#62;on_time=5 %[s]&#60;/code&#62;)?&#60;/p&#62;
&#60;p&#62;Thanks,&#60;br /&#62;
lbruju
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-6237</link>
			<pubDate>Tue, 12 Dec 2017 23:03:26 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">6237@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Tahere,&#60;/p&#62;
&#60;p&#62;Your peak volume rate of heat deposition is extremely high ~1e13 W/m^3. I'd expect something more like ~1e9 W/m^3 (or less) for a HIFU source.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>tahere on "heat generated by HIFU"</title>
			<link>http://www.k-wave.org/forum/topic/heat-generated-by-hifu#post-6222</link>
			<pubDate>Thu, 07 Dec 2017 23:17:39 +0000</pubDate>
			<dc:creator>tahere</dc:creator>
			<guid isPermaLink="false">6222@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;hi dear professor bradley treeby&#60;br /&#62;
I considered the heat source as a 3-d Gaussian function and  I want to know the temperature in the xy-plane in front of HIFU.but I think the temperature after heating and cooling is unreasonable.may you tell me what is the problem?&#60;br /&#62;
thanks in advance&#60;br /&#62;
here is my code&#60;br /&#62;
%% set the size of the perfectly matched layer (PML)&#60;br /&#62;
PML_X_SIZE = 10;            % [grid points]&#60;br /&#62;
PML_Y_SIZE = 10;            % [grid points]&#60;br /&#62;
PML_Z_SIZE = 10;            % [grid points]&#60;br /&#62;
%% set total number of grid points not including the PML&#60;br /&#62;
Nx = 120- 2*PML_X_SIZE;    % [grid points]&#60;br /&#62;
Ny = 120- 2*PML_Y_SIZE;     % [grid points]&#60;br /&#62;
Nz = 120- 2*PML_Z_SIZE;     % [grid points]&#60;/p&#62;
&#60;p&#62;%% set desired grid size in the x-direction not including the PML&#60;br /&#62;
x = .1;                  % [m]&#60;/p&#62;
&#60;p&#62;%% calculate the spacing between the grid points&#60;br /&#62;
dx = x/Nx;                  % [m]&#60;br /&#62;
dy = dx;                    % [m]&#60;br /&#62;
dz = dx;                    % [m]&#60;br /&#62;
%% create the k-space grid&#60;br /&#62;
kgrid =kWaveGrid(Nx, dx, Ny, dy, Nz, dz);&#60;br /&#62;
x1=linspace(0,.1,100);&#60;br /&#62;
y1=x1;&#60;br /&#62;
z1=x1;&#60;br /&#62;
[X,Y,Z] = meshgrid(x1,y1,z1);&#60;br /&#62;
Q=((2.34e4)*exp(-power(((X-.05)/.004284),2))).*((2.34e4)*exp(-power(((Y-.05)/.004284),2))).*((2.008e4)*exp(-power(((Z-.01153)/.02147),2)));&#60;/p&#62;
&#60;p&#62;clear medium source sensor;&#60;/p&#62;
&#60;p&#62;% set the background temperature and heating term&#60;br /&#62;
source.Q = Q;&#60;br /&#62;
source.T0 = 37;&#60;/p&#62;
&#60;p&#62;% define medium properties related to diffusion&#60;br /&#62;
medium.density              = 1020;     % [kg/m^3]&#60;br /&#62;
medium.thermal_conductivity = 0.5;      % [W/(m.K)]&#60;br /&#62;
medium.specific_heat        = 3600;     % [J/(kg.K)]&#60;/p&#62;
&#60;p&#62;% create kWaveDiffusion object&#60;br /&#62;
kdiff = kWaveDiffusion(kgrid, medium, source, []);&#60;/p&#62;
&#60;p&#62;% set source on time and off time&#60;br /&#62;
on_time  = 1;  % [s]&#60;br /&#62;
off_time = 20;  % [s]&#60;/p&#62;
&#60;p&#62;% set time step size&#60;br /&#62;
dt = 0.1;&#60;/p&#62;
&#60;p&#62;% take time steps&#60;br /&#62;
kdiff.takeTimeStep(round(on_time / dt), dt);&#60;/p&#62;
&#60;p&#62;% store the current temperature field&#60;br /&#62;
T1 = kdiff.T;&#60;/p&#62;
&#60;p&#62;% turn off heat source and take time steps&#60;br /&#62;
kdiff.Q = 0;&#60;br /&#62;
kdiff.takeTimeStep(round(off_time / dt), dt);&#60;/p&#62;
&#60;p&#62;% store the current temperature field&#60;br /&#62;
T2 = kdiff.T;&#60;/p&#62;
&#60;p&#62;% =========================================================================&#60;br /&#62;
% VISUALISATION&#60;br /&#62;
% =========================================================================&#60;/p&#62;
&#60;p&#62;% plot the thermal dose and lesion map&#60;br /&#62;
figure;&#60;/p&#62;
&#60;p&#62;% plot the volume rate of heat deposition&#60;br /&#62;
subplot(3, 1, 1);&#60;br /&#62;
imagesc(kgrid.y_vec * 1e3, kgrid.x_vec * 1e3, Q(:,:,50) * 1e-7);&#60;br /&#62;
h = colorbar;&#60;br /&#62;
xlabel(h, '[kW/cm^3]');&#60;br /&#62;
ylabel('x-position [mm]');&#60;br /&#62;
xlabel('y-position [mm]');&#60;br /&#62;
axis image;&#60;br /&#62;
title('Volume Rate Of Heat Deposition');&#60;/p&#62;
&#60;p&#62;% plot the temperature after heating&#60;br /&#62;
subplot(3, 1, 2);&#60;br /&#62;
imagesc(kgrid.y_vec * 1e3, kgrid.x_vec * 1e3, T1(:,:,50));&#60;br /&#62;
h = colorbar;&#60;br /&#62;
xlabel(h, '[degC]');&#60;br /&#62;
ylabel('x-position [mm]');&#60;br /&#62;
xlabel('y-position [mm]');&#60;br /&#62;
axis image;&#60;br /&#62;
title('Temperature After Heating');&#60;br /&#62;
% plot the temperature after cooling&#60;br /&#62;
subplot(3, 1, 3);&#60;br /&#62;
imagesc(kgrid.y_vec * 1e3, kgrid.x_vec * 1e3, T2(:,:,50));&#60;br /&#62;
h = colorbar;&#60;br /&#62;
xlabel(h, '[degC]');&#60;br /&#62;
ylabel('x-position [mm]');&#60;br /&#62;
xlabel('y-position [mm]');&#60;br /&#62;
axis image;&#60;br /&#62;
title('Temperature After Cooling');
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
