CEPS: Volume Fraction

Volume fraction is a way to include cell-scale heterogeneities of the myocardium into tissue scale computations.

Citing [1]:

"The standard model used in cardiac electrophysiology is the bidomain model. It is an averaged model derived from the microscopic properties of the tissue. The bidomain model assumes that the electrically active myocytes are present uniformly everywhere in the heart. While this is a reasonable assumption for healthy hearts, it fails in some pathological cases where significant changes in the tissue structure occur, for example in ischaemic and rheumatic heart disease, inflammation, hypertrophy, or infarction. These tissue heterogeneities are often taken into account through an ad-hoc tuning of model parameters. [...]

We assume[] a periodic alternation of healthy (bidomain model) and altered (diffusive inclusion) tissue patches. Such a model may be simulated directly, at the high computational cost of a very fine discretisation. Instead we derive[] a homogenized model at the macroscopic scale, using a rigorous two-scale analysis. We recover[] a bidomain-type model with modified conductivity coefficients. "

Volume fraction (VF) is the ratio between normal tissue and diffusive inclusions.

In order to add volume fraction in your computations (e.g. for scarred tissue), at least two data sources must be provided:

  • a scalar array in which VF is defined on each mesh element, given in a .mesh or .vtk file. The file containing this array is specified in the main input file by the key
volume fraction file: <file>

If VF is given in a vtk file (which can be the same as the mesh file), you can specify the name of the data array with the keyword

volume fracion array name: <name> (default: volumeFraction)
  • the second data source are precomputed interpolation maps of conductivity tensors as a function of VF. These maps are generated by solving a PDE on the periodic cell containing the inclusion through another software that will be included in the CEPS environment soon. Different maps can be associated to different regions of the mesh. Here is the syntax for the main input file:
volume fraction conductivity maps: attr1 file1 component1, attr2 file2 component1, attr1 file3 component2, ...

Each file is made of 7 columns: the volume fraction, then the 6 values of the modified symmetrical conductivity tensor ( $g_{11}$, $g_{12}$, $g_{13}$, $g_{22}$, $g_{23}$, $g_{33}$ ). Each parameters substring (between commas) consists in the region attribute where the interpolation map is applied (-1 for everywhere), the file name where the map is stored and finally the component on which the conductivity applies.

Here is an example of interpolation map file

# VF g11 g12 g13 g22 g23 g33
0. 1.e-4 0. 0. 1.e-4 0. 1.e-4
0.5 3.e-4 0. 0. 1.e-4 0. 1.e-4
1. 0.004 0. 0. 0.001 0. 0.001

[1] Andjela Davidović. Multiscale mathematical modelling of structural heterogeneities in cardiac electrophysiology. PhD Thesis. Université de Bordeaux, 2016.