Example 5534: Passive inflation/isovolumic contraction/ejection of a high order prolate model

Two prolate elements (region 1: lambda tricubic Hermite; mu,theta trilinear; pressure nodally interpolated) of pole zero material with is inflated to 1kPa. 2 ventricular cavity elements (region 2) are added and the reference state for the cavity elements is updated to be the deformed shape of the inner wall surface. Contractile forces are activated to simulate isovolumic contraction of the wall (ie cavity volume constant). As the contraction is applied the cavity pressure increases.


The comfile run by this example is as follows:

#Example_5534:  Passive inflation/isovolumic contraction/ejection of a high order two element mesh 
fem define parameters;r;profib_tricubic;example

# Command updated by fixcom.sh on Wed Aug 23 17:49:04 NZT 2000
# Old command: assign variable WALL 1
$WALL = 1

fem define coor;r;wall;example reg $WALL #prolate spheriodal coords
fem define node;r;;example reg $WALL #6 nodes
fem define base;r;;example                     #lambda tricubic; mu/theta trilinear
fem define elem;r;;example reg $WALL #2 wall elements
fem define fibr;r;;example reg $WALL #fibre: endo 65 deg; epi -55 deg
#                                             !sheet: endo -45 deg; epi  45 deg
fem define elem;r;;example fibre reg $WALL
fem define equa;r;;example reg $WALL lock #Incomp finite elasticity; Galerkin FEM
fem define mate;r;;example reg $WALL #pole zero law
fem define acti;r;wall0_00;example reg $WALL #passive inflation
fem define init;r;wall;example reg $WALL #inflate to 1kPa
fem define solv;r;wall;example reg $WALL #LU MA28
#
fem solve increm 0.1 iter 2           #solve inflation problem incrementally
fem solve increm 0.4 iter 2
fem solve increm 0.5 iter 99
fem define init;w;wall_def reg $WALL #save deformed equilibrium solutions
#
fem define window
fem draw lines
fem draw lines deformed dotted        #draw inflated solution

fem eval reac
# ############################################ 
# Inflated solution is converged OK! 
# ############################################ 
#
#
# Save scale factors for the wall elements (see note in description)
fem define base;r;wall_readse;example    #redefine bases to read in scale factors 
fem define line;w;wall reg $WALL #write out scale factors for wall elements
fem define base;r;wall;example           #redefine bases to calculate scale factors
#

# Command updated by fixcom.sh on Wed Aug 23 17:49:04 NZT 2000
# Old command: assign variable CAVITY 2
$CAVITY = 2

#
# Set up cavity region geometry
fem define region;r;coupled;example 
fem define coord;r;cavity;example region $CAVITY
fem define node;r;cavity;example region $CAVITY
fem define element;r;cavity;example region $CAVITY
#
# Set up equations, material properties and initial conditions
# for cavity region
fem define equation;r;coupled;example region $WALL,$CAVITY lock
fem define material;r;cavity_isovol;example region $CAVITY
fem define initial;r;cavity;example region $CAVITY
#
# Define cavity-to-wall coupling and solution procedure information
fem define coupling;r;coupled;example 
fem define solve;r;coupled_lu_nosparse;example coupled region $WALL,$CAVITY
#
# Transfer wall deformation from the inflation problem to 
# geometric dependent variables for the cavity region
fem update solution coupled source_region $WALL
#
# Set up the reference state for the cavity region to be the deformed 
# configuration from the inflation problem.  To set up the 
# 'inflated cavity', the x-coord ('in 1' represents the 1st RC coord)
# for the central cavity node (node 6) is set to the average of the 
# x-coords for the adjacent interface nodes (node 2 - this could 
# be a list of nodes)
fem update solution cavity_reference average 6 in 1 node 2 region $CAVITY
#
# Re-read scale factors for the wall elements
fem define base;r;wall_readse;example    #redefine bases to read in scale factors 
fem define line;r;wall reg $WALL #read in scale factors for wall elements
fem define base;r;wall;example           #redefine bases to calculate scale factors
#
# List undeformed (pre-inflation) and inflated cavity volumes
fem list element total region $CAVITY
fem list element deformed total region $CAVITY
# ############################################
# cavity volume inflated from 40ml to 69ml.
# ############################################
#
fem define window
fem draw lines rgb=grey region $WALL,$CAVITY
#
# Check that the current coupled solution is converged (as expected!)
#fem evaluate residuals wrt geom_params coupled
#fem evaluate reactions coupled
fem solve coupled increment 0.0
#fem define initial;r;profib_enddiast region WALL,CAVITY
#
# Save deformed configurations for end diastole
fem define initial;w;profib_enddiast region $WALL,$CAVITY
fem draw;add lines deformed dotted rgb=red region $WALL,$CAVITY
#
# ############################################
# inflated state is a converged solution for the coupled problem!
# ############################################
#
# ISOVOLUMIC CONTRACTION
#
# Increment intracell calcium conc and solve for isovolumic contraction
fem define active;r;profib_contract;example
fem solve coupled increment 0.0 iter 10
#fem define initial;r;profib_endisovolcontr region WALL,CAVITY
#
# Save deformed configurations for end isovolumic contraction
fem define initial;w;profib_endisovolcontr region $WALL,$CAVITY
#
fem draw;add lines deformed dotted rgb=blue region $WALL,$CAVITY
#
# Check that cavity volume has not changed
fem list element deformed total region $CAVITY
# ############################################
# This contraction phase was indeed isovolumic!
# (cavity volume still 69ml).
# ############################################ 
#
# EJECTION
#
# Decrease cavity 'stiffness parameter' and solve for ejection
fem define material;r;cavity_eject;example region $CAVITY
fem solve coupled increment 0.0
#fem define initial;r;profib_endeject;example region WALL,CAVITY
#
# Save deformed configurations for end ejection
fem define initial;w;profib_endeject region $WALL,$CAVITY
#
fem draw;add lines deformed dotted rgb=green region $WALL,$CAVITY
#
# Determine cavity volume at end-ejection.  
# NOTE: to calc cavity volume, the deformed position of the central
# cavity node must be recalc'ed from the averaged adjacent wall nodes.
# After doing this the current solution is meaningless, ie. best to save
# deformed configurations for both regions before this (as above).
fem update solution cavity_reference average 6 in 1 node 2 region $CAVITY
fem list element deformed total region $CAVITY
# ############################################
# Not a huge ejection fraction (!!!), but neverless a decrease 
# in volume from 69ml to 67ml.
# ############################################

