Example 844: single cylindrical element finite elasticity problem coupled to coronary mesh

This example illustrates the solution to the coupled flow/solid mechanics problem. An eleven-element (linear in polar-cylindrical coordinate system) asymmetric coronary mesh is embedded within a homogeneous Mooney Rivlin cylinder with finite wall thickness. The cylinder is inflated and subject to an axial compressive force in the Z-direction in steps over a period of 0.005s. The transient flow equations are solved incorporating the additional force exerted on the embedded vessels walls due to the deformation of the cylinder. The fluid flow pressure at the inlet of the network is increased from 10.6 - 14.6 kPa linearly over the same period while the pressure at the exit or distal ends of all the daughter links are maintained constant at 10.6 kPa. For the theory and further details of this problem, see section 5.4 of the PhD thesis "Coronary flow mechanics" by N.P.Smith.

Simulation of coupled flow/solid mechanics


The comfile run by this example is as follows:

# Note : region 1 - solid: a cylinder with finite thickness; region 2 - fluid flow
#        class 1 - Finite elasticity problem ; class 2 - Flow through elastic tube

fem define para;r;cylinder_flow_mech;example
fem reallocate
fem define region;r;cylinder_flow_mech;example              # Defines no. of regions
fem define coordinate;r;cylinder_mech;example reg 1         # Defines coordinates for solid         
fem define node;r;cylinder_mech;example reg 1               # Reads in nodal information                
fem define base;r;cylinder_mech;example reg 1               # Defines basis functions (05)                
fem define element;r;cylinder_mech;example reg 1            # Reads in element information            
fem define fibre;r;cylinder_mech;example reg 1              # Reads in fibre information for solid  
fem define element;r;cylinder_mech;example fib reg 1        # Defines fibre interpolation          
fem define equation;r;cylinder_mech;example reg 1 class 1   # Defines equations for solid 
fem define material;r;cylinder_mech;example reg 1 class 1   # Reads in mech properties of solid   
fem define initial;r;cylinder_mech;example reg 1 class 1    # Defines initial & boundary conds.        
fem define solve;r;cylinder_mech;example reg 1 class 1      # Defines solution parameters     

fem define coordinate;r;cylinder_flow;example reg 2         # Defines coordinates for fluid flow        
fem define node;r;cylinder_flow;example reg 2               # Reads in nodal information                
fem define;add base;r;cylinder_flow;example                 # Defines basis functions (01)               
fem define element;r;cylinder_flow;example reg 2            # Reads in element information           

fem define xi;r;cylinder_flow;example node of 2 in 1        # Reads in xi positions of reg 2 wrt reg 1
fem update mesh position of 2 in 1 undeform                 # Updates relative positions

fem define field;r;cylinder_flow;example reg 2              # Reads in field information 
fem define element;r;cylinder_flow;example field reg 2      # Defines field interpolation       
fem define grid;r;cylinder_flow;example coronary reg 2      # Reads in spatial discretisation    
fem update grid geometry reg 2                              # Updates grid point coordinates 
fem define equation;r;cylinder_flow;example reg 2 class 2   # Defines equations for fluid flow  
fem define material;r;cylinder_flow;example reg 2 class 2   # Reads in phy. & mech. properties      
fem update material field material 4 no_field 1 reg 2 class 2
#                                                           # Updates unstressed radii
fem define time;r;cylinder_flow;example                     # Defines boundary conditions   
fem define initial;r;cylinder_flow;example reg 2 class 2    # Defines initial conditions                   
fem define solve;r;cylinder_flow;example reg 2 class 2      # Defines solution parameters                  

fem define coup;r;cylinder_flow_mech;example                # Defines solid & fluid mech. coupling                                     
$time_initial=0.000;
$time_final=0.005;
$time_step=0.0001;   
$write_out_period=0.0005;

fem export nodes;solid${time_initial} field as solid offset 500 reg 1 class 1
fem export elements;solid field as solid offset_elem 500 offset_node 500 reg 1 class 1 
fem export grid;fluid as flow offset_elem 0 offset_node 0 elastic_tube reg 2 class 2
fem export points;fluid${time_initial} grid as flow offset 0 reg 2 class 2

for ($time=$time_initial;$time<$time_final;$time=$time+$write_out_period)      
{
$w_time=$time+$write_out_period;
fem solve restart to $write_out_period delta_t $time_step reg 1,2 class 1,2;
fem update geometry from solution reg 1;
fem export nodes;solid${w_time} field as solid offset 500 reg 1 class 1;
fem update nodes derivative 1 linear reg 2 
fem update mesh position of 2 in 1 undeform
fem update grid geometry reg 2
fem export points;fluid${w_time} grid as flow offset 0 reg 2 class 2
}


Additional testing commands:

