Example b232: Simple Explicit 3D Cubic Ionic Activation (monodomain) using Grid-based FE


This example solves the Cubic Ionic Activation model, using the monodomain equations in a rectangular cardiac tissue sample. This example is a simplified version to b231 and uses the Grid-based Finite Element method.

The collocation grid connectivity information in region 1 is determined from cleavage plane information in region 2.

After running this example, the output from this problem may be viewed by running draw.com.


The comfile run by this example is as follows:

# Example b232
# ------------

fem define para;r;cube;example

fem define regi;r;cube;example              #two regions
fem define coor;r;region1;example reg 1     #rect.cartesian
fem define coor;r;region2;example reg 2     #rect.cartesian

fem define base;r;cube;example              #define linear basis functions
fem define node;r;cube;example              #define nodes for tissue sample
fem define elem;r;cube;example              #define elemnets for tissue sample

# cleavage planes must be plane (flat)
fem define node;r;cleavage;example reg 2 #nodes for cleavage plane elements
fem define elem;r;cleavage;example reg 2 #elements defining cleavage cuts

fem define fibr;d                   #default fibre angle
fem define elem;r;cube;example fibre
fem define grid;r;cube;example              #grid density
fem update grid geometry
fem group grid xi1=low as stimulus
fem update grid connectivity      #make grid pts adjacent to cleavage be bdry pts

if($TESTING) {
  fem list grid;connectivity connectivity
}
fem group grid external as boundary

fem define equa;r;cube;example              #cubic monodomain
fem define mate;r;cube;example

fem list grid group

# set num_threads 32

fem define cell;r;cube;example

fem define init;r;cube;example
fem define solv;r;cube;example

# cmgui output
fem export node;3dcube as cube reg 1
fem export elem;3dcube grid_numbers as cube reg 1
fem export node;cleavage as cleavage reg 2
fem export elem;cleavage as cleavage reg 2

fem solve to 0
fem export elem;"gridfield_000" field

# loop through time from 0 to 5 msec
foreach $count ( '001'..'050' ) {
 my $time = $count / 10;
 fem solve restart to "$time"
 print "time: $time\n";
 fem export elem;"gridfield_$count" field
}

#See draw.com to view results

Files used by this example are:

Name              Modified     Size

example_b232.com 03-May-2003 1.7k cleavage.ipelem 18-Sep-2000 406 cleavage.ipnode 03-May-2003 1.1k cube.ipbase 22-Aug-2000 2.4k cube.ipcell 22-Aug-2000 1.8k cube.ipcoor 22-Aug-2000 570 cube.ipelem 22-Aug-2000 404 cube.ipelfb 22-Aug-2000 233 cube.ipequa 26-May-2003 1.4k cube.ipgrid 06-Mar-2003 603 cube.ipinit 18-Sep-2000 567 cube.ipmate 18-Sep-2000 1.8k cube.ipnode 18-Sep-2000 1.7k cube.ippara 12-Nov-2002 5.9k cube.ipregi 22-Aug-2000 93 cube.ipsolv 13-Apr-2007 1.8k cube.ipsolv.old 18-Sep-2000 1.5k draw.com 03-May-2003 3.3k region1.ipcoor 22-Aug-2000 572 region2.ipcoor 22-Aug-2000 572

Download the entire example:

Name                           Modified     Size

examples_b_b2_b23_b232.tar.gz 14-Apr-2007 16k

Testing status by version:

StatusTestedReal time (s)
i686-linux
cmSuccessSun Mar 6 00:02:27 20161
cm-debugSuccessSat Mar 5 00:04:24 20161
mips-irix
cmSuccessSun Aug 19 01:32:40 20076
cm-debugSuccessWed Aug 15 01:28:13 200712
cm-debug-clear-mallocSuccessSat Aug 18 01:34:10 200716
cm-debug-clear-malloc7SuccessMon Aug 20 01:31:36 200716
cm64SuccessSun Aug 19 01:33:17 20076
cm64-debugSuccessTue Aug 21 01:27:10 200713
cm64-debug-clear-mallocSuccessThu Apr 1 11:23:23 20046
rs6000-aix
cmSuccessWed Mar 4 01:07:50 20091
cm-debugSuccessMon Mar 2 01:07:27 20093
cm64SuccessWed Mar 4 01:08:43 20091
cm64-debugSuccessTue Mar 3 01:13:02 20093
x86_64-linux
cmSuccessSun Mar 6 00:01:06 20161
cm-debugSuccessSat Mar 5 00:01:37 20160

Testing status by file:


Html last generated: Sun Mar 6 05:51:16 2016

Input last modified: Fri Apr 13 10:40:17 2007


CMISS Help / Examples / b / b2 / b23 / b232