Region Reunification (gvec)

See code in GitLab.
Author: Patrick Boyle pmjboyle@gmail.com

This example details how to output the values of state variables over time during a simulation using the gvec[] interface. This example is a stub to demonstrate the most basic functionality and should be expanded when possible. To run the experiments of this example change directories as follows:

cd ${TUTORIALS}/02_EP_tissue/02_EP_tissue/05D_Region_Reunification

Problem Setup

This example will run one simulation using a 2D sheet model (1 cm x 1 cm) that has been divided into four regions, each of which uses a different ionic model. All four models have an implementation of the fast sodium current (\(I_\mathrm{Na}\)), but in one of the models the state variable names are upper-case instead of lower-case (i.e., \(M/H/J\) vs. \(m/h/j\)). The gvec[] interface is used to reunify these state variables from the four regions and output three IGB files: I_Na_m.igb, I_Na_h.igb, and I_Na_j.igb.

Usage

No optional arguments are available.

If the program is run with the --visualize option, meshalyzer will automatically load the produced I_Na_m.igb file, which shows \(I_\mathrm{Na}(t)\) for the entire simulation domain.

What's Going On Under The Hood?

The relevant part of the .par file for this example is shown below:

#############################################################
num_gvecs                = 3
#############################################################
gvec[0].name             = INa_m
gvec[0].ID[0]            = m
gvec[0].ID[1]            = m
gvec[0].ID[2]            = M # <== Note upper-case letter
gvec[0].ID[3]            = m

gvec[1].name             = INa_h
gvec[1].ID[0]            = h
gvec[1].ID[1]            = h
gvec[1].ID[2]            = H # <== Note upper-case letter
gvec[1].ID[3]            = h

gvec[2].name             = INa_j
gvec[2].ID[0]            = j
gvec[2].ID[1]            = j
gvec[2].ID[2]            = J # <== Note upper-case letter
gvec[2].ID[3]            = j

Each gvec[] structure contains information about one variable that is to be reunified and output. Note that unlike gregion[] and imp_region[], there are no .num_ID variables here. That is because the number of entries in each .ID array is actually determined by num_imp_regions. In this example, the relevant imp_region details are as follows:

  • imp_region[0].im = LuoRudy94
  • imp_region[1].im = Ramirez
  • imp_region[2].im = tenTusscherPanfilov
  • imp_region[3].im = MahajanShiferaw

As noted above, state variables associated with the fast sodium current are \(M/H/J\) in the tenTusscherPanfilov implementation vs. \(m/h/j\) in the other 3. This is why the gvec[].ID[2] entries, which are linked to tenTusscherPanfilov in imp_region[2], are upper-case instead of lower-case.

© Copyright 2020 openCARP project    Supported by DFG and EuroHPC    Contact    Imprint and data protection