This example illustrates the propagation of waves (pressure, velocity etc.) in a flow of incompressible Newtonian fluid through an elastic tube (e.g. blood vessels). The governing equations of this model are based on 1D Navier-Stokes equations. The distensibility of the tube walls is also included. For the details of the model governing equations refer:
1. Hunter,
P.J., M.Eng Thesis, UoA, 1972
2. Smith.
N.P., Ph.D Thesis, UoA 1999
The numerical method used to solve the above mentioned governing equations is two-step Lax-Wendroff finite difference method. Further details of the numerical method can be obtained from reference 2. The geometry of the tube is modeled using 1D cubic Hermite finite elements. Since this finite difference scheme is fully explicit, it is conditionally stable. In other words, once the spatial step is decided there is a maximum time step above which the computational algorithm fails due to amplification of the round-off error.
Here we perturb the system from its initial steady state (constant pressure and zero velocity throughout) by introducing a step increase in the inlet pressure from 12.46 kPa to 14.46 kPa while holding the exit pressure at 12.46 kPa. This perturbation travels at a finite velocity known as 'wave propagation velocity' or 'acoustic velocity'. Since the exit pressure is held at a constant level, the wave moves back and forth and eventually reaches its new steady state.
To create a movie in order to visualise the results of the simulation, use view.com
Simulation of step increase in pressure at the inlet
fem define parameter;r;tube;example # Declares array dimensions fem reallocate; fem define coordinate;r;tube;example # Defines the coordinate system fem define node;r;tube;example # Reads in nodal information fem define base;r;tube;example # Defines basis function (02 funcns : 1. 1D cubic hermite 2. 1D linear) fem define element;r;tube;example # Reads in element information fem define field;r;tube;example # Reads in fields. Only first field (unstressed radius at nodes) is necessary for this problem fem define element;r;tube;example field # Defines interpolation of field variables (linear) fem define grid;r;tube;example coronary # Defines grid points with coronary option to discretise the spatial computational domain. fem update grid geometry; fem define equation;r;tube;example # Defines equations fem define material;r;tube;example # Reads in physical & mechanical properties fem update material field material 4 no_field 1; # # Updates unstressed radius (mat 4) from field 1 fem define time;r;step;example # Define boundary conditions. Step increase in press. at inlet. Constant press. at outlet fem define initial;r;tube;example # Defines initial conditions fem define solve;r;tube;example # Defines solution parameters $time_initial=0.00; # Sets the initial time $time_final=0.04; # Sets the final time $time_step=0.0001; # Sets the time step time $write_out_period=0.001; # Sets the results write out period fem export points;$time_initial grid as vessel offset 0; fem export grid;vessel as vessel offset_node 0 elastic_tube; # Results output loop for ($time=$time_initial;$time<$time_final;$time=$time+$write_out_period) { fem solve restart to $write_out_period delta_t $time_step; fem export points;$time+$write_out_period grid as vessel offset 0 }
fem list nodes
Name Modified Size
example_h2.com 05-Oct-2001 2.1k 0.001.exnode 26-Aug-2004 5.6k 0.002.exnode 26-Aug-2004 5.6k 0.003.exnode 26-Aug-2004 5.6k 0.004.exnode 26-Aug-2004 5.6k 0.005.exnode 26-Aug-2004 5.6k 0.006.exnode 29-Nov-2001 5.6k 0.007.exnode 29-Nov-2001 5.6k 0.008.exnode 29-Nov-2001 5.6k 0.009.exnode 29-Nov-2001 5.6k 0.01.exnode 29-Nov-2001 5.6k 0.011.exnode 29-Nov-2001 5.6k 0.012.exnode 29-Nov-2001 5.6k 0.013.exnode 29-Nov-2001 5.6k 0.014.exnode 29-Nov-2001 5.6k 0.015.exnode 29-Nov-2001 5.6k 0.016.exnode 29-Nov-2001 5.6k 0.017.exnode 29-Nov-2001 5.6k 0.018.exnode 29-Nov-2001 5.6k 0.019.exnode 29-Nov-2001 5.6k 0.02.exnode 29-Nov-2001 5.6k 0.021.exnode 29-Nov-2001 5.6k 0.022.exnode 29-Nov-2001 5.6k 0.023.exnode 29-Nov-2001 5.6k 0.024.exnode 29-Nov-2001 5.6k 0.025.exnode 29-Nov-2001 5.6k 0.026.exnode 29-Nov-2001 5.6k 0.027.exnode 29-Nov-2001 5.6k 0.028.exnode 29-Nov-2001 5.6k 0.029.exnode 29-Nov-2001 5.6k 0.03.exnode 29-Nov-2001 5.6k 0.031.exnode 29-Nov-2001 5.6k 0.032.exnode 29-Nov-2001 5.6k 0.033.exnode 29-Nov-2001 5.6k 0.034.exnode 29-Nov-2001 5.6k 0.035.exnode 29-Nov-2001 5.6k 0.036.exnode 29-Nov-2001 5.6k 0.037.exnode 29-Nov-2001 5.6k 0.038.exnode 29-Nov-2001 5.6k 0.039.exnode 29-Nov-2001 5.6k 0.04.exnode 29-Nov-2001 5.6k 0.exnode 29-Nov-2001 5.6k step.iptime 05-Oct-2001 1.4k test_output.com 05-Oct-2001 15 tube.ipbase 05-Oct-2001 2.0k tube.ipcoor 05-Oct-2001 570 tube.ipelem 05-Oct-2001 786 tube.ipelfd 05-Oct-2001 576 tube.ipequa 22-Nov-2005 1.3k tube.ipfiel 05-Oct-2001 1.0k tube.ipgrid 27-Nov-2001 216 tube.ipinit 01-Dec-2005 676 tube.ipmate 05-Oct-2001 6.8k tube.ipnode 05-Oct-2001 1.5k tube.ippara 12-Nov-2002 5.9k tube.ipsolv 27-Aug-2002 751 vessel.exelem 05-Oct-2001 8.2k view.com 26-Aug-2004 2.3k
Name Modified Size
examples_h_h2.tar.gz 19-Aug-2006 614k
Status | Tested | Real time (s) | |
i686-linux | |||
cm | Success | Sun Mar 6 00:02:49 2016 | 1 |
cm-debug | Success | Sat Mar 5 00:04:50 2016 | 0 |
mips-irix | |||
cm | Success | Sun Aug 19 01:32:19 2007 | 6 |
cm-debug | Success | Wed Aug 15 01:27:17 2007 | 10 |
cm-debug-clear-malloc | Success | Sat Aug 18 01:32:57 2007 | 15 |
cm-debug-clear-malloc7 | Success | Mon Aug 20 01:30:31 2007 | 15 |
cm64 | Success | Sun Aug 19 01:32:24 2007 | 5 |
cm64-debug | Success | Tue Aug 21 01:25:58 2007 | 11 |
cm64-debug-clear-malloc | Success | Thu Apr 1 12:31:36 2004 | 6 |
rs6000-aix | |||
cm | Success | Wed Mar 4 01:08:38 2009 | 2 |
cm-debug | Success | Mon Mar 2 01:07:23 2009 | 2 |
cm64 | Success | Wed Mar 4 01:09:03 2009 | 1 |
cm64-debug | Success | Tue Mar 3 01:12:22 2009 | 2 |
x86_64-linux | |||
cm | Success | Sun Mar 6 00:01:08 2016 | 0 |
cm-debug | Success | Sat Mar 5 00:01:39 2016 | 1 |
i686-linux | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. | |
mips-irix | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. | |
Success | cm-debug-clear-malloc: | cmiss_test.log.retain. | |
Success | cm-debug-clear-malloc7: | cmiss_test.log.retain. | |
Success | cm64: | cmiss_test.log.retain. | |
Success | cm64-debug: | cmiss_test.log.retain. | |
Success | cm64-debug-clear-malloc: | cmiss_test.log.retain. | |
rs6000-aix | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. | |
Success | cm64: | cmiss_test.log.retain. | |
Success | cm64-debug: | cmiss_test.log.retain. | |
x86_64-linux | |||
Success | cm: | cmiss_test.log.retain. | |
Success | cm-debug: | cmiss_test.log.retain. |
i686-linux | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
mips-irix | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug-clear-malloc: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug-clear-malloc7: | ndiff test: no significant differences with generic answer. | |
Success | cm64: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug-clear-malloc: | ndiff test: no significant differences with generic answer. | |
rs6000-aix | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm64: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug: | ndiff test: no significant differences with generic answer. | |
x86_64-linux | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. |
i686-linux | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
mips-irix | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug-clear-malloc: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug-clear-malloc7: | ndiff test: no significant differences with generic answer. | |
Success | cm64: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug-clear-malloc: | ndiff test: no significant differences with generic answer. | |
rs6000-aix | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. | |
Success | cm64: | ndiff test: no significant differences with generic answer. | |
Success | cm64-debug: | ndiff test: no significant differences with generic answer. | |
x86_64-linux | |||
Success | cm: | ndiff test: no significant differences with generic answer. | |
Success | cm-debug: | ndiff test: no significant differences with generic answer. |
Html last generated: Sun Mar 6 05:51:37 2016
Input last modified: Thu Dec 1 15:39:49 2005