Skip to content

Commit b727752

Browse files
committed
- fixed movie creation in eval_methods.m
- added gif animation
1 parent 4e431e0 commit b727752

File tree

4 files changed

+282
-124
lines changed

4 files changed

+282
-124
lines changed

+fractional_steps/step.m

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,52 @@
1-
function [pressure_output, N_steps] = step( pressure_input, f_s, delta_z, a, b, order )
1+
function [ pressure_output, N_steps ] = step( pressure_input, f_s, delta_z, a, b, order )
2+
% Strang-Marchuk splitting step
3+
%
24
% author: Martin Schiffner
35
% date: 2009-03-30
4-
% modified: 2020-05-06
6+
% modified: 2020-05-07
57

8+
%--------------------------------------------------------------------------
9+
% 1.) check arguments
10+
%--------------------------------------------------------------------------
11+
12+
%--------------------------------------------------------------------------
13+
% 2.) compute splitting step
14+
%--------------------------------------------------------------------------
15+
%
616
N_samples = numel(pressure_input);
717
ksi = 0.5; %factor used in finite difference scheme (0.5 = Crank-Nicolson method)
818
method_interp = 'linear'; %method which is used for interpolation in solution to nonlinear problem
919

20+
%
1021
switch order
1122

1223
case 0
1324
% solve linear diffusion equation for delta_z / 2 (adjustable finite difference scheme)
1425
pressure_input = fractional_steps.diffusion( pressure_input, f_s, N_samples, delta_z / 2, a, ksi );
1526

1627
% solve nonlinear equation for delta_z
17-
[pressure_input, N_steps] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z, b, method_interp );
28+
[ pressure_input, N_steps ] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z, b, method_interp );
1829

1930
% solve linear diffusion equation for delta_z / 2 (adjustable finite difference scheme)
2031
pressure_output = fractional_steps.diffusion( pressure_input, f_s, N_samples, delta_z / 2, a, ksi );
2132

2233
case 1
2334
% solve nonlinear equation for delta_z / 2
24-
[pressure_input, N_steps_1] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z / 2, b, method_interp );
35+
[ pressure_input, N_steps_1 ] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z / 2, b, method_interp );
2536

2637
% solve linear diffusion equation for delta_z (adjustable finite difference scheme)
2738
pressure_input = fractional_steps.diffusion( pressure_input, f_s, N_samples, delta_z, a, ksi );
2839

2940
% solve nonlinear equation for delta_z / 2
30-
[pressure_output, N_steps_2] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z / 2, b, method_interp );
41+
[ pressure_output, N_steps_2 ] = fractional_steps.nonlinear( pressure_input, f_s, N_samples, delta_z / 2, b, method_interp );
3142

3243
N_steps = [N_steps_1, N_steps_2];
3344

3445
otherwise
46+
3547
% display error message
36-
error('burgers_frac_steps: invalid argument order in fractional steps scheme');
48+
error('burgers_frac_steps: invalid argument order in fractional steps scheme');
49+
3750
end
3851

3952
end % function [pressure_output, N_steps] = step( pressure_input, f_s, delta_z, a, b, order )

README.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,47 @@ the nonlinear propagation of
1818
plane ultrasonic waves in
1919
homogeneous viscous fluids.
2020

21-
The model is potentially interesting for
22-
fast tissue harmonic imaging (THI) or
21+
Its incorporation into
22+
fast tissue harmonic imaging or
2323
the detection of
24-
ultrasound contrast agents.
24+
ultrasound contrast agents potentially improves
25+
these imaging modes.
26+
Moreover,
27+
the decompositions of
28+
arbitrary types of
29+
waves into
30+
steered plane waves permit
31+
the application of
32+
this model
33+
the Burgers equation to
34+
other types of waves.
35+
36+
## Content
37+
38+
The script "eval_methods.m" compares
39+
both methods by evaluating
40+
various error metrics.
41+
It additionally creates
42+
a movie illustrating
43+
the deformation of
44+
the wave and
45+
the accompanying generation of
46+
harmonics.
47+
48+
The package +volterra contains
49+
the functions for
50+
the proposed Volterra polynomial, whereas
51+
the package +fractional_steps contains
52+
the functions for
53+
the fractional steps reference method.
54+
55+
## Results
56+
57+
The following animation depicts
58+
the result of
59+
the 10th-degree Volterra polynomial.
60+
61+
![Animation](./burgers_propagation_hp.gif)
2562

2663
## References :notebook:
2764

burgers_propagation_hp.gif

1.23 MB
Loading

0 commit comments

Comments
 (0)