Additional testing commands:

fem list initial

Files used by this example are:

Name                            Modified     Size

example_5534.com 20-Nov-2001 6.0k cavity.ipcoor 10-Apr-2000 710 cavity.ipelem 10-Apr-2000 1.2k cavity.ipinit 12-Dec-2002 1.7k cavity.ipnode 10-Apr-2000 4.8k cavity_eject.ipmate 10-Apr-2000 386 cavity_isovol.ipmate 10-Apr-2000 390 coupled.ipcoup 21-Aug-2002 437 coupled.ipcoup.old 10-Apr-2000 386 coupled.ipregi 10-Apr-2000 94 coupled.irequa 02-May-2004 3.8k coupled_lu_nosparse.irsolv 16-Aug-2010 2.6k coupled_lu_nosparse.irsolv.old 13-Apr-2007 2.4k name.txt.mpn 10-Apr-2000 62 profib_contract.ipacti 03-Mar-2004 735 profib_enddiast.irinit 13-Dec-2002 26k profib_endeject.irinit 13-Dec-2002 26k profib_endisovolcontr.irinit 13-Dec-2002 26k profib_tricubic.ippara 17-Dec-2002 5.9k profib_tricubic.out 10-Apr-2000 19k profib_tricubic_old.out 10-Apr-2000 12k test_output.com 10-Apr-2000 17 wall.ipbase 10-Apr-2000 12k wall.ipcoor 10-Apr-2000 710 wall.ipelem 10-Apr-2000 1.2k wall.ipelfb 10-Apr-2000 618 wall.ipequa 02-May-2004 2.0k wall.ipfibr 30-Jan-2001 1.7k wall.ipinit 12-Dec-2002 1.6k wall.ipline 13-Dec-2002 10k wall.ipmate 12-Dec-2002 6.3k wall.ipnode 10-Apr-2000 4.8k wall.ipshee 10-Apr-2000 915 wall.ipsolv 16-Aug-2010 2.3k wall.ipsolv.old 13-Apr-2007 2.1k wall0_00.ipacti 03-Mar-2004 735 wall_def.ipinit 13-Dec-2002 15k wall_def_old.ipinit 12-Dec-2002 15k wall_readse.ipbase 10-Apr-2000 12k

Download the entire example:

Name                           Modified     Size

examples_5_55_553_5534.tar.gz 17-Aug-2010 36k

Testing status by version:

StatusTestedReal time (s)
i686-linux
cmFailureSun Mar 6 01:08:37 201644
last breakTue Feb 24 03:51:00 201545
last successSun Apr 17 01:13:00 201180
cm-debugFailureSun Mar 6 01:25:42 201684
last breakTue Feb 24 03:59:00 201586
last successSat Apr 16 01:57:00 2011165
mips-irix
cmSuccessSun Aug 19 04:53:10 2007213
cm-debugSuccessWed Aug 15 03:53:25 2007688
cm-debug-clear-mallocSuccessSat Aug 11 05:25:59 2007695
cm-debug-clear-malloc7SuccessMon Aug 13 03:54:44 2007696
cm64SuccessSun Aug 19 05:02:01 2007240
cm64-debugSuccessTue Aug 14 03:57:33 2007717
cm64-debug-clear-mallocSuccessFri May 20 10:41:19 2005303
rs6000-aix
cmSuccessWed Mar 4 01:20:33 200925
cm-debugSuccessMon Mar 2 01:46:34 2009232
cm64SuccessWed Mar 4 01:20:53 200927
cm64-debugSuccessTue Mar 3 01:50:31 2009212
x86_64-linux
cmFailureSun Mar 6 00:04:24 201622
last breakTue Aug 12 00:02:00 201424
last successSun Apr 17 00:31:00 201126
cm-debugFailureSun Mar 6 00:05:39 201644
last breakTue Aug 12 00:02:00 201452
last successSat Apr 16 00:32:00 201153

Testing status by file:


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

Input last modified: Mon Aug 16 11:19:20 2010


CMISS Help / Examples / 5 / 55 / 553 / 5534