Hi everyone,
   Recently, I want to study the propagation of ultrasound in space filled with water droplets. In the paper "Nonlinear ultrasound simulation in an axisymmetric coordinate system using a k-space pseudospectral method", I find the case "D. Scattering of plane wave by a fluid sphere"simulation seems to be similar to this situation.Scattering of acoustic signals is the main consideration.
I want to know if I can set many micron-sized particles in the medium properties by resetting the droplet density parameters to achieve my idea.
   I hope to receive your reply.
    Thanks.
    Zeng
k-Wave
A MATLAB toolbox for the time-domain 
 simulation of acoustic wave fields
	Ultrasound propagation in droplets
(3 posts) (2 voices)- 
		Posted 4 years ago #
- 
		Hello, 
 I have created a code as follows:% Based on Heterogeneous Propagation Medium Example clearvars; % ========================================================================= 
 % SIMULATION
 % =========================================================================% create the computational grid 
 Nx = 512; % number of grid points in the x (row) direction
 Ny = Nx; % number of grid points in the y (column) direction
 dx = 1e-6; % grid point spacing in the x direction [m]
 dy = 1e-6; % grid point spacing in the y direction [m]
 kgrid = kWaveGrid(Nx, dx, Ny, dy);% define the properties of the propagation medium 
 Air_speed = 330;
 Air_rho0 = 1;
 Air_BonA = 0.4;
 Air_absob = 2.0;source_f0 = 1.1e6; % source frequency [Hz] 
 water_temp = 22;
 water_speed = waterSoundSpeed(water_temp);
 water_rho0 = waterDensity(water_temp);
 water_BonA = waterNonlinearity(water_temp);
 water_absob = waterAbsorption(source_f0 * 1e-6, water_temp);% reference sound speed 
 medium.sound_speed_ref = Air_speed;
 % sound speed
 medium.sound_speed = Air_speed* ones(Nx, Ny);
 % sound density
 medium.density = Air_rho0 * ones(Nx, Ny);
 % nonlinearity
 medium.BonA = Air_BonA * ones(Nx, Ny);
 % absorption
 medium.alpha_coeff = Air_absob * ones(Nx, Ny);medium.alpha_power = 2.0; %========create water droplets disk=== N= 10; %Number of water droplets 
 drop_pos_x = randperm(Nx-10); % Center of particle position
 drop_pos_y = randperm(Nx-10); %for i=1:N 
 % droplets geometry
 drop_radius = 5; %radius of droplet,grid point spacing
 cx = drop_pos_x(i);
 cy = drop_pos_y(i);
 drop_mask = makeDisc(Nx, Ny, cx, cy, drop_radius);% sound speed 
 medium.sound_speed(drop_mask == 1) = water_speed;
 % sound density
 medium.density(drop_mask == 1) = water_rho0;
 % nonlinearity
 medium.BonA(drop_mask == 1) = water_BonA;
 % absorption
 medium.alpha_coeff(drop_mask == 1) = water_absob;end % create initial pressure distribution using makeDisc 
 disc_magnitude = 5; % [Pa]
 disc_x_pos = Nx/2; % [grid points]
 disc_y_pos = Ny/2; % [grid points]
 disc_radius = 20; % [grid points]
 disc_1 = disc_magnitude * makeDisc(Nx, Ny, disc_x_pos, disc_y_pos, disc_radius);source.p0 = disc_1 ; 
 init_p0 = source.p0;% define a centered Cartesian circular sensor 
 sensor_radius = 2e-4; % [m]
 sensor_angle = 2*pi ; % [rad]
 sensor_pos = [0, 0]; % [m]
 num_sensor_points = 150;
 cart_sensor_mask = makeCartCircle(sensor_radius, num_sensor_points, sensor_pos, sensor_angle);
 % Cartesian sensors aren't support in the C++ code, convert it to a binary mask
 [grid_sensor_mask, order_index, reorder_index] = cart2grid(kgrid, cart_sensor_mask);
 sensor.mask = grid_sensor_mask;% create the time array 
 t1=kgrid.makeTime(medium.sound_speed);% run the simulation with optional inputs for plotting the simulation 
 % layout in addition to removing the PML from the display
 sensor_data = kspaceFirstOrder2DC(kgrid, medium, source, sensor, ...
 'PlotLayout', false, 'PlotPML', false);Can the above code be used to analyze the simulated pressure amplitude for 
 the scattering of a monochromatic plane wave by a sphere of micron-sized particles?
 Could anyone give me some suggestions? Thanks advance.
 ZengPosted 4 years ago #
- 
		Hi Zeng, I don't know anything about your particular problem, but yes, you can model lots of small scatterers in k-Wave by perturbing the acoustic density / sound speed. Keep in mind that if you run your simulation in 2D, what you're actually modelling is scattering by infinite cylinders. Also, the code you posted uses a disc-shaped initial pressure. You will want to look at some of the other examples for how to create a monochromatic (single frequency) plane wave. Brad. Posted 4 years ago #
Reply
You must log in to post.