Stimulation

Module: devtests.bidomain.stimulation.run

Section author: Gernot Plank <gernot.plank@medunigraz.at>

Example of different types of stimulation either through the application of extracellular voltages (Dirichlet) or through the injection/withdrawal of extracellular currents (Neumann).

Problem Setup

A thin strand of tissue of 1 cm lenght is generated. Electrodes are located at both caps of the strand with an additional auxiliary electrode in the very center of the strand. Electrode locations are shown belows:

images/strand_electrodes.png

Each electrode can be used to inject/withdraw current, prescribe an extracellular potential or ground the extracellular potential.

Experiments

Several experiments are defined:

  • extra_V - Stimulation through application of extracellular voltage. The potential on the left cap is clamped to 2000 mV for a duration of 2 ms.
  • extra_V_bal - Stimulation through application of extracellular voltage. The potential on the left cap is clamped to 1000 mV for a duration of 2 ms and the right hand electrode to -1000mV.
  • extra_V_OL - Stimulation through application of extracellular voltage. The potential on the left cap is clamped to 2000 mV for a duration of xx ms. In contrast to the extra_V case the left hand electrode is allowed to float after the end of the shock.
  • extra_I - Stimulation through application of extracellular current. Extracellular current is injected into the left hand electrode to cause an extracellular potential drop of 2000 mV across the strand.
  • extra_I_bal - Stimulation through application of extracellular current. Extracellular current is injected into the left hand electrode and the same amount is withdrawn from the right hand side electrode. Overall this also causes an extracellular potential drop of 2000 mV across the strand, albeit in a symmetric way.

Optional Arguments

  • grounded - A ground can be used or not. In the latter case, no grounding electrode
    is used, that is, a pure Neumann-problem is solved. A rank-one stabilization is used in this case which essentially enforces the integral over the extracellular potential to be zero at each instant in time, but no specific point is clamped.

Tests

extra_V

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(phie.igb)
  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:09.905681, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.538018
ALL PASSED
  PASS max_error(phie.igb): 0.0001220703125
  PASS max_error(vm.igb): 6.103515625e-05

extra_V_OL

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(phie.igb)
  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:10.481569, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.574593
ALL PASSED
  PASS max_error(phie.igb): 3.0517578125e-05
  PASS max_error(vm.igb): 7.62939453125e-06

extra_I

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(phie.igb)
  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:11.098776, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.570663
ALL PASSED
  PASS max_error(phie.igb): 0.0001220703125
  PASS max_error(vm.igb): 2.288818359375e-05

extra_IbalGnd

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(phie.igb)
  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:11.704993, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.540991
ALL PASSED
  PASS max_error(phie.igb): 6.103515625e-05
  PASS max_error(vm.igb): 2.288818359375e-05

extra_IbalNGnd

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(phie.igb)
  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:12.289001, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.548039
ALL PASSED
  PASS max_error(phie.igb): 6.103515625e-05
  PASS max_error(vm.igb): 2.288818359375e-05

overstim_protect

Tags: FAST SERIAL

Checks:

  • Compare against stored reference: max_error(vm.igb)

Last run: 2024-02-29 01:04:12.878148, revision {‘base’: ‘cbf8efd0’}, dependency revisions {PT_C: 31642c1e,cvsys: 593686bc,eikonal: 5fbbfda3,elasticity: 4d92ddfc}

Runtime: 0:00:00.778117
ALL PASSED
  PASS max_error(vm.igb): 1.1444091796875e-05