Example 141: Auckland's full heart anatomical mesh example (ipfiles)

Reads geometric information from ipfiles for Auckland's full heart mesh (geometry fibres and sheets) and exports node and element files to cmgui.

 Heart H27 nodal parameters. 
 (Note: this is H27 geometry with sheets and H02 fibres) 

 There are 99 nodes which are used in 60 elements using the 
 prolate spheroidal coordinate system (lambda, mu, theta). 
 See Nielsen, LeGrice, Smaill and Hunter "Mathematical model of 
 geometry and fibrous structure of the heart" AJP 260 H1365-H1378, 1991.

 x-axis is main axis of heart from base to apex
 y-axis goes through middle of RV
 z-axis completes right-handed orthogonal system

 XP(1,1,np) is lambda coord at node np
 XP(2,1,np) is derivative of lambda wrt s1 at node np
 XP(3,1,np) is derivative of lambda wrt s2 at node np
 XP(4,1,np) is cross deriv of lambda wrt s1 & s2 at node np
 XP(1,2,np) is mu coord (radians) at node np
 XP(1,3,np) is theta coord (radians) at node np
 XP(1,4,np) is fibre angle (radians) at node np
 XP(2,4,np) is deriv of fibre angle wrt s3 (radians) at node np
 XP(1,5,np) is imbrication angle (not used here)
 XP(1,6,np) is sheet angle
 XP(2,6,np) is derivative of sheet angle
 
 Basis nb=1 is bicubic-linear (used for lambda)
 Basis nb=2 is trilinear      (used for mu & theta)
 Basis nb=3 is bilinear-cubic (used for fibre field)
 Basis nb=8 is linear-bicubic (used for sheet field)

 Nodes on the epicardium are, in layers from base to apex and in
 clockwise order (viewed from base towards apex) starting at z=0:
 1st layer:  1,44, 2,56,47, 3,50,59, 4,53
 2nd layer:  5,43, 6,55,46, 7,49,58, 8,52
 3rd layer:  9,42,10,54,45,11,48,57,12,51
      apex: 13(10 versions for theta)

 Nodes on the LV endocardium are, in layers from base to apex and in
 clockwise order (viewed from base towards apex) starting at z=0:
 1st layer: 29,62,30,74,65,31,68,77,32,71
 2nd layer: 33,61,34,73,64,35,67,76,36,70
 3rd layer: 37,60,38,72,63,39,66,75,40,69
      apex: 41(10 versions for theta)

 Nodes on the LV midwall are, in layers from base to apex and in
 clockwise order (viewed from base towards apex):
 1st layer:       15,90,93,16,96,99,17    (continues on to RV endo)
 2nd layer:       20,89,92,21,95,96,22    (continues on to RV endo)
 3rd layer: 24,78,25,88,91,26,94,97,27,81
      apex: 28(10 versions for theta)

 Nodes on the RV free wall endo are, in layers from base to apex and in
 clockwise order (viewed from base towards apex) starting at z=0:
 1st layer: 14,80,15(2 versions for fibres),17(2 versions for fibres),83
 2nd layer: 19,79,20(2 versions for fibres),22(2 versions for fibres),82
 3rd layer: 24(2 versions for fibres),78(2 versions for fibres),
            25(2 versions for fibres),27(2 versions for fibres),
            81(2 versions for fibres)

 Nodes on the RV septal wall endo are, in layers from base to apex and in
 clockwise order (viewed from base towards apex) starting at z=0:
 1st layer: 18,85,15(2 versions for fibres),17(2 versions for fibres),87
 2nd layer: 23,84,20(2 versions for fibres),22(2 versions for fibres),86
 3rd layer: 24(2 versions for fibres),78(2 versions for fibres),
            25(2 versions for fibres),27(2 versions for fibres),
            81(2 versions for fibres)

 The RV free wall has elements:   1, 2,   9,10
                                 11,12,  19,20

 The septal  wall has elements:  31,32,  39,40
                                 41,42,  49,50,

 The LV free wall has elements:    (subepi)           (subendo)
                                    3.. 8              33..38
                                   13..18              43..48
                             21,22,23..28,29,30  51,52,53..58,59,60


 NPE(nn,nb,ne) is the global node# (np) associated with local node nn of
 element ne for basis nb. These (see below) give the connectivity of the mesh.
 
 SE(ns,nb,ne) is the scaling factor associated with element variable ns for 
 basis nb of element ne where, for nb=1,
      ns is 1..4 for the 4 bicubic derivs in the Xi_1 & 2 dir.s at node nn=1
      ns is 5..8             "       "       "       "          at node nn=2
      .                                                         .
      .                                                         .
      ns is 29..32           "       "       "       "          at node nn=8

 and for nb=3,
      ns is 1,2 for the 2 cubic derivs in the Xi_3 direction at node nn=1
      .
      .
      ns is 15,16            "       "       "       "       at node nn=8

 The way in which the scaling factors are used is explained in the AJP paper.


