NumaIRE Module
This is a macro-scale IRE solver based on solving Laplace's equation with a deposition-dependent electric conductivity (using a similar approach to e.g. Garcia et al, 2014).
The IRE protocol is formed of a sequence of pairings of in situ needles. For instance, six needles may be attached to the generator and placed in the liver, preferably to be parallel. The protocol may be, say, nine consecutive pairings of needles with one as acting an anode and another as a cathode. The remainder are inert for that protocol step.
As each step is treated as a steady-state problem, we use timestepping to move from one pair to the next - in the example above, we use nine timesteps.
Global Parameters
| Parameter | Location | Type | Default | Description |
|---|---|---|---|---|
| Anode | Simulation | Integer Array (size N) | - | This is a list of boundary IDs, one for each timestep, indicating the erstwhile anode boundary (req) |
| Cathode | Simulation | Integer Array (size N) | - | This is a list of boundary IDs, one for each timestep, indicating the erstwhile cathode boundary (req) |
| Potential Consecutive Values | Simulation | Real Array (size 2xN) | - | The first row lists potential values on the anode, the second those on the cathode |
The Anode, Cathode and Potential Consecutive Values arrays must be the same length, with the PCV array having two rows.
AlternatingBCSolver (libnuma-ire)
This is an upstream version of NumaAlternating, working with two
lists of embedded boundaries, switching between a Dirichlet condition and no
condition at all. It searches for boundary conditions with an Alternating Boundary
Condition parameter set to TRUE and turns them on when the BC's Body Id
matches the current Anode or Cathode value.
AlternatingBoundaryCondition
This is a user-defined function that returns the potential Dirichlet condition value based on whether the boundary element to which it is being applied is an anode or a cathode (zero otherwise, but when used in conjunction with the AlternatingBCSolver, this will be ignored).
CoverageCurveOutputSolver
The coverage curve output solver calculates, for each energy deposition level $ E $, the cumulative volume of tumour which has experienced maximum deposition above that level. This is a common way of reporting IRE efficacy as, for a chosen death threshold, the lesion size can be read off a plot.
At each timestep, it outputs a file, "coverage_TTT.txt", where TTT is the
timestep. Each line has the format: Threshold (V/cm), Fraction of tumour volume.
This solver contains a simple example of succinctly integrating a function over
a domain, which may be a useful starting point for other authors.
| Parameter | Location | Type | Default | Description |
|---|---|---|---|---|
| E | - | Variable | - | Most recent energy deposition at a point (req) |
| Max E | - | Variable | - | Maximum energy deposition at a point (req) |
| Minimum Coverage | Solver | Real | - | Lowest energy level to calculate (req) |
| Maximum Coverage | Solver | Real | - | Higher energy level to calculate (req) |
| Divisions | Solver | Integer | - | Number of energy levels (req) |
| Tumour | Material | Logical | FALSE | Whether or not this cell should be counted as tumour tissues, that is, whether it contributes to the totals |
MaxESolver
Provides the maximum energy deposition over previous time as a variable (MaxE), along with energy deposition at present time (E), electric conductivity based on energy deposition (Electric Conductivity) and survival, based on the Garcia et al, 2014 model relating pulse number to death threshold. Note that the constants here are not based on in vivo human studies, so improved values should be used when available.
| Parameter | Location | Type | Default | Description |
|---|---|---|---|---|
| Joule Heating | - | Variable | - | Output Joule Heating of, say, Elmer's electric potential solver |
| Pulse Number | Solver | Integer | - | Number of pulses at each protocol step (req) |
| E0 | Solver | Real | 399600.0 | Modelling parameter in Garcia et al, 2014 |
| A0 | Solver | Real | 144100.0 | Modelling parameter in Garcia et al, 2014 |
| K1 | Solver | Real | 0.03 | Modelling parameter in Garcia et al, 2014 |
| K2 | Solver | Real | 0.06 | Modelling parameter in Garcia et al, 2014 |