hi,

i tryed introducing absorption to my simulation, and noticed results didn't fit expectations in terms of the absotption per length.

i created this simple simulation in order to examine the absorption modeling:

clear

alpha=8;

Nx=100;

Ny=100;

Nz=100;

medium.alpha_coeff=alpha*ones(Nx,Ny,Nz);

medium.alpha_power=1.1;

medium.sound_speed(:,:,:)=1624;

medium.density(:,:,:)=1109;

dx =0.001; % grid point spacing in the x direction [m]

dy =0.001; % grid point spacing in the y direction [m]

dz =0.001; % grid point spacing in the z direction [m]

kgrid = makeGrid(Nx, dx, Ny, dy, Nz, dz);

[kgrid.t_array, dt] = makeTime(kgrid, medium.sound_speed,[],2*10^(-4));

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

source.p_mask(20,40,40)=1;

sensor.mask=zeros(Nx,Ny,Nz);

sensor.mask(80,40,40)=1;

f0=200000;

source.p=20*sin(2*pi*f0*kgrid.t_array);

source.p = filterTimeSeries(kgrid, medium, source.p);

med=medium.sound_speed;

t=kgrid.t_array;

sensor.record = {'p', 'p_final'};

input_args = {'DisplayMask', source.p_mask, 'DataCast', 'single', 'CartInterp', 'nearest'};

simple_data8=kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:});

as u can see, the distance between source and sensor is 60*1mm= 6cm and the frequency is 0.2MHz. I ran the simulation with different alpha_coeff values changing from alpha=2 to alpha=12 (alpha power is constantly=1.1).

Now, i examine the difference between amplitude measured with differnent alpha.

for example, for alpha=12 and alpha=2, I would expect a difference in power of (12-2)*6cm*0.2^1.1 [dB] = 10.21dB in the recieved signal 6cm from source. In practice, the sensor wave amplitude measured is: h2(amplitude for alpha=2)=0.0151 and h12=0.0329 , which means aan energy loss of 20*log(h12/h2)=6.74dB.

I tryed the same calculation for a few more alpha values - and it just dosen't make sense...

Any explatnation for that?

Benji