<?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: Zero or exceptionally high pressure output from pstdElastic3D function</title>
		<link>http://www.k-wave.org/forum/topic/zero-or-exceptionally-high-pressure-output-from-pstdelastic3d-function</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Tue, 12 May 2026 22:00:30 +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/zero-or-exceptionally-high-pressure-output-from-pstdelastic3d-function" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "Zero or exceptionally high pressure output from pstdElastic3D function"</title>
			<link>http://www.k-wave.org/forum/topic/zero-or-exceptionally-high-pressure-output-from-pstdelastic3d-function#post-8963</link>
			<pubDate>Fri, 24 Nov 2023 17:52:59 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">8963@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;The simulation is unstable. Try reducing the time step (CFL). I tried CFL = 0.05 and it seemed to run ok.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Amita on "Zero or exceptionally high pressure output from pstdElastic3D function"</title>
			<link>http://www.k-wave.org/forum/topic/zero-or-exceptionally-high-pressure-output-from-pstdelastic3d-function#post-8908</link>
			<pubDate>Mon, 11 Sep 2023 08:39:30 +0000</pubDate>
			<dc:creator>Amita</dc:creator>
			<guid isPermaLink="false">8908@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi,&#60;br /&#62;
I am trying to simulate the pressure distribution in a viscoelastic medium using pstdElastic3D. When I am using a velocity source with a rectangular source mask and getting exceptionally high-pressure values (P_max). I am not sure where I am going wrong. Please help. Code is pasted below.&#60;/p&#62;
&#60;p&#62;clear; close all; clc;&#60;br /&#62;
%Define the medium and grids (Sampling) &#60;/p&#62;
&#60;p&#62;L_x=(20*10^-3);% Unit:m&#60;br /&#62;
L_y=(20*10^-3);% Unit:m&#60;br /&#62;
L_z=(20*10^-3);% Unit:m&#60;br /&#62;
C_L=1540; % compressional sound speed; unit: m/s&#60;br /&#62;
Frequency_US=1*10^6; %unit: Hz (Maximum frequency)&#60;br /&#62;
Wavelength_Min=C_L/Frequency_US; % Unit: m&#60;br /&#62;
dx=Wavelength_Min/5;&#60;br /&#62;
dy=dx;&#60;br /&#62;
dz=dx;&#60;br /&#62;
Nx=ceil(L_x/dx); % Number of grids in the x direction; ceil rounds the number to next integer.&#60;br /&#62;
Ny=ceil(L_y/dy); % Number of grids in the y direction&#60;br /&#62;
Nz=ceil(L_z/dz); % Number of grids in the z direction&#60;br /&#62;
kgrid = kWaveGrid(Nx, dx, Ny, dy, Nz, dz); % kWavegrid class makes and store grid points&#60;/p&#62;
&#60;p&#62;%Assigning the temporal grids&#60;br /&#62;
CFL=0.5;&#60;br /&#62;
dt=CFL*dx/C_L;% CFL=c*dt/dx&#60;br /&#62;
simulation_time=40*10^-6; % unit: seconds&#60;br /&#62;
Nt=ceil(simulation_time/dt);% round-off to the next integer&#60;br /&#62;
kgrid.setTime(Nt, dt);% it sets the time grid and makes time array&#60;/p&#62;
&#60;p&#62;%medium properties for pstdElastic3D&#60;br /&#62;
medium.sound_speed_compression=C_L; %m/s&#60;br /&#62;
medium.sound_speed_shear=1.7; %Unit: m/s&#60;br /&#62;
medium.density=980; %in kg/m^3&#60;br /&#62;
medium.alpha_coeff_compression=0.1; %dB/MHz^2-cm&#60;br /&#62;
medium.alpha_coeff_shear=0.3; %dB/MHz^2-cm&#60;/p&#62;
&#60;p&#62;%Defining the source input&#60;br /&#62;
% define properties of the input signal&#60;br /&#62;
source_strength = 1e-6;          % [m/s]&#60;br /&#62;
tone_burst_freq = Frequency_US;        % [Hz]&#60;br /&#62;
tone_burst_cycles = 5;&#60;br /&#62;
input_signal = source_strength*toneBurst(1/kgrid.dt, tone_burst_freq, tone_burst_cycles);&#60;/p&#62;
&#60;p&#62;Transducer_height=46;% in grid points&#60;br /&#62;
transducer_width = 32;&#60;br /&#62;
source.u_mask = zeros(Nx, Ny, Nz);&#60;br /&#62;
source.u_mask(11, ceil(Ny/2 - transducer_width/2) + 1:ceil(Ny/2 + transducer_width/2), ceil(Nz/2 - Transducer_height/2) + 1:ceil(Nz/2 + Transducer_height/2)) = 1&#60;br /&#62;
source.u_mode='dirichlet';&#60;br /&#62;
focus_position=[0, 0, 0];&#60;br /&#62;
focus_signal = focus(kgrid, input_signal, source.u_mask, focus_position, C_L);&#60;br /&#62;
% plot(focuse_signal((93*0)+101,:))&#60;br /&#62;
source.ux=focus_signal; %focused_signal;&#60;/p&#62;
&#60;p&#62;%% define the sensor mask&#60;br /&#62;
sensor.mask = zeros(Nx, Ny, Nz);&#60;br /&#62;
%taking the sensor mask at the X-Y plane at the center of the medium (z=0&#60;br /&#62;
%plane)&#60;br /&#62;
sensor.mask(:,:,round(Nz/2)) = 1;&#60;br /&#62;
sensor.record = {'p', 'p_max', 'u', 'I', 'I_avg'};&#60;br /&#62;
sensor.record_start_index=1; %(default=1)&#60;/p&#62;
&#60;p&#62;%set input values for PML boundary layer&#60;br /&#62;
alpha_coeff_PML=2.5; % dB/MHz-cm (default=2)&#60;br /&#62;
PML_size=[10,10,10]; %(default=10)&#60;br /&#62;
% set the optional input as input arguements&#60;/p&#62;
&#60;p&#62;input_args = {'PlotPML', false, 'PMLAlpha', alpha_coeff_PML, 'PMLSize', PML_size};&#60;br /&#62;
% RUN the elastic simulation&#60;br /&#62;
%use pstdElastic3D function to simulate propagation of elastic wave in this&#60;br /&#62;
%homogenous viscoelastic medium&#60;br /&#62;
sensor_data=pstdElastic3D(kgrid, medium, source, sensor, input_args{:});
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
