<?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: Incorrect photoacoustic signals in the 3D simulation</title>
		<link>http://www.k-wave.org/forum/topic/incorrect-photoacoustic-signals-in-the-3d-simulation</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 03:50:24 +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/incorrect-photoacoustic-signals-in-the-3d-simulation" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "Incorrect photoacoustic signals in the 3D simulation"</title>
			<link>http://www.k-wave.org/forum/topic/incorrect-photoacoustic-signals-in-the-3d-simulation#post-8048</link>
			<pubDate>Sat, 06 Feb 2021 13:00:33 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">8048@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;After playing about, this is what I think is happening. When you restrict the lateral size so much, the performance of the PML is decreased as the waves come in at steeper angles (see &#60;a href=&#34;http://bug.medphys.ucl.ac.uk/papers/2017-Robertson-JASA.pdf&#34;&#62;this paper&#60;/a&#62; for some discussion of the PML performance for different angles). As the wave propagates so far and is very weak due to spherical spreading, you then see the effects of the non-perfect PML. &#60;/p&#62;
&#60;p&#62;I think you could counter this by making the PML a bit bigger (e.g., 20 grid points). Note, you might want to make your source a single grid point instead of a ball of radius 1 (which defines several grid points in a cluster). If you are trying to improve computational efficiency, you could also shrink your y direction also.&#60;/p&#62;
&#60;p&#62;Let me know if that doesn't solve the problem.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Libaidufubaijuyi on "Incorrect photoacoustic signals in the 3D simulation"</title>
			<link>http://www.k-wave.org/forum/topic/incorrect-photoacoustic-signals-in-the-3d-simulation#post-8032</link>
			<pubDate>Sat, 30 Jan 2021 09:25:58 +0000</pubDate>
			<dc:creator>Libaidufubaijuyi</dc:creator>
			<guid isPermaLink="false">8032@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi,&#60;br /&#62;
I am trying to simulate the photoacoustic signals of a point source in the 3D space.However,when the number of grid in z directions is less than the grid number in the x and z directions,(such Nz = 42, Nx = 512,Ny = 512) the detected photoacoustic signal has a strange shape and not a N-shape. The code is shown below:&#60;/p&#62;
&#60;p&#62;clearvars;&#60;/p&#62;
&#60;p&#62;% =========================================================================&#60;br /&#62;
% SETTINGS&#60;br /&#62;
% =========================================================================&#60;/p&#62;
&#60;p&#62;% size of the computational grid&#60;br /&#62;
Nx = 512;    % number of grid points in the x (row) direction&#60;br /&#62;
x = 50e-3;   % size of the domain in the x direction [m]&#60;br /&#62;
dx = x/Nx;  % grid point spacing in the x direction [m]&#60;br /&#62;
Nz = 42;&#60;br /&#62;
% define the properties of the propagation medium&#60;br /&#62;
medium.sound_speed = 1500;      % [m/s]&#60;/p&#62;
&#60;p&#62;% size of the initial pressure distribution&#60;br /&#62;
source_radius = 1;              % [grid points]&#60;/p&#62;
&#60;p&#62;% distance between the centre of the source and the sensor&#60;br /&#62;
source_sensor_distance = 220;    % [grid points]&#60;/p&#62;
&#60;p&#62;% time array&#60;br /&#62;
dt = 50e-9;                      % [s]&#60;br /&#62;
t_end = 1000*50e-9;                 % [s]&#60;/p&#62;
&#60;p&#62;% computation settings&#60;br /&#62;
input_args = {'DataCast', 'gpuArray-single'};&#60;/p&#62;
&#60;p&#62;% create the computational grid&#60;br /&#62;
kgrid = kWaveGrid(Nx, dx, Nx, dx, Nz, dx);&#60;/p&#62;
&#60;p&#62;% create the time array&#60;br /&#62;
kgrid.setTime(round(t_end / dt) + 1, dt);&#60;/p&#62;
&#60;p&#62;% create initial pressure distribution&#60;br /&#62;
source.p0 = makeBall(Nx, Nx, Nz, Nx/2, Nx/2, Nz/2, source_radius);&#60;/p&#62;
&#60;p&#62;% define a single sensor point&#60;br /&#62;
sensor.mask = zeros(Nx, Nx, Nz);&#60;br /&#62;
sensor.mask(Nx/2 - source_sensor_distance, Nx/2, Nz/2) = 1;&#60;/p&#62;
&#60;p&#62;% run the simulation&#60;br /&#62;
sensor_data_3D = kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});&#60;br /&#62;
% plot the time signals recorded in each dimension&#60;br /&#62;
figure;&#60;br /&#62;
[t_sc, t_scale, t_prefix] = scaleSI(t_end);&#60;br /&#62;
plot(kgrid.t_array * t_scale, sensor_data_3D ./ max(abs(sensor_data_3D)), 'k-');&#60;br /&#62;
axis tight;&#60;/p&#62;
&#60;p&#62;I appreciate any help in this regard.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
