Example 9813: Solving blood flow & blood cell distributions in a pulmonary capillary network

This example illustrates the blood flow solution over the pulmonary capillaries of a single alveoli. The method of Huang et al. (2001) is used to solve for blood flow within the previously developed pulmonary capillary mesh (see example 9812). An iterative procedure is used, taking into account the hematocrit (red blood cell (RBC) concentration) and capillary dimensional changes in each segment.

This solution procedure determines the pressure at each junction (node) the flow and RBC concentration in each segment (element), and RBC and neutrophil transit time distributions across the network. The dimensional model is this solution procedure calculates the capillary diameters as a result of the capillary, alveolar and pleural pressures.

Flow solution field (Spectrum: red=maximum flow, dark blue=no flow)

To create an image in order to visualise the results of the simulation, use draw.com.

Developed by Kelly Burrowes, 02/2003.


The comfile run by this example is as follows:

fem;
fem de param;r;capillary;example;
fem de coor 3,1;
fem de regi;r;four;example;
fem de base;r;capillary;example;

fem de node;r;cells;example;
fem de elem;r;cells;example;

fem export node;cells as cells;
fem export elem;cells as cells;

fem group elem 100..107,642..687 as alveolus1;

fem de mesh;r;capillary;example reg 2;
fem update mesh geometry capillary reg 2; #defines capillary diameters etc

fem define equation;r;capillary;example reg 2;
fem define material;r;capillary;example reg 2; 
#fem define time;r;capillary;example reg 2;
fem define initial;r;capillary;example reg 2;
fem define solve;r;capillary;example reg 2;


#Below is for time dependent-boundary condition
#$time_initial=0.00;
#$time_final=1;

#$time_step=0.1;
#$write_out_period=0.1;

#fem export nodes;$time_initial as capillary reg 2;
#fem export elem;$time_initial as capillary reg 2;
#fem export properties;initial as initial reg 2 index 17,11,5;

#for ($time=$time_initial;$time<$time_final;$time=$time+$write_out_period)
#{
#fem solve restart to $time+$write_out_period reg 2 delta_t $time_step;
#fem export properties;$time+$write_out_period as solution reg 2 index 17,11,5;
#}

#Below for single time solution (constant boundary condition)

fem solve from 0 to 1 delta_t 0.5 reg 2; #solves system of equations

fem export node;capillary as capillary reg 2;
fem export elem;capillary as capillary reg 2;

fem export node;solution as solution reg 2 field pressure; #exports pressure solutions as field
#fem export properties;solution as solution reg 2 index 12,7,4 #exports solution properties
fem export properties;flow as solution reg 2 index 12 name flow;
fem export properties;hematocrit as solution reg 2 index 7 name hematocrit;
fem export properties;diameter as solution reg 2 index 4 name diameter
#properties: 12=blood flow 7=vessel hematocrit 4=hydraulic diameter


Additional testing commands:

fem list node solution reg 2

Files used by this example are:

Name               Modified     Size

example_9813.com 14-Dec-2005 1.8k capillary.exelem 08-Oct-2003 176k capillary.exnode 26-Aug-2004 87k capillary.ipbase 27-Feb-2003 3.2k capillary.ipequa 11-Sep-2007 1.6k capillary.ipinit 08-Oct-2003 1.0k capillary.ipmate 29-Apr-2005 974 capillary.ipmesh 26-Aug-2004 1.8k capillary.ippara 29-Apr-2005 6.1k capillary.ipsolv 13-Apr-2007 2.2k capillary.iptime 27-Feb-2003 854 cells.exelem 27-Feb-2003 175k cells.exnode 16-Jun-2003 148k cells.ipelem 27-Feb-2003 190k cells.ipnode 27-Feb-2003 313k diameter.exelem 14-Dec-2005 97k draw.com 14-Dec-2005 1.2k flow.exelem 14-Dec-2005 97k flow.mov 27-Feb-2003 4.7M four.ipregi 27-Feb-2003 102 hematocrit.exelem 14-Dec-2005 97k initial.exelem 27-Feb-2003 197k movie_sub.com 27-Feb-2003 426 solution.exelem 29-Apr-2005 197k solution.exnode 29-Apr-2005 40k test.com 29-Apr-2005 1.7k test_output.com 27-Feb-2003 29 time1.out 29-Apr-2005 18k transit2.out 29-Apr-2005 281k transit3.out 29-Apr-2005 112

Download the entire example:

Name                           Modified     Size

examples_9_98_981_9813.tar.gz 12-Sep-2007 3.1M

Testing status by version:

StatusTestedReal time (s)
i686-linux
cmFailureSun Mar 6 00:05:48 20160
last breakSun Jan 16 01:00:00 20112
last successSun Jan 2 01:02:00 201133
cm-debugFailureSun Mar 6 00:09:48 20162
last breakTue Jan 11 03:04:00 20116
last successFri Jan 7 00:51:00 201163
mips-irix
cmSuccessSun Aug 19 03:16:48 2007109
cm-debugSuccessWed Aug 15 05:47:35 2007471
cm-debug-clear-mallocSuccessSat Aug 18 06:06:29 2007475
cm-debug-clear-malloc7SuccessMon Aug 20 05:28:13 2007488
cm64SuccessSun Aug 19 03:18:56 2007122
cm64-debugSuccessTue Aug 21 03:42:05 2007459
cm64-debug-clear-mallocSuccessThu Apr 1 10:58:15 2004184
rs6000-aix
cmSuccessWed Mar 4 01:14:07 200910
cm-debugSuccessMon Mar 2 01:35:14 2009126
cm64SuccessWed Mar 4 01:14:12 200910
cm64-debugSuccessTue Mar 3 01:41:29 2009146
x86_64-linux
cmFailureSun Mar 6 00:01:25 20161
last breakSun Jan 16 00:27:00 20111
last successSun Jan 2 00:27:00 201112
cm-debugFailureSun Mar 6 00:01:25 20161
last breakMon Feb 6 00:45:00 20122
last successFri Jan 7 00:17:00 201127

Testing status by file:


Html last generated: Sun Mar 6 05:50:35 2016

Input last modified: Tue Sep 11 10:53:49 2007


CMISS Help / Examples / 9 / 98 / 981 / 9813