fem list nodes reg 2
fem list elem reg 2

Files used by this example are:

Name                           Modified     Size

example_844.com 02-Oct-2001 3.9k cylinder_flow.ipbase 02-Oct-2001 929 cylinder_flow.ipcoor 02-Oct-2001 681 cylinder_flow.ipelem 02-Oct-2001 3.5k cylinder_flow.ipelfd 02-Oct-2001 2.8k cylinder_flow.ipequa 22-Nov-2005 1.3k cylinder_flow.ipfiel 02-Oct-2001 3.0k cylinder_flow.ipgrid 27-Nov-2001 258 cylinder_flow.ipinit 01-Dec-2005 713 cylinder_flow.ipmate 02-Oct-2001 6.8k cylinder_flow.ipnode 02-Oct-2001 2.5k cylinder_flow.ipsolv 27-Aug-2002 801 cylinder_flow.iptime 02-Oct-2001 1.4k cylinder_flow.ipxi 02-Oct-2001 792 cylinder_flow_mech.ipcoup 21-Aug-2002 730 cylinder_flow_mech.ipcoup.old 02-Oct-2001 704 cylinder_flow_mech.ippara 12-Nov-2002 5.9k cylinder_flow_mech.ipregi 02-Oct-2001 136 cylinder_mech.ipbase 02-Oct-2001 6.8k cylinder_mech.ipcoor 02-Oct-2001 681 cylinder_mech.ipelem 02-Oct-2001 1.0k cylinder_mech.ipelfb 02-Oct-2001 393 cylinder_mech.ipequa 02-May-2004 2.1k cylinder_mech.ipfibr 02-Oct-2001 1.4k cylinder_mech.ipinit 12-Dec-2002 8.6k cylinder_mech.ipmate 12-Dec-2002 2.3k cylinder_mech.ipnode 02-Oct-2001 2.2k cylinder_mech.ipsolv 16-Aug-2010 2.4k cylinder_mech.ipsolv.old 13-Apr-2007 2.2k fluid.exelem 02-Oct-2001 30k fluid0.0005.exnode 02-Oct-2001 22k fluid0.001.exnode 02-Oct-2001 22k fluid0.0015.exnode 02-Oct-2001 22k fluid0.002.exnode 02-Oct-2001 22k fluid0.0025.exnode 02-Oct-2001 22k fluid0.003.exnode 02-Oct-2001 22k fluid0.0035.exnode 02-Oct-2001 22k fluid0.004.exnode 02-Oct-2001 22k fluid0.0045.exnode 02-Oct-2001 22k fluid0.005.exnode 02-Oct-2001 22k fluid0.exnode 02-Oct-2001 22k solid.exelem 02-Oct-2001 6.9k solid0.0005.exnode 02-Oct-2001 1.6k solid0.001.exnode 02-Oct-2001 1.6k solid0.0015.exnode 02-Oct-2001 1.6k solid0.002.exnode 02-Oct-2001 1.6k solid0.0025.exnode 02-Oct-2001 1.6k solid0.003.exnode 02-Oct-2001 1.6k solid0.0035.exnode 02-Oct-2001 1.6k solid0.004.exnode 02-Oct-2001 1.6k solid0.0045.exnode 02-Oct-2001 1.6k solid0.005.exnode 02-Oct-2001 1.6k solid0.exnode 02-Oct-2001 1.6k test_output.com 02-Oct-2001 41

Download the entire example:

Name                      Modified     Size

examples_8_84_844.tar.gz 17-Aug-2010 503k

Testing status by version:

StatusTestedReal time (s)
i686-linux
cmSuccessSun Mar 6 00:02:17 20162
cm-debugSuccessSat Mar 5 00:14:29 20166
mips-irix
cmSuccessSun Aug 19 01:52:08 200723
cm-debugSuccessWed Aug 15 01:56:13 200773
cm-debug-clear-mallocSuccessSat Aug 18 02:17:53 2007131
cm-debug-clear-malloc7SuccessMon Aug 20 02:15:25 200791
cm64SuccessSun Aug 19 01:52:59 200724
cm64-debugSuccessTue Aug 21 01:56:30 200776
cm64-debug-clear-mallocSuccessThu Apr 1 10:50:40 200434
rs6000-aix
cmSuccessWed Mar 4 01:09:38 20093
cm-debugSuccessMon Mar 2 01:14:31 200923
cm64SuccessWed Mar 4 01:09:40 20094
cm64-debugSuccessTue Mar 3 01:19:18 200923
x86_64-linux
cmSuccessSun Mar 6 00:01:10 20162
cm-debugSuccessSat Mar 5 00:01:53 20164

Testing status by file:


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

Input last modified: Mon Aug 16 11:22:35 2010


CMISS Help / Examples / 8 / 84 / 844