The comfile run by this example is as follows:

#Example_141: Reads all ipfiles for Auckland's
#full anatomical model of the ventricles (geometry fibres and sheets). 
#Exports of node and element files to cmgui.

fem
fem define coord;r;heart;example  #3D Prolate spheroidal coordinates
fem define node;r;;example        #99 nodes
fem define base;r;;example        #Lambda: bicubic-Hermite/linear; mu,
#                                 !  theta: trilinear
fem define element;r;;example     #60 elements
fem define fibre;r;;example       #fibre angle: bilinear/cubic-Hermite
#                                 !imbrication angle: zero everywhere 
#                                 !  (trilinear)
#                                 !sheet angle: linear/bicubic-Hermite
fem define element;r;;example fibre #60 fibre elements with versions
fem export nodes as heart                 #export nodes to cmgui
fem export elements as heart           #export elements to cmgui
fem write iod;heart

Additional testing commands:

fem li coord
fem li node
fem li base
fem li element
#fem li fibre

Files used by this example are:

Name                   Modified     Size

example_141.com 26-Jan-2001 935 example_141.cmgui_com 10-Apr-2000 548 graphics.com 10-Apr-2000 548 heart.exelem 26-Jan-2001 376k heart.exnode 26-Jan-2001 47k heart.iod 26-Jan-2001 663k heart.iod_old 10-Apr-2000 666k heart.ipbase 10-Apr-2000 11k heart.ipcoor 10-Apr-2000 746 heart.ipelem 10-Apr-2000 38k heart.ipelfb 10-Apr-2000 27k heart.ipfibr 30-Jan-2001 49k heart.ipnode 10-Apr-2000 44k heart.ippara 17-Dec-2002 5.0k heart.ippara_old 10-Apr-2000 3.4k heart.ipshee 10-Apr-2000 27k heart1.rgb 10-Apr-2000 195k heart_groups.com_old 10-Apr-2000 6.5k test1.opfiel 10-Apr-2000 43k test_output.com 10-Apr-2000 66

Download the entire example:

Name                      Modified     Size

examples_1_14_141.tar.gz 18-Aug-2006 337k

Testing status by version:

StatusTestedReal time (s)
i686-linux
cmSuccessSun Mar 6 00:01:33 20161
cm-debugSuccessSat Mar 5 00:01:53 20161
mips-irix
cmSuccessSun Aug 19 01:37:30 20079
cm-debugSuccessWed Aug 15 01:28:27 200713
cm-debug-clear-mallocSuccessSat Aug 18 01:33:34 200715
cm-debug-clear-malloc7SuccessMon Aug 20 01:30:56 200715
cm64SuccessSun Aug 19 01:36:16 20079
cm64-debugSuccessTue Aug 21 01:27:54 200713
cm64-debug-clear-mallocSuccessThu Apr 1 10:10:19 20046
rs6000-aix
cmSuccessWed Mar 4 01:06:49 20091
cm-debugSuccessMon Mar 2 01:07:17 20093
cm64SuccessWed Mar 4 01:08:46 20091
cm64-debugSuccessTue Mar 3 01:12:54 20093
x86_64-linux
cmSuccessSun Mar 6 00:01:01 20161
cm-debugSuccessSat Mar 5 00:01:12 20160

Testing status by file:


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

Input last modified: Tue Dec 17 18:22:40 2002


CMISS Help / Examples / 1 / 14 / 141