<?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: Simple 3D point source- FWHM vs Depth of penetration issues</title>
		<link>http://www.k-wave.org/forum/topic/simple-3d-point-source-fwhm-vs-depth-of-penetration-issues</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Tue, 12 May 2026 23:07:58 +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/simple-3d-point-source-fwhm-vs-depth-of-penetration-issues" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "Simple 3D point source- FWHM vs Depth of penetration issues"</title>
			<link>http://www.k-wave.org/forum/topic/simple-3d-point-source-fwhm-vs-depth-of-penetration-issues#post-5931</link>
			<pubDate>Sun, 21 May 2017 15:29:57 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">5931@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi samantp,&#60;/p&#62;
&#60;p&#62;I didn't run your simulation to completion, but a few comments.&#60;/p&#62;
&#60;p&#62;1. For a pressure source in 3D, the output is expected to be the time derivative of the input, which turns a bipolar pulse into a tripolar pulse. See the k-Wave manual Eq. (2.9), or any good book on acoustics for more explanation.&#60;/p&#62;
&#60;p&#62;2. The grid size after expansion has very large prime factors. Your simulation will be much faster if you can choose grid sizes with small prime factors (e.g., 2, 3, 5).&#60;/p&#62;
&#60;p&#62;3. I'd recommend always using a uniform grid spacing (i.e., dx = dy = dz). Otherwise, the maximum supported frequency in each direction will be different, and you might see strange effects.&#60;/p&#62;
&#60;p&#62;4. In a homogeneous lossless medium, the propagation is exact. Do you see the same behaviour if you turn the absorption off?&#60;/p&#62;
&#60;p&#62;5. As you're working at high frequencies, the absorption (and therefore dispersion as linked by causality) is likely to be significant. To see if this is the case, you could set &#60;code&#62;medium.alpha_mode = &#38;#39;no_dispersion&#38;#39;&#60;/code&#62;.&#60;/p&#62;
&#60;p&#62;Brad
&#60;/p&#62;</description>
		</item>
		<item>
			<title>samantp on "Simple 3D point source- FWHM vs Depth of penetration issues"</title>
			<link>http://www.k-wave.org/forum/topic/simple-3d-point-source-fwhm-vs-depth-of-penetration-issues#post-5907</link>
			<pubDate>Sun, 30 Apr 2017 20:46:47 +0000</pubDate>
			<dc:creator>samantp</dc:creator>
			<guid isPermaLink="false">5907@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi,&#60;br /&#62;
I am trying to analyze the frequency attenuation of a photoacoustic point source as it propagates through the medium. Currently I have the source set up as a time varying function (a derivative of a Gaussian pulse of 7ps pulse duration)&#60;/p&#62;
&#60;p&#62;I have a 3x3x1100 grid. I have the source at position (2, 2, 50), and sensors at points sensor.mask(2,2,50:1050) (i.e. there is a sensor at every point in the z direction starting at (2,2,50) and ending at (2,2,1050), The point spacing is dx=dy=dz=1e-9 %[m] in all directions.&#60;/p&#62;
&#60;p&#62;Now, I run this simulation with a timestep of 1e-13 and t_end=2e-9 with sound speed 1480 in the medium and an alpha coefficient of 0.0022 and alpha power of 1.01.&#60;/p&#62;
&#60;p&#62;I noticed some very strange effects here.&#60;br /&#62;
1) The recorded sensor signal is tripolar whereas the pressure vs time at the source is bipolar&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;source_mag = 2500;     % [Pa] Max Amplitude
Pulsewidth=7e-12; %Pulse Width [s]
C=source_mag*Pulsewidth^2/(exp(-0.5)); %Constant adjusted so that peaks of
%pressure are equal to specified Source magnitude

source.p = (-C/Pulsewidth^3)*(kgrid.t_array-PhaseShift).*exp(-((kgrid.t_array-PhaseShift).^2)/(2*Pulsewidth^2));&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;2) The FWHM of this signal is actually not consistently increasing as it gets recorded at further and further sensor points, and is displaying some sinusoidal behaviors. &#60;/p&#62;
&#60;p&#62;3) The signal starts to have strange distortions introduced as it propagates through space.&#60;/p&#62;
&#60;p&#62;Now I suspect that this strange behavior is due to my simulation paramaeters, but I have made the PML large in addition to decreasing the time step to ensure that the simulation is stable. nevertheless my output does not seem to be making sense. Can anyone provide some guidance as to why this could be happening? Are any of my parameters possible the problem? If anyone is interested the full source code is below. &#60;/p&#62;
&#60;p&#62;Thank you in advance!&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;% create the computational grid
Nx = 3;            % number of grid points in the x direction
Ny = 3;            % number of grid points in the y direction
Nz = 1100;            % number of grid points in the z direction
dx = 1e-9;        % grid point spacing in the x direction [m]
dy = 1e-9;        % grid point spacing in the y direction [m]
dz = 1e-10;        % grid point spacing in the z direction [m]
kgrid = makeGrid(Nx, dx, Ny, dy, Nz, dz);
% define the properties of the propagation medium
medium.sound_speed = 1480*ones(Nx, Ny, Nz);	% [m/s]
medium.density = 1000*ones(Nx, Ny, Nz);     % [kg/m^3]
medium.alpha_coeff = 0.0022;  % [dB/(MHz^y cm)]
medium.alpha_power = 1.01;
dt=1e-14;
t_end=2e-9;
kgrid.t_array=[0:dt:t_end];
PhaseShift=50e-12; %[s] Phase shift in time of pressure pulse
% create the time array

% define two point sources at (Nx/2, Ny/2, Nz/2) and Nx/2, Ny/2kgrid.t_array), Nz/2+5

source.p_mask = zeros(Nx, Ny, Nz);
source.p_mask(2, 2, 50) = 1;

source_mag = 2500;     % [Pa] Max Amplitude
Pulsewidth=7e-12; %Pulse Width [s]
C=source_mag*Pulsewidth^2/(exp(-0.5)); %Constant adjusted so that peaks of pressure are equal to specified Source magnitude

source.p = (-C/Pulsewidth^3)*(kgrid.t_array-PhaseShift).*exp(-((kgrid.t_array-PhaseShift).^2)/(2*Pulsewidth^2)); %Derivation result as listed in .pdf
% filter the source to remove high frequencies not supported by the grid
source.p = filterTimeSeries(kgrid, medium, source.p);

sensor.mask=zeros(size(source.p_mask));
sensor.mask(2,2,50:1050)=1;

% define the field parameters to record
%sensor.record = {&#38;#39;p&#38;#39;, &#38;#39;p_final&#38;#39;};
% input arguments
input_args = {&#38;#39;DisplayMask&#38;#39;, source.p_mask, &#38;#39;DisplayMask&#38;#39;,sensor.mask &#38;#39;DataCast&#38;#39;, &#38;#39;single&#38;#39;,&#38;#39;PMLInside&#38;#39;,false, &#38;#39;PMLSize&#38;#39;, [20, 20, 20],};

% run the simulation
sensor_data = kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});&#60;/code&#62;&#60;/pre&#62;</description>
		</item>

	</channel>
</rss>
