openCARP parameters

openCARP is designed to support multi-physics from the ground up. Therefore, the mesh regions are assigned to different physics. For simple EP experiments on the whole mesh without bath, no additional input w.r.t. CARPentry is required, as all regions are assigned by default to the Intracellular and Extracellular domains. With a bath present, the user needs to inform the simulator which regions form which simulation domains.

Parameters

num_phys_regions <Int>
Description The number of physics regions. FIELD_COUNT_LEGACY
Default value (Int)(0)
Validation Value must be greater than (Int)(0)
Description Array containing the defined physics regions.

Parameters

ptype <Int>
Description Defines the type of physics.
Default value (Int)(0)
Validation

Possible values are

  • (Int)(0): Intracellular Electrics
  • (Int)(1): Extracellular Electrics
  • (Int)(2): Eikonal
  • (Int)(5): Laplace
  • (Int)(6): EMI model
required parameter:
  • phys_region
name <String>
Description Symbolic name for the physics region
Default value (String)("")
required parameter:
  • phys_region
num_IDs <Int>
Description Defines the number of IDs (equivalent to element tags) listed under 'ID'. FIELD_COUNT_LEGACY
Default value (Int)(0)
required parameter:
  • phys_region
ID <Int>
Description Define the set of tags forming a mesh region.
Notation supports lists and ranges such as 100:200,203,300:2:400. Indexed assignments remain supported for compatibility.
Default value (Int)(0)
required parameters:
  • phys_region
  • phys_region.num_IDs
In this section, you can find all the information to define the conductivity of your model (or conduction velocities when using the DREAM).

Parameters

num_gregions <Int>
Description Defines the total number of regions with respectively different conductivity settings. FIELD_COUNT_LEGACY
Default value (Int)(1)
Validation Value must be greater than (Int)(1)
Description Sets the conductivity for different regions (or conduction velocities when using the DREAM). The array index allows enumeration of all gregions.

Parameters

g_mult <Float>
Description Defines the factor by which all conductivities in the region should be multiplied (after all other modifications are performed).
Default value (Float)(1.0)
Validation Value must be greater than (Float)(0)
required parameter:
  • gregion
g_il <Double>
Description Defines the intracellular conductivity along the fiber direction (longitudinal).
Unit S/m
Default value (Double)(0.174)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_el <Double>
Description Defines the extracellular conductivity along the fiber direction (longitudinal).
Unit S/m
Default value (Double)(0.625)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_it <Double>
Description Defines the intracellular conductivity in sheet direction (transversal).
Unit S/m
Default value (Double)(0.019)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_et <Double>
Description Defines the extracellular conductivity in sheet direction (transversal).
Unit S/m
Default value (Double)(0.236)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_in <Double>
Description Defines the intracellular conductivity in the sheet-normal direction (normal).
Unit S/m
Default value (Double)(0.019)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_en <Double>
Description Defines the extracellular conductivity in the sheet-normal direction (normal).
Unit S/m
Default value (Double)(0.236)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
g_bath <Double>
Description Defines the isotropic conductivity for non-myocardium domain, e.g blood.
The absence of anisotropy is assumed for this region. If anisotropy is required use a negative tag for the mesh elements in the .elem file and set fibre direction in the .lon file.
Unit S/m
Default value (Double)(1.)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
name <String>
Description Symbolic description of this conductive region (e.g. bath, cavity etc.)
Default value (String)("")
required parameter:
  • gregion
num_IDs <Int>
Description Shows how many model regions use this conductivity setting. FIELD_COUNT_LEGACY
Default value (Int)(0)
required parameter:
  • gregion
ID <Int>
Description Specify the set of model regions (equivalent to mesh element tags, non-negative) using this conductivity setting.
Notation supports lists and ranges such as 100:200,203,300:2:400. Indexed assignments remain supported for compatibility.
Default value (Int)(-1)
required parameters:
  • gregion
  • gregion.num_IDs
Description Specify the conduction velocities for the Diffusion Reaction Eikonal Alternant Model.

Parameters

vel_l <Double>
Description Defines the conduction velocity along the fiber direction (longitudinal) for the eikonal model
Unit mm/s
Default value (Double)(1000)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
vel_t <Double>
Description Defines the transversal conduction velocity for the eikonal model.
Unit mm/s
Default value (Double)(600)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion
vel_n <Double>
Description Defines the normal conduction velocity for the eikonal model.
Unit mm/s
Default value (Double)(400)
Validation Value must be greater than (Double)(0)
required parameter:
  • gregion

Parameters

gi_scale_vec <RFile>
Description Path to element-wise intracellular conductivity scaling file.
Supports n=1 (one scalar per element) and n=3 (sl st sn, one triplet per element in the fiber frame).
Format: optional header line containing n (1 or 3), followed by g_numelem lines each with n whitespace-separated floats.
If no header is present, n is inferred from the number of values on the first data line.
For n=3, sl/st/sn scale eVals[0..2] in the fiber/sheet/normal frame; bath elements (no fiber) are scaled isotropically using sl.
Note (monodomain): with bidm_eqv_mono=1 (default) the intra grid uses the effective conductivity D_eff = sigma_i*sigma_e/(sigma_i+sigma_e); gi_scale_vec then scales D_eff directly, not sigma_i alone.
Default value (RFile)("")

Parameters

ge_scale_vec <RFile>
Description Path to element-wise extracellular conductivity scaling file.
Supports n=1 (one scalar per element) and n=3 (sl st sn, one triplet per element in the fiber frame).
Format: optional header line containing n (1 or 3), followed by g_numelem lines each with n whitespace-separated floats.
If no header is present, n is inferred from the number of values on the first data line.
For n=3, sl/st/sn scale eVals[0..2] in the fiber/sheet/normal frame; bath elements (no fiber) are scaled isotropically using sl.
Note (bidomain): the extracellular stiffness matrix is assembled with the bulk conductivity tensor (sigma_i + sigma_e). ge_scale_vec therefore scales this sum, not sigma_e alone. The intracellular stiffness (parabolic equation) is unaffected.
Note (monodomain): the extracellular grid is not initialised for monodomain simulations; ge_scale_vec has no effect. Use gi_scale_vec instead.
Default value (RFile)("")
In this section, you can find all the information to define more or more ionic models for your simulation.

Parameters

num_imp_regions <Int>
Description Number of different region definitions. FIELD_COUNT_LEGACY
Default value (Int)(1)
Validation Value must be greater than (Int)(1)
Description Sets the ionic model for different regions. The array index allows enumeration of all imp_region[].

Parameters

im <String>
Description Defines the ionic model to be used in the simulation.
Query for available ionic models by calling 'bench' with the command list-imps.
Default value (String)(TO_STRING(LuoRudy91))
required parameter:
  • imp_region
im_sv_init <RFile>
Description Name of the file containing the initial of state variable values.
Default value (RFile)("")
required parameter:
  • imp_region
plugins <String>
Description Specify a colon separated list of plug-ins to use with the ionic model.
Query for available plug-ins by calling 'bench --plugin-outputs'.
Default value (String)("")
required parameter:
  • imp_region
name <String>
Description Defines the symbolic name of region. This helps with structuring extensive parameter lists and makes them more human readable.
Default value (String)(strncmp(TO_STRING([[Father]]),TO_STRING(PurkIon),7)? TO_STRING(Myocardium):TO_STRING(Purkinje))
required parameter:
  • imp_region
num_IDs <Int>
Description Number of elements tags listed in 'imp_region[].ID[]'. FIELD_COUNT_LEGACY
Default value (Int)(0)
required parameter:
  • imp_region
ID <Int>
Description Set of non-negative element tags associated with this model region.
Notation supports lists and ranges such as 100:200,203,300:2:400. Indexed assignments remain supported for compatibility.
Default value (Int)(-1)
required parameters:
  • imp_region
  • imp_region.num_IDs
im_param <String>
Description Specify a comma separated list of changes from default values, e.g. 'APDshorten*4,Gks*1.29,...'.
Default value (String)(strcmp([[Father]].im,TO_STRING(DiFranNoble))? TO_STRING():TO_STRING(G_Na*3))
required parameters:
  • imp_region
  • imp_region.im
im_sv_dumps <String>
Description Specify a comma separated list of state variables of an ionic model to be dumped into the simulation folder.
Use bench --imp=XXX --imp-info to get a list of SVs for imp XXX.
Default value (String)("")
required parameter:
  • imp_region
plug_sv_dumps <String>
Description This produces a colon separated lists of state variables of a plugin to dump (use bench --imp=XXX --plug-in=YYY --imp-info to get a list of SVs for imp XXX and plug-in YYY)
Default value (String)("")
required parameter:
  • imp_region
plug_param <String>
Description User can modify the values for various ionic model parameters.
Every PARAMETER=VALUE modification needs to be separated with a comma.
Default value (String)("")
required parameter:
  • imp_region
volFrac <Float>
Description Defines the portion of the volume occupied by cells.
Default value (Float)(1.)
Validation Value must be between (Float)(0) and (Float)(1)
required parameter:
  • imp_region
cellSurfVolRatio <Float>
Description Defines the default single cell surface-to-volume-ratio used if it is not specified by the ionic model plugin (IMP).
Unit um^-1
Default value (Float)(0.14)
Validation Value must be greater than (Float)(0)
required parameter:
  • imp_region
Description Settings for IMP specific CV restitution and diffusion current approximation used in the DREAM.

Parameters

Description Specify CV restitution properties for the eikonal model using the DREAM. Default parameters are set for healthy Courtemanche IMP model.

Parameters

rho <Double>
Description Defines the parameter rho of the CV restitution formula: 'v_ref * (1 - rho * exp(-log(rho)/psi * (DI + kappa))), if DI > theta'
Default value (Double)(811)
Validation Value must be greater than (Double)(0)
required parameter:
  • imp_region
kappa <Double>
Description Defines the parameter kappa of the CV restitution formula: 'v_ref * (1 - rho * exp(-log(rho)/psi * (DI + kappa))), if DI > theta'
Default value (Double)(53)
Validation Value must be greater than (Double)(-100000)
required parameter:
  • imp_region
theta <Double>
Description Defines the parameter theta of the CV restitution formula: 'v_ref * (1 - rho * exp(-log(rho)/psi * (DI + kappa))), if DI > theta'
Default value (Double)(137)
Validation Value must be greater than (Double)(0)
required parameter:
  • imp_region
psi <Double>
Description Defines the parameter psi of the CV restitution formula: 'v_ref * (1 - rho * exp(-log(rho)/psi * (DI + kappa))), if DI > theta'
Default value (Double)(159)
Validation Value must be greater than (Double)(0)
required parameter:
  • imp_region
Description Diffusion current approximation for RE+, RE-, and DREAM solution methods.

Parameters

model <Short>
Description Defines the equation used for diffusion current approximation in reaction-eikonal or DREAM models.
- Foot current: '-A_F/tau_F exp((t - t_a)/tau_F) e_on e_off'
- Triple Gaussian: 'sum_i (a_i exp(-((t - t_a) - b_i)^2/c_i^2)) i = 1,2,3'
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): Foot current
  • (Short)(1): Triple Gaussian
required parameter:
  • imp_region
A_F <Double>
Description Constant A_F of the foot current '-A_F/tau_F exp((t - t_a)/tau_F) e_on e_off'
Unit mV
Default value (Double)(0.91)
required parameter:
  • imp_region
tau_F <Double>
Description Time constant tau_F of the foot current '-A_F/tau_F exp((t - t_a)/tau_F) e_on e_off'
Unit ms
Default value (Double)(0.25)
required parameter:
  • imp_region
V_th <Double>
Description Intrinsic excitation threshold of the cellular dynamics model used for foot current
Unit mV
Default value (Double)(-30)
required parameter:
  • imp_region
alpha_i <Double>
Description Parameter 'a_i' of triple Gaussian: 'sum_i (a_i exp(-(x - b_i)^2/c_i^2)) i = 1,2,3'
Unit muA/cm^2
Default value (Double)(149.5)(Double)(41.2)(Double)(-192.2)
required parameter:
  • imp_region
beta_i <Double>
Description Parameter 'b_i' of triple Gaussian: 'sum_i (a_i exp(-(x - b_i)^2/c_i^2)) i = 1,2,3'
Unit ms
Default value (Double)(2.383)(Double)(2.07)(Double)(2.56)
required parameter:
  • imp_region
gamma_i <Double>
Description Parameter 'c_i' of triple Gaussian: 'sum_i (a_i exp(-(x - b_i)^2/c_i^2)) i = 1,2,3'
Unit ms
Default value (Double)(0.22)(Double)(0.56)(Double)(0.29)
required parameter:
  • imp_region
Description Sets the ionic model for different regions when using the EMI model. The array index allows enumeration of all imp_region_emi[].

Parameters

im <String>
Description Defines the ionic model to be used in a simulation with the EMI physics.
Query for available ionic models by calling 'bench --list-imps'
Default value (String)(TO_STRING(LuoRudy91))
required parameter:
  • imp_region_emi
im_sv_init <RFile>
Description Name of the file containing the initial of state variable values.
Default value (RFile)("")
required parameter:
  • imp_region_emi
plugins <String>
Description Specify a colon separated list of plug-ins to use with the ionic model.
Query for available plug-ins by calling 'bench --plugin-outputs'.
Default value (String)("")
required parameter:
  • imp_region_emi
name <String>
Description Defines the symbolic name of region. This helps with structuring extensive parameter lists and makes them more human readable.
Default value (String)(strncmp(TO_STRING([[Father]]),TO_STRING(PurkIon),7)? TO_STRING(Myocardium):TO_STRING(Purkinje))
required parameter:
  • imp_region_emi
num_IDs <Int>
Description Number of elements tags listed in 'imp_region[].ID[]'. FIELD_COUNT_LEGACY
Default value (Int)(0)
required parameter:
  • imp_region_emi
ID <String>
Description Array of element tags associated with this model region.
Default value (String)(0)
required parameters:
  • imp_region_emi
  • imp_region_emi.num_IDs
im_param <String>
Description Specify a comma separated list of changes from default values, e.g. 'APDshorten*4,Gks*1.29,...'.
Default value (String)(strcmp([[Father]].im,TO_STRING(DiFranNoble))? TO_STRING():TO_STRING(G_Na*3))
required parameters:
  • imp_region_emi
  • imp_region_emi.im
im_sv_dumps <String>
Description Specify a comma separated list of state variables of an ionic model to be dumped into the simulation folder.
Use bench --imp=XXX --imp-info to get a list of SVs for imp XXX.
Default value (String)("")
required parameter:
  • imp_region_emi
plug_sv_dumps <String>
Description This produces a colon separated lists of state variables of a plugin to dump (use bench --imp=XXX --plug-in=YYY --imp-info to get a list of SVs for imp XXX and plug-in YYY)
Default value (String)("")
required parameter:
  • imp_region_emi
plug_param <String>
Description User can modify the values for various ionic model parameters.
Every PARAMETER=VALUE modification needs to be separated with a comma.
Default value (String)("")
required parameter:
  • imp_region_emi

Parameters

dump_imp_region <Int>
Description flag controlling whether to dump nodal ionic region indices. output file name is 'imp_region.dat'
Default value (Int)(0)
Validation

Possible values are

  • (Int)(0): dont dump
  • (Int)(1): dump nodal ionic region indices
openCARP can load custom ionic models during run-time without recompiling the simulator.

Parameters

num_external_imp <Int>
Description Defines the number of models to read in from external libraries. FIELD_COUNT_LEGACY
Default value (Int)(0)

Parameters

external_imp <RFile>
Description Defines external imp modules to read into openCARP. Multiple imps can be grouped using a comma seperated list which can be used here.
required parameter:
  • num_external_imp
openCARP offers you the possibility to define one or more stimuli. Different stimuli parameters can specify in the simulation (for example, strength, duration, BCL, and more).

Parameters

num_stim <Int>
Description Defines the number of stimuli. FIELD_COUNT_LEGACY
Default value (Int)(0)
Validation Value must be greater than (Int)(0)
Description Array of stimuli

Parameters

name <String>
Description Definition of the label for a single electrode.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (String)("")
required parameter:
  • stimulus
vtx_file <RFile>
Description File name allowing a vertex based electrode definition. Using a non-empty string switches to vertex-based definition and ignores other settings.
For file format specifications check the first chapters of the openCARP manual.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (RFile)("")
required parameter:
  • stimulus
dump_vtx_file <Short>
Description For volume based electrode definitions, vertices of this electrode are dumped to a file. The output file name is electrode_num.stim

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • stimulus
x0 <Float>
Description Lower x ordinate of electrode volume (xd defines the spatial electrode extension in x)

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(0)
required parameter:
  • stimulus
y0 <Float>
Description Lower y ordinate of electrode volume (yd defines the spatial electrode extension in y)

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(0)
required parameter:
  • stimulus
z0 <Float>
Description Lower z ordinate of electrode volume (zd defines the spatial electrode extension in z)

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(0)
required parameter:
  • stimulus
xd <Float>
Description x dimension of electrode volume. This will give the limits [x0,x0+xd]. To change this to [x0-xd/2,x0+xd/2] use stimulus.ctr_def

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(100)
Validation Value must be greater than (Float)(0)
required parameter:
  • stimulus
yd <Float>
Description y dimension of electrode volume. This will give the limits [y0,y0+yd]. To change this to [y0-yd/2,y0+yd/2] use stimulus.ctr_def

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(100)
Validation Value must be greater than (Float)(0)
required parameter:
  • stimulus
zd <Float>
Description z dimension of electrode volume. This will give the limits [z0,z0+zd]. To change this to [z0-zd/2,z0+zd/2] use stimulus.ctr_def

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit um
Default value (Float)(100)
Validation Value must be greater than (Float)(0)
required parameter:
  • stimulus
ctr_def <Flag>
Description setting this to 1 yields limits in the form of [x0-xd/2,x0+xd/2] for x,y and z. Setting to 0 yields [x0,x0+xd] for x,y and z.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Flag)(0)
required parameter:
  • stimulus
geometry <Int>
Description Refers to a region ID to be used as geometry definition for the stimulus electrode

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Int)(-1)
required parameter:
  • stimulus
start <Double>
Description Defines the start time when the stimulationpulse is introduced

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit ms
Default value (Double)(0)
Validation Value must be between (Double)(0) and (Double)(tend)
required parameters:
  • stimulus
  • tend
bcl <Float>
Description Defines the basic cycle length for repetitive stimulation.
Duration must be smaller than bcl, as it specifies the duration of a single stimulation event.
The full protocol duration is npls * bcl. This is derived automatically from the user input.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit ms
Default value (Float)(tend-[[Father]].start)
Validation Value must be between (Float)(stimulus.duration) and (Float)(tend-stimulus.start)
required parameters:
  • stimulus
  • stimulus.duration
  • tend
  • stimulus.start
npls <Int>
Description Defines the number of pulses in the stimulation protocol. The period of pulses can be set with bcl in ms.
If set to 0, the stimulus will have a single instance.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Int)(tend > 0 ? 1 : 0)
Validation Value must be between (Int)(0) and (Int)(tend > 0 ? 1+tend/stimulus.bcl : 0)
required parameters:
  • stimulus
  • tend
  • stimulus.bcl
duration <Float>
Description Defines the duration of one a single stimulation event.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit ms
Default value (Float)(tend-[[Father]].start)
Validation Value must be between (Float)(0) and (Float)(tend-stimulus.start)
required parameters:
  • stimulus
  • tend
  • stimulus.start
d1 <Float>
Description This parameter is used to introduce biphasic stimulation pulses. It specifies the duration of the first part of the pulse relative to the duration of the entire pulse (1.0 = monophasic).
Further parameters to define biphasic stimuli are: stimulus.strength, stimulus.s2, stimulus.tau_edge and stimulus.tau_plateau

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Float)(1.0)
Validation Value must be between (Float)(0.) and (Float)(1.0)
required parameter:
  • stimulus
strength <Float>
Description Defines strength of prescribed stimulation. Strength is defined as amplitude of signal. If dealing with currents it is defined as uA/volume. If dealing with voltages it is defined as mV.
To create a stimulation the minimum requirement is a given stimulus.duration and stimulus.strength. This creates a monophasic stimulus. For biphasic stimuli check stimulus.s2 and stimulus.d1.
For more advanced pulsesignals introduce them using a pulse file with stimulus.pulse_file

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit uA/cm^2(2D current), uA/cm^3(3D current), or mV
Default value (Float)(0.)
required parameter:
  • stimulus
s2 <Float>
Description This value is only used for defining a biphasic pulse.
This value is a relative value and defines the stimulus strength of the trailing pulse (after zero crossing) relative to leading pulse (from start to zero crossing).
Giving the value 0 will result in a flip of polarity
Other important parameters for stimulus form definition are: stimulus.tau_edge, stimulus.tau_plateau, stimulus.strength, stimulus.duration

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Float)(0)
Validation Value must be between (Float)(0) and (Float)(10)
required parameter:
  • stimulus
tau_edge <Float>
Description Defines the time constant governing leading and trailing edge of pulse. The formulation used resembles the equation: Amp * (1 - exp( -t/tau_edge)) * exp( -t/tau_plateau ).
A larger tau_edge will result in a fast drop, while a smaller tau_edge will have a longer exponentialy decreasing flank.
Other important parameters for stimulus form definition are: stimulus.tau_edge, stimulus.tau_plateau, stimulus.strength, stimulus.duration

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit ms
Default value (Float)(0.01)
Validation Value must be between (Float)(0.) and (Float)(1000)
required parameter:
  • stimulus
tau_plateau <Float>
Description Defines a time constant governing plateau of pulse (>10^5 is infinite)
A larger tau_plateau will result in a longer plateauphase.
Other important parameters for stimulus form definition are: stimulus.tau_edge, stimulus.tau_plateau, stimulus.strength, stimulus.duration

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Unit ms
Default value (Float)(1000.)
Validation Value must be between (Float)(0.1) and (Float)(1000000.)
required parameter:
  • stimulus
bias <Float>
Description Defines a constant term which is added to the stimuluspulse.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Float)(0.0)
required parameter:
  • stimulus
stimtype <Short>
Description Defines the stimulus type. Closed loop stimuli return to ground (0 mV) when expired.
Open loop stimuli are removed entirely when expired.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): transmembrane current (in uA/cm^2)
  • (Short)(1): extracellular current (in uA/cm^3)
  • (Short)(2): extracellular voltage (closed loop, in mV)
  • (Short)(3): extracellular ground (enforce 0 mV)
  • (Short)(4): intracellular current (in uA/cm^3)
  • (Short)(5): extracellular voltage (open loop, in mV)
  • (Short)(6): illumination (in mW/mm^2)
  • (Short)(9): transmembrane voltage (in mV)
  • (Short)(10): intracellular potential (use mV)
required parameter:
  • stimulus
balance <Int>
Description Defines whether the electrode is balancing another electrode. The balance value is interpreted as the electrode index to balance. The waveform is mirrored, but with opposite polarity.
If the balance value is -1, no balancing is applied.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Int)(-1)
Validation Value must be between (Int)(-1) and (Int)(num_stim-1)
required parameters:
  • stimulus
  • num_stim
total_current <Short>
Description Treat strengths as total current (uA) and not density

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • stimulus
pulse_file <RFile>
Description Reads in pulse definition from an external file.
For file format specifications check the first chapters of the openCARP manual.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (RFile)("")
required parameter:
  • stimulus
data_file <RFile>
Description Stimulus dependent auxiliary data. Used for presribed takeoff and prescribed phie.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (RFile)("")
required parameter:
  • stimulus
vtx_fcn <Short>
Description Set true to specify stimulation strengths on a nodal basis. The specific values need to be provided in the stimulus.vtx_file. For file format specifications check the first chapters of the openCARP manual.

!!!! The stimulus[] parameter was declared legacy. Please use stim[] !!!!
Default value (Short)(0)
required parameter:
  • stimulus
Description Definition of stimuli

Parameters

name <String>
Description Definition of the label for a single electrode
Default value (String)("")
required parameter:
  • stim
Description Definition of stimulation pulse

Parameters

name <String>
Description Definition of the Label for the prescribed pulse waveform
Default value (String)("")
required parameter:
  • stim
shape <Short>
Description Defines the shape of the prescribed pulse if an implemented pulseform is chosen (see choices below). To impose a manually created stimulus use the pulse.file functionality.
By default, the pulse shape is defined as a monophasic pulse of square-like shape of a certain duration and strength. There are two time constants:
- tau_edge, governs the leading and trailing edges of the pulse.
- tau_plateau, governs the plateau phase.
By default, these time constants are set to yield essentially a square-like pulse shape, but can be easily adjusted to generate truncated exponential-like pulses.
Biphasic shapes are specified by two additional parameters, the duration of the first part of the pulse relative to the duration of the entire pulse (specified by pulse.d1 in range of [0,1] ), and the strength of the second part of the pulse relative to the strength of the first part (specified by pulse.s2 in range of [0,1] ).
To create a stimulation the minimum requirement is a given ptcl.duration and pulse.strength
Default value (Short)(1)
Validation

Possible values are

  • (Short)(0): square wave
  • (Short)(1): truncated exponential wave
  • (Short)(2): sine wave
required parameter:
  • stim
file <RFile>
Description Reads in pulse definition from external file.
Strength of external pulse shape definition can be adjusted with pulse.strength.
For file format specifications check the first chapters of the openCARP manual.
Default value (RFile)("")
required parameter:
  • stim
strength <Float>
Description Defines strength of prescribed stimulation. Strength is defined as amplitude of signal. If dealing with currents it is defined as uA/volume. If dealing with voltages it is defined as mV.
To create a stimulation the minimum requirement is a given ptcl.duration and pulse.strength
Unit uA/cm^2(2D current), uA/cm^3(3D current), or mV
Default value (Float)(0.)
required parameter:
  • stim
d1 <Float>
Description This parameter is used to introduce biphasic stimulation pulses. It specifies the duration of the first part of the pulse relative to the duration of the entire pulse (1.0 = monophasic).
Further parameters to define biphasic stimuli are: pulse.s2, pulse.tau_edge, pulse.tau_plateau, pulse.strength, pulse.bias, ptcl.duration
Default value (Float)(1.0)
Validation Value must be between (Float)(0.) and (Float)(1.0)
required parameter:
  • stim
s2 <Float>
Description This value is only used for defining a biphasic pulse.
This value is a relative value and defines the stimulus strength of the trailing pulse (after 0 crossing) relative to leading pulse (from start to 0 crossing).
Giving the value 0 will result in a flip of polarity.
Further parameters to define biphasic stimuli are: pulse.d1, pulse.tau_edge, pulse.tau_plateau, pulse.strength, pulse.bias, ptcl.duration
Default value (Float)(0.)
Validation Value must be between (Float)(0) and (Float)(10)
required parameter:
  • stim
tau_edge <Float>
Description Defines the time constant governing leading and trailing edge of pulse. The formulation used resembles the equation: Amp * (1 - exp( -t/tau_edge)) * exp( -t/tau_plateau ).
A larger tau_edge will result in a fast drop, while a smaller tau_edge will have a longer exponentialy decreasing flank.
Further parameters to define biphasic stimuli are: pulse.d1, pulse.s2, pulse.tau_plateau, pulse.strength, pulse.bias, ptcl.duration
Unit ms
Default value (Float)(0.01)
Validation Value must be between (Float)(0.) and (Float)(1000)
required parameter:
  • stim
tau_plateau <Float>
Description Defines a time constant governing plateau of pulse (>10^5 is infinite).
A larger tau_plateau will result in a longer plateauphase.
Further parameters to define biphasic stimuli are: pulse.d1, pulse.s2, pulse.tau_edge, pulse.strength, pulse.bias, ptcl.duration
Unit ms
Default value (Float)(1000.)
Validation Value must be between (Float)(0.1) and (Float)(1000000.)
required parameter:
  • stim
bias <Float>
Description Defines a constant term which is added to the stimulus pulse.shape = 1.
Default value (Float)(0.)
required parameter:
  • stim
trig <Float>
Description Defines the time relative to ptcl.start at which the square wave is triggered (pulse.shape = 0).
Unit ms
Default value (Float)(0.0)
Validation Value must be greater than (Float)(0.)
required parameter:
  • stim
phase <Float>
Description Defines the phase shift of the sine wave when used with pulse.shape = 2.
Phase shift is calculated by `pulse.phase/180*PI`.
Default value (Float)(0.)
Validation Value must be between (Float)(0.) and (Float)(2*3.1415926)
required parameter:
  • stim
freq <Float>
Description Defines the frequency (not angular frequency!) of the sine wave when used with pulse.shape = 2.
Unit mHz
Default value (Float)(1.)
Validation Value must be greater than (Float)(0.00001)
required parameter:
  • stim
dumpTrace <Short>
Description Can be enabled to write out trace data of the stimuli pulse wave.
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • stim
Description Definition of stimulation protocol

Parameters

name <String>
Description Label of protocol used (S1-S2, restitution, etc). This helps with structuring extensive parameter lists and makes them more human readable.
Default value (String)("")
required parameter:
  • stim
start <Double>
Description Defines the start time of the stimulation protocol
Unit ms
Default value (Double)(0)
Validation Value must be between (Double)(0) and (Double)(tend)
required parameters:
  • stim
  • tend
duration <Float>
Description Defines the duration of one a single stimulation event.
Unit ms
Default value (Float)(tend-[[Father]].start)
Validation Value must be between (Float)(0) and (Float)(tend-stim.start)
required parameters:
  • stim
  • tend
  • stim.start
npls <Int>
Description Defines the number of pulses in the stimulation protocol. The period of pulses can be set with bcl in ms.If set to 0, the stimulus will have a single instance.
Default value (Int)(tend > 0 ? 1 : 0)
Validation Value must be greater than (Int)(0)
required parameters:
  • stim
  • tend
bcl <Float>
Description Defines the basic cycle length for repetitive stimulation.
protocol.duration must be smaller than protocol.bcl, as it specifies the duration of a single stimulation event.The full protocol duration is protocol.npls * protocol.bcl. This is derived automatically from the user input.
Unit ms
Default value (Float)(tend-[[Father]].start)
Validation Value must be between (Float)(stim.duration) and (Float)(tend-stim.start)
required parameters:
  • stim
  • stim.duration
  • tend
  • stim.start
stimlist <String>
Description List of activation times (float), defining the stim protocol. Entries are separated by a comma (,).
The list should be surrounded by quotes. An activation time can also be expressed as an increment to the previous
activation, by starting with a '+', e.g.: '0,+240'
Unit ms
Default value (String)("")
required parameter:
  • stim
Description Definition of electrode geometry

Parameters

geomID <Int>
Description region ID defining an electrode's geometry, standard block defs are used if set to -1.
Default value (Int)(-1)
required parameter:
  • stim
domain <Int>
Description tissue domains affected
Default value (Int)(1)
Validation

Possible values are

  • (Int)(1): myocardium only
  • (Int)(2): Purkinje only
  • (Int)(3): all
required parameter:
  • stim
vtx_file <RFile>
Description File name allowing a vertex based electrode definition. Using a non-empty stringswitches to vertex-based definition and ignores other settings.
For file format specifications check the first chapters of the openCARP manual.
Default value (RFile)("")
required parameter:
  • stim
vtx_fcn <Short>
Description Whether the electrode is spatially constant (homogenous) or varying (inhomogenous).Spatially inhomogenous stimulations need to be defined via a .vtx file that includes nodes and nodal scaling.
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): homogenous
  • (Short)(1): inhomogenous
required parameter:
  • stim
p0 <Float>
Description Used to describe the profile chosen in electrode.geom_type.
- If sphere was chosen, this value describes the center of the sphere.
- If box was chosen, this value describes the lower left corner of box.
- If cylinder was chosen, this value describes the start of the cylinders main axis.
- For sphere & cylinder the additional parameter electrode.radius is needed.
- For box & cylinder the additional parameter electrode.p1 is needed.
Unit micrometers
Default value (Float)(0)(Float)(0)(Float)(0)
required parameter:
  • stim
p1 <Float>
Description Used to describe the profile chosen in electrode.geom_type.
- If sphere was chosen, this value is not necessary/ignored. Use TagRegion.radius instead.
- If box was chosen, this value describes the upper right corner of box.
- If cylinder was chosen, this value describes the end of the cylinders main axis.
- For sphere & cylinder the additional parameter electrode.radius is needed.
- For box & cylinder the additional parameter electrode.p0 is needed.
Unit micrometers
Default value (Float)(100)(Float)(100)(Float)(100)
required parameter:
  • stim
radius <Float>
Description Used to describe the profile chosen in electrode.geom_type.
- If sphere was chosen, this value is sets the radius of the sphere.
- If box was chosen, this value is not necessary/ignored. Use TagRegion.p1 & TagRegion.p0 instead.
- If cylinder was chosen, this value is sets the radius of the cylinder.
Unit micrometers
Default value (Float)(100)
required parameter:
  • stim
geom_type <Int>
Description This value defines the geometry used for the electrode. For now only predefined geometries are supported.
Default value (Int)(2)
Validation

Possible values are

  • (Int)(1): sphere
  • (Int)(2): block
  • (Int)(3): cylinder
  • (Int)(4): element list (volume or surface), not implemented
  • (Int)(5): vertex list, not implemented (use vtx_file instead)
required parameter:
  • stim
dump_vtx_file <Short>
Description For volume based electrode definitions, vertices of this electrode are dumped to a file.
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • stim
Description Definition of setup and wiring of stimulation circuit

Parameters

type <Short>
Description Defines the physics of the actual source used for stimulation and in some cases also the wiring of the electric stimulation circuit.
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): transmembrane current (in uA/cm^2)
  • (Short)(1): extracellular current (in uA/cm^3)
  • (Short)(2): extracellular potential (closed loop, in mV)
  • (Short)(3): extracellular ground (enforce 0 mV)
  • (Short)(4): intracellular current (in uA/cm^3)
  • (Short)(5): extracellular potential (open loop, in mV)
  • (Short)(6): illumination (in mW/mm^2)
  • (Short)(9): transmembrane potential (in mV)
  • (Short)(10): intracellular potential (closed loop, in mV)
  • (Short)(11): Intracellular potential (open loop, in mV)
  • (Short)(13): leadfield stim (extracellular current, in uA/cm^3)
required parameter:
  • stim
balance <Int>
Description Defines whether the electrode is balancing another electrode. The balance value is interpreted as the electrode index to balance.
The waveform is mirrored, but with opposite polarity. The volume/surface current is balanced exactly independent of the specific element arrangement around the stimulus node(s).
If the balance value is -1, no balancing is applied.
Default value (Int)(-1)
Validation Value must be between (Int)(-1) and (Int)(num_stim-1)
required parameters:
  • stim
  • num_stim
total_current <Short>
Description Treat strengths as total current (uA)
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • stim
In this section, you can find the parameters related to all the output files of a simulation. Moreover, you can also find parameters that will modify the output in the terminal.

Parameters

simID <String>
Description Defines the Simulation ID to generate output directory.
A good practice is to include date and time of the simulation in the 'simID'to avoid overwriting simulations. If 'simID' already exists, e.g the directory was created in a previous run, the user needs to decide on how to proceed (overwrite, append, abort) the simulation.
Default value (String)("OUTPUT_DIR")

Parameters

dt <Double>
Description Defines the time step size to solve the numeric equations for.
Check the first chapters of the openCARP manual for a comprehensive explanation on how to choose 'dt'.
Unit microseconds
Default value (Double)(5.)
Validation Value must be greater than (Double)(0.)

Parameters

tend <Double>
Description Defines the point in time when the simulation stops.
To get a rough estimation for 'tend', multiply the number of stimulation pulses 'stimulation.npls' with the basic cycle length 'stimulation.bcl'. 'tend' then needs to be larger than 'stimulation.npls * stimulation.bcl' to cover your entire stimulation protocol.
Unit ms
Default value (Double)(100.)
Validation Value must be greater than (Double)(dt/1000.)
required parameter:
  • dt

Parameters

num_io_nodes <Int>
Description The number of nodes to dedicate to doing IO
Default value (Int)(0)

Parameters

buildinfo <Flag>
Description (deprecated) the build info is now shown by default.
hence this flag has no effect.

Parameters

output_level <Int>
Description Defines the level of verbosity [0, 10] to the terminal output.
0 is considered minimal feedback to the user on the terminal.
Default value (Int)(1)
Validation Value must be between (Int)(0) and (Int)(10)

Parameters

dump2MatLab <Flag>
Description Dumps stiffness and mass matrices, mappings and stimulation vectors
to be used with MatLab to the simulation folder
Default value (Flag)(0)

Parameters

dump_basename <String>
Description Defines the basename for dumped files. Different endings will be attached to specify different variables:
- _Ki & _Kie ... for the intra- & extracellular stiffness matrices
- _Mi & _Me ... for the intra- & extracellular mass matrices
- _i2e & _e2i ... for the intracellular-to-extracellular and vice-versa mappings
- _Itr & _Ie ... for the transmembrane- & extracellular currents
Default value (String)("MatLabDump")

Parameters

vofile <WFile>
Description IGB formatted file of transmembrane voltages.
Default value (WFile)("vm")

Parameters

phiefile <WFile>
Description IGB formatted file of extracellular potential (phi).
Default value (WFile)("phie")

Parameters

phieifile <WFile>
Description IGB formatted file of extracellular potential (phie) on intracellular grid (only in presence of bath required).
Default value (WFile)("phie_i")

Parameters

gridout_i <Int>
Description Defines if intracellular grid is outputted in simulation directory.
Settings: 0=none, 1=surface, 2=volumetric mesh, 3=surface & volumetric mesh.
Default value (Int)(0)
Validation Value must be greater than (Int)(0)

Parameters

gridout_e <Int>
Description Defines if extracellular grid is outputted in simulation directory.
Settings: 0=none, 1=surface, 2=volumetric mesh, 3=surface & volumetric mesh.
Default value (Int)(0)
Validation Value must be greater than (Int)(0)

Parameters

gridout_emi <Int>
Description Defines if EMI-generated grids are outputted in simulation directory.
Settings: 0=none, 1=membrane surface mesh, 2=volumetric EMI mesh, 3=membrane surface & volumetric EMI mesh.
Default value (Int)(3)
Validation Value must be between (Int)(0) and (Int)(3)

Parameters

gridout_tags <String>
Description Set of region tags to include in output mesh and IGB output.
An empty set outputs all IDs. Notation supports lists and ranges such as 100:200,203,300:2:400. Indexed assignments remain supported for compatibility.
Default value (String)("")

Parameters

gridout_p <Int>
Description If not 0, writes partition index of each element as .dat file in simulation directory.
Default value (Int)(0)

Parameters

dataout_i <Short>
Description Defines how intracellular grid data is outputted.
Default value (Short)(2)
Validation

Possible values are

  • (Short)(0): turn off output
  • (Short)(1): surface output
  • (Short)(2): volume output
  • (Short)(3): output defined in .vtx file, see dataout_i_vtx

Parameters

dataout_i_vtx <RFile>
Description if option dataout_i == 3, intracellular output is restricted to the provided vertices.
Default value (RFile)("")

Parameters

dataout_e <Short>
Description Defines how extracellular grid data is outputted.
Default value (Short)(2)
Validation

Possible values are

  • (Short)(0): turn off output
  • (Short)(1): surface output
  • (Short)(2): volume output
  • (Short)(3): output defined in .vtx file, see dataout_e_vtx

Parameters

dataout_e_vtx <RFile>
Description if option dataout_e == 3, extracellular output is restricted to the provided vertices.
Default value (RFile)("")

Parameters

spacedt <Double>
Description Defines the temporal interval to output data to files.
It can only be as small as 'dt/1000'.
For long simulations outputting every single calculated value, would yield terrabytes of data. So here you can reduce the outputted values.
Unit ms
Default value (Double)(3.)
Validation Value must be between (Double)(dt/1000.) and (Double)(tend)
required parameters:
  • dt
  • tend

Parameters

timedt <Double>
Description Defines the temporal interval between progress updates made to the terminal. (For informational purposes only).
Unit ms
Default value (Double)(1.)
Validation Value must be between (Double)(dt/1000.) and (Double)(tend)
required parameters:
  • dt
  • tend

Parameters

dump_data <Short>
Description Flag to dump auxiliary simulation data. Can be combined (summed) to dump multiple data entries.
0 = Turned off.
1 = Dump membrance currents as Iion.igb and Ic.igb [uA/cm^2] to the simulation folder.
2 = Dump volumetric current, i.e. Ki Vm, as Ivol.igb [uA] to the simulation folder.
4 = Dump activating current, i.e. Ki Phie_i, as Iact.igb [uA] to the simulation folder.
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(7)

Parameters

output_setup <Flag>
Description If set outputs all the parameters.
Default value (Flag)(0)

Parameters

num_trace <Int>
Description Number of nodes at which to gather trace info. FIELD_COUNT_LEGACY
Default value (Int)(0)

Parameters

trace_node <Int>
Description Nodes at which to gather trace information.
required parameter:
  • num_trace

Parameters

tracedt <Double>
Description Time resolution to print out trace info.
Unit ms
Default value (Double)(timedt)
Validation Value must be greater than (Double)(dt/1000.)
required parameters:
  • dt
  • timedt

Parameters

dump_protocol <Short>
Description If set to 1, the overall stimulation protocol will be outputted as a trace file.
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
Defines all variables to save and read the simulated system states and therefore the simulation progress.
Additionally allows for interval saving of simulation and reserving queue time in batch processing.

Parameters

num_tsav <Int>
Description Defines the number of states to be saved. Each time instant of the simulation progression needs to be specified in 'tsav'. FIELD_COUNT_LEGACY
Default value (Int)(0)
Validation Value must be between (Int)(0) and (Int)(50)

Parameters

tsav <Double>
Description Defines the times at which to save the simulation state.
Multiple saves for different times can be defined by adding the times to this array.
Unit ms
Default value (Double)(tend-dt/1000.)
Validation Value must be between (Double)(0) and (Double)(num_tsav>1?tend:1.0e50)
required parameters:
  • num_tsav
  • tend
  • dt

Parameters

tsav_ext <WFile>
Description Defines the filename for each saved state file. For multiple save states of the simulation, add the names for all savetimes in respective order to this array.
Default value (WFile)(opencarp::stringify(tsav[$Index]))
required parameters:
  • num_tsav
  • tsav

Parameters

write_statef <WFile>
Description Defines the basename of the output file in which to write a single saved state. Each saved state will have a timestamp appended to the basename.
Default value (WFile)("state")

Parameters

start_statef <RFile>
Description Loads a statefile and continues the simulation from there.
Default value (RFile)("")

Parameters

chkpt_start <Float>
Description Defines the start time to trigger interval-based checkpointing (saving of the simulation progress).
Unit ms
Default value (Float)(0)
Validation Value must be between (Float)(0) and (Float)(tend)
required parameter:
  • tend

Parameters

chkpt_intv <Float>
Description Defines the interval for checkpointing (saving of the simulation progress) in ms. 0 means no checkpointing.
Unit ms
Default value (Float)(0)
Validation Value must be between (Float)(0) and (Float)(tend)
required parameter:
  • tend

Parameters

chkpt_stop <Float>
Description Defines the time to stop interval-based checkpointing (saving of the simulation progress).
Unit ms
Default value (Float)(tend)
Validation Value must be between (Float)(0) and (Float)(tend)
required parameter:
  • tend
openCARP can modify the ionic models on a nodal basis.

Parameters

num_adjustments <Int>
Description Size of the adjustment array. FIELD_COUNT_LEGACY
Default value (Int)(0)
Validation Value must be greater than (Int)(0)
Description file of adjustments

Parameters

variable <String>
Description Defines the name of the variable that should be adjusted on initialization.
The variable name should be defined as an external variable like 'Lambda', or an ionic model variable like 'LR1.tau_f_factor' in the cellmodel file.
Default value (String)("")
required parameter:
  • adjustment
file <RFile>
Description Defines the filename filled with nodal adjustments for the state variable
Default value (RFile)("")
required parameter:
  • adjustment
dump <Short>
Description Dump nodal adjustments for state variables for display on intra grid
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • adjustment
In this section, you can find all the information to define global variables in your simulation.

Parameters

num_gvecs <Int>
Description Specify the number of global state variable vector definitions. FIELD_COUNT_LEGACY
Default value (Int)(0)
Description Gives the global state variable vectors of each model region

Parameters

name <WFile>
Description Defines the name of the output file for the global state variable.
Default value (WFile)("sv")
required parameter:
  • gvec
ID <String>
Description Defines the list of state variable names in a region, which are combined into a global vector. For example gvec[0].ID[0] = 'Cai'
Default value (String)([[Father]].name)
required parameters:
  • gvec
  • num_imp_regions
  • gvec.name
units <String>
Description Units of the state variables to be written in the header of the ouput igb file.
Default value (String)("")
required parameter:
  • gvec
imp <String>
Description If the state variable is defined in a plugin, specify the plugin name here.
Default value (String)("")
required parameter:
  • gvec
bogus <Float>
Description Set to 1 if the state variable is not in a region.
Default value (Float)(0)
required parameter:
  • gvec
In openCARP, the user can define several methods to detect an activation threshold in tissue simulations. It also offers several functions to start a simulation based on LATs, stop or restart a simulation. Additionally, you can obtain APD statics as an output file.

Parameters

LAT_ID <String>
Description a variable
Default value (String)("vm_act")(String)("phie_act")(String)("-thresh")(String)("-deriv")

Parameters

num_LATs <Int>
Description Defines the number of local activation measurements. FIELD_COUNT_LEGACY
Default value (Int)(0)
Validation Value must be greater than (Int)(0)

Parameters

prepacing_lats <RFile>
Description Tissue activation times to guide state set-up for prepacing
Default value (RFile)("")

Parameters

prepacing_beats <Int>
Description Defines the number of beats to pre-pace using a single-cell model.
Prepacing of a single cell is used to put the single-cell models into a preconditioned state.
This state is then given all cells in a tissue simulation as a better initial starting point than a completly unstimulated cell
Default value (Int)(0)

Parameters

prepacing_bcl <Float>
Description Sets the basic cycle length for the prepacing stimulus.

Parameters

prepacing_stimdur <Float>
Description Stimulation duration for single cells during prepacing.
Unit ms
Default value (Float)(1.0)

Parameters

prepacing_stimstr <Float>
Description Stimulation strength for single cells during prepacing.
Unit uA/uF
Default value (Float)(60.0)
Description Array containing LATs. Index of array corresponds to LAT measurement.

Parameters

method <Int>
Description Describes the method used to determine the instant of local activation. Define the threshold using structure.threshold. Choose if you want to evaluate during the rising or falling slope of the signal using structure.mode.
Default value (Int)(1)
Validation

Possible values are

  • (Int)(1): instant of threshold crossing
  • (Int)(2): instant of maximum derivative
required parameter:
  • lats
threshold <Float>
Description Defines the crossing threshold (for method 1) or the derivative threshold (for method 2)
Default value (Float)(-10)
required parameter:
  • lats
mode <Short>
Description Toggles between detecting max derivative or positive(+) slope threshold crossing and detecting minimum derivative and negative(-) slope threshold crossing.
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): detect max derivative or +slope threshold crossing
  • (Short)(1): detect min derivative or -slope threshold crossing
required parameter:
  • lats
all <Int>
Description Defines that all activations should be detected (1) or only the first one (0). Detecting 'all' is the default.
Default value (Int)(1)
Validation Value must be between (Int)(0) and (Int)(1)
required parameter:
  • lats
start <Float>
Description Activations earlier than this time (ms) are not recorded. 0 records all.
Default value (Float)(0)
Validation Value must be greater than (Float)(0)
required parameter:
  • lats
measurand <Int>
Description Defines the quantity to measure, e.g. the signal (transmembrane voltage or extracellular potential) to use the thresholds on.
Default value (Int)(0)
Validation

Possible values are

  • (Int)(0): Vm
  • (Int)(1): Phie
required parameter:
  • lats
ID <WFile>
Description Defines the output filename.
Default value (WFile)([[Father]].measurand ? LAT_ID[1] : LAT_ID[0])
required parameters:
  • lats
  • lats.measurand

Parameters

t_sentinel <Float>
Description Sentinel checks for activations, based on LATs. If none are found, exits simulation, else continues.
t_sentinel should always be >0 .
t_sentinel describes the time sentinel is run for from the t_sentinel_start time.
If during this time period no lats[] are detected, savequit() cleanly.
Default value (Float)(-1)

Parameters

t_sentinel_start <Float>
Description Defines the time instant when checking for quiescence is started
Default value (Float)(0)

Parameters

sentinel_ID <Int>
Description Sentinel will check the LAT ID specified here as a reference to quit or continue the simulation.
Default value (Int)(-1)
Validation Value must be smaller than (Int)(num_LATs-1)
required parameter:
  • num_LATs

Parameters

compute_APD <Flag>
Description Defines if the actionpotential duration should be computed
- If is set to 1 = computes action potential durations
- If is set to 0 = action potential durations are not calculated

Parameters

actthresh <Float>
Description Defines the threshold to determine if element was activated, e.g the threshold where an action potential was triggered.
The magnitude is used from the signal to be thresholded.
Unit mV
Default value (Float)(30)

Parameters

recovery_thresh <Float>
Description Defines the threshold to determine if element wich was activated recovered back to its steadystate.
The magnitude is used from the signal to be thresholded.
Unit mV
Default value (Float)(-60)
In this section, you can find all the information to set up simulations using eikonal model variations.
Description Simulation setup for the Diffusion Reaction Eikonal Alternant Model solved using the cyclical fast iterative method.

Parameters

solve <Short>
Description Defines if the simulation is solved using the eikonal model, reaction-eikonal+ model, reaction-eikonal- model or DREAM.
- Eikonal. Fast solver for activation times.
- Reaction-eikonal+. Diffusion is taken into account. Depolarization is initiated by a foot current. Only available with parabolic solver.
- Reaction-eikonal-. Diffusion is neglected. Depolarization is initiated by a foot current. Only available with parabolic solver.
- Diffusion reaction eikonal alternant model (DREAM). Enables reactivation of nodes in the eikonal solver and supports reentries.
Default value (Short)(2)
Validation

Possible values are

  • (Short)(0): Eikonal
  • (Short)(1): RE+
  • (Short)(2): RE-
  • (Short)(3): DREAM
required parameter:
  • dream
tau_s <Double>
Description Minimum allowed difference between min activation time and simulation time.
Default value (Double)(10.0)
required parameter:
  • dream
tau_inc <Double>
Description Maximum allowed increment of min activation time in every DREAM cycle.
Default value (Double)(100.0)
required parameter:
  • dream
tau_max <Double>
Description Maximum allowed difference of activation time values among nodes in the active list of fast iterative method.
Default value (Double)(10.0)
required parameter:
  • dream
repol_time_thresh <Double>
Description Threshold for annotating repolarization time when crossed with negative slope
Unit mV
Default value (Double)(-40)
required parameter:
  • dream
Description Settings for the (cyclical) fast iterative method.

Parameters

tol <Double>
Description Fast iterative method solver tolerance for eikonal problem.
Unit ms
Default value (Double)(0.1)
required parameter:
  • dream
max_iter <Int>
Description Eikonal/RE: maximum number of FIM iterations. Larger, more complex meshes need more iterations. Otherwise, there might be non-activated nodes left.
DREAM: maximum number of list iterations that each node is allowed to stay in the list per cycle.
Default value (Int)(50)
required parameter:
  • dream
max_addpt <Int>
Description Maximum number of times a node can be added to the list per cycle (DREAM only).
Default value (Int)(50)
required parameter:
  • dream
max_coh <Int>
Description Maximum number of allowed coherence iterations (DREAM only).
Default value (Int)(5)
required parameter:
  • dream
Description Control data output for the DREAM model.

Parameters

atfile <WFile>
Description IGB formatted file of activation times. Updated only after every eikonal cycle, hence 'time steps' in the file should be interpreted as cycles.
Default value (WFile)("act")
required parameter:
  • dream
rtfile <WFile>
Description IGB formatted file of recovery times. Updated only after every eikonal cycle, hence 'time steps' in the file should be interpreted as cycles.
Default value (WFile)("rpt")
required parameter:
  • dream
idifffile <WFile>
Description IGB formatted file of approx. diffusion current (optional). Output is foot current or triple gaussian NOT actual diffusion.
Default value (WFile)("")
required parameter:
  • dream
debugNode <Int>
Description Log detailed solver data for specified node ID. Should only be used for debugging.
Default value (Int)(-1)
required parameter:
  • dream
openCARP can pre-process your mesh. In this section, you can find the different parameters that can help you to, for example, retag your mesh on-the-fly.

Parameters

meshname <String>
Description Defines the basename for mesh files
Default value (String)("project")

Parameters

numtagreg <Int>
Description Defines the number of regions to retag
Default value (Int)(0)
Validation Value must be greater than (Int)(0)
Description Defines the regions to which to assign new tags

Parameters

tag <Int>
Description New tag for a region in the mesh. Each element in this region is re-assigned this tag. In general, each element in a mesh is designated as part of a region. Electrical or mechanical properties are assigned based on region definitions.
Default value (Int)(321)
required parameter:
  • tagreg
name <String>
Description Label for a region in the mesh. This helps with structuring extensive parameter lists and makes them more human readable.
Default value (String)("")
required parameter:
  • tagreg
type <Int>
Description Defines profile of region. 1-3 are predefined shapes while 4 can be used to create own region profile.
Default value (Int)(1)
Validation

Possible values are

  • (Int)(1): sphere
  • (Int)(2): block
  • (Int)(3): cylinder
  • (Int)(4): element list
required parameter:
  • tagreg
no_elem_split <Short>
Description Defines whether a mesh element needs to be fully enclosed by the tagreg.type definition to become part of this region.
1 = all nodes of each element need to be fully contained inside tagreg.type
0 = a single node of an element within tagreg.type is sufficient to become a member of this region
Default value (Short)(0)
Validation Value must be between (Short)(0) and (Short)(1)
required parameter:
  • tagreg
elemfile <RFile>
Description Name of file with list of elements to be assigned to this region. The file needs the extension .regele with the format being the number of elements followed by one element number per line
Default value (RFile)("")
required parameter:
  • tagreg
p0 <Float>
Description Used to describe the profile chosen in tagregion.type in more detail.
- If sphere was chosen, this value describes the center of the sphere.
- If box was chosen, this value describes the lower left corner of the box.
- If cylinder was chosen, this value describes the center of the cylinders' base.
- For sphere & cylinder the additional parameter tagregion.radius is needed.
- For box & cylinder the additional parameter tagregion.p1 is needed.
Unit micrometers
Default value (Float)(0)(Float)(0)(Float)(0)
required parameter:
  • tagreg
p1 <Float>
Description Used to describe the profile chosen in tagregion.type in more detail.
- If sphere was chosen, this value is not necessary/ignored. Use tagregion.radius instead.
- If box was chosen, this value describes the upper right corner of the box.
- If cylinder was chosen, this value describes the center of the cylinders' top.
- For sphere & cylinder the additional parameter tagregion.radius is needed.
- For box & cylinder the additional parameter tagregion.p0 is needed.
Unit micrometers
required parameter:
  • tagreg
radius <Float>
Description Used to describe the profile chosen in tagregion.type in more detail.
- If sphere was chosen, this value is the radius of the sphere.
- If box was chosen, this value is not necessary/ignored. Use tagregion.p0 & tagregion.p1 instead.
- If cylinder was chosen, this value is the radius of the cylinder.
Unit micrometers
Default value (Float)(100)
required parameter:
  • tagreg

Parameters

tagfile <RFile>
Description Optional ASCII file with one integer tag per element, in the same
global element order as .elem. Format:
n
tag_1
...
tag_n
When set, overrides the tags embedded in .elem before any dynamic
retagging (numtagreg). The header n must match the mesh element count.
Default value (RFile)("")

Parameters

retagfile <WFile>
Description Defines an output file storing the element labels
after applying all 'dynamic' tagreg choices to the input mesh.
Default value (WFile)("")
In this section, you can find the parameters that define the different available experiments in openCARP.

Parameters

ppID <String>
Description Defines the name of the output directory in post processing mode.
- It comes into play when choosing 'experiment 4'.
- If it is specified, it must not already exist.
- A folder with the default name will be created, if it is not specified.
Default value (String)("POSTPROC_DIR")

Parameters

experiment <Short>
Description Defines how the simulation will be solved and what will be outputted
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): NORMAL RUN
  • (Short)(1): Output FEM matrices
  • (Short)(2): Laplace solve
  • (Short)(3): Build model only
  • (Short)(4): Post process only

Parameters

post_processing_opts <Short>
Description Post-processing Options, add up option numbers to use multiple options
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): No post-processing done.
  • (Short)(1): Recover phie
  • (Short)(64): Leadfield
In openCARP, you can quickly recover the extracellular potential from monodomain simulations using the parameters explained below.

Parameters

phie_rec_ptf <WFile>
Description Defines the basename for the phie recovery file.
This file specifies the phie recovery points.
Use the same convention and format as for the mesh points file (see the first chapters of the openCARP manual file format section). Provide the filename without extension.
Default value (WFile)("")

Parameters

phie_recovery_file <WFile>
Description Defines the file name used to output recovered extracellular potentials.
Output granularity is defined by 'spacedt'.
Default value (WFile)("phie_recovery")
Construct and apply Lead Field Matrices for efficient calculation of ECGs.

Parameters

lf_dir <String>
Description Directory in which the leadfields are stored.
Default value (String)("")

Parameters

lf_vmfile <String>
Description Path to the transmembrane voltage file used for ECG calculation.
Default value (String)("")

Parameters

ecg_timedt <Float>
Description Time resolution stride for ECG output.
Unit ms
Default value (Float)(1)
openCARP can solve monodomain, pseudo-bidomain, and bidomain. In this section, you can find all the parameters related to the solving method and the solver parameters.

Parameters

bidomain <Short>
Description Defines if the simulation is solved using the monodomain, bidomain or pseudo-bidomain approach.
- Monodomain model (less costly). Dervied from bidomain under the assumption that intracellular and extracellular tensors are related.
- Bidomain model solves for both the intra- & extracellular space.
- Pseudo-bidomain model (monodomain model with adjustments to account for bath loading effects).
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): Monodomain
  • (Short)(1): Bidomain
  • (Short)(2): Pseudo-bidomain

Parameters

pstrat <Short>
Description Defines the partitioning strategy.
Default value (Short)(2)
Validation

Possible values are

  • (Short)(0): Linear partitioning
  • (Short)(1): Parmetis partitioning
  • (Short)(2): KDtree partitioning

Parameters

renumbering <Short>
Description Algebraic node renumbering to reduce matrix bandwidth. Affects PETSc and Ginkgo backends.
Option 1 is a reversed breadth-first (Cuthill-McKee style) ordering: it seeds at the first local
node and visits neighbours in ascending index order.
Clustering the nonzeros near the diagonal may improve cache locality of the sparse
matrix-vector product, but the gain depends on mesh, backend and rank count: it is largest when
the per-rank block is much larger than cache, and vanishes or reverses when the block is already
cache resident. It also changes the ILU fill pattern, so the iteration count can move in either
direction; It is off by default and worth benchmarking on your own setup before enabling.
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): Ascending (no renumbering)
  • (Short)(1): Reversed breadth-first (Cuthill-McKee style)

Parameters

pstrat_imbalance <Float>
Description Amount of imbalance to tolerate in parmetis partitioning
Default value (Float)(1.0001)

Parameters

ellip_solve <Short>
Description Defines the solving method for elliptic problems.
- Direct is typically more accurate but memory consuming.
- Iterative methods are more suitable for large problems.
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): Direct if available
  • (Short)(1): Iterative

Parameters

flavor <String>
Description String defining the backend to be used
Default value (String)("petsc")

Parameters

ginkgo_exec <String>
Description Defines the hardware backend used by Ginkgo.
Default value (String)("ref")
Validation

Possible values are

  • (String)(ref): Reference Executor for sequential CPU execution
  • (String)(omp): OpenMP parallelized CPU execution
  • (String)(cuda): Cuda executor for execution on NVIDIA GPUs
  • (String)(hip): Hip executor for execution on AMD GPUs
  • (String)(dpcpp): Dpcpp executor for execution on Intel GPUs

Parameters

device_id <Int>
Description Device ID used for the Ginkgo backend.
Default value (Int)(0)
Validation Value must be greater than (Int)(0)

Parameters

ellip_options_file <RFile>
Description File containing PETSc or Ginkgo options for elliptic solver.
For all available solver options, refer to the documentation of the respective library.
Default value (RFile)("")

Parameters

parab_solve <Short>
Description Defines the solution method for the parabolic problem
Default value (Short)(1)
Validation

Possible values are

  • (Short)(0): Explicit
  • (Short)(1): Crank-Nicolson
  • (Short)(2): 2nd order dt

Parameters

parab_solve_emi <Short>
Description Defines the solution method for the EMI parabolic problem
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): Semi implicit method

Parameters

theta <Float>
Description Defines the weight given to solution at t(n+1) when using Crank-Nicolson (theta) method
Default value (Float)(0.5)
Validation Value must be between (Float)(0.1) and (Float)(0.99)

Parameters

parab_options_file <RFile>
Description File containing PETSc or Ginkgo options for parabolic solver.
For all available solver options, refer to the documentation of the respective library.
Default value (RFile)("")

Parameters

bidm_eqv_mono <Short>
Description Use monodomain conductivities that are equivalent to the bidomain.
Default value (Short)(1)
Validation

Possible values are

  • (Short)(0): use intracellular tensor
  • (Short)(1): Use harmonic mean tensor

Parameters

ode_fac <Short>
Description Defines the number of ode solves per global dt
Default value (Short)(1)
Validation Value must be between (Short)(1) and (Short)(10)

Parameters

extracell_monodomain_stim <Flag>
Description When bidomain mode is turned off, i.e. '-bidomain=0', set phi_e to be utterly determined by the extracellular stimuli.
Default value (Flag)(0)

Parameters

cg_tol_ellip <Double>
Description conjugate gradient solver tolerance for elliptic problem
Default value (Double)(1.0e-8)

Parameters

cg_norm_ellip <Short>
Description Pick a norm for checking convergence of elliptic solve for PETSc solvers
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): absolute tolerance using L2 of preconditioned residual (energy norm)
  • (Short)(1): absolute tolerance using L2 of unpreconditioned residual (not always possible, defaults to 0 then)
  • (Short)(2): relative tolerance
  • (Short)(3): combined tolerance, using both 0 and 2, iteration stops if either 0 or 2 are met

Parameters

cg_maxit_ellip <Int>
Description Defines the maximum number of iterations for iterative solver of elliptic PDE.
Default value (Int)(500)
Validation Value must be between (Int)(0) and (Int)(10000)

Parameters

cg_tol_parab <Double>
Description conjugate gradient solver tolerance for parabolic problem
Default value (Double)(1.0e-8)

Parameters

cg_norm_parab <Short>
Description Pick a norm for checking convergence of parabolic solve (PETSc solvers only, ignored with PT)
Default value (Short)(0)
Validation

Possible values are

  • (Short)(0): absolute tolerance using L2 of preconditioned residual (energy norm)
  • (Short)(1): absolute tolerance using L2 of unpreconditioned residual (not always possible, defaults to 0 then)
  • (Short)(2): relative tolerance
  • (Short)(3): combined tolerance, using both 0 and 2, iteration stops if either 0 or 2 are met

Parameters

cg_maxit_parab <Int>
Description maximum number of iterations for iterative solver of parabolic PDE.
Default value (Int)(100)
Validation Value must be between (Int)(0) and (Int)(1000)
You can select different methods to solve the finite element method.

Parameters

mass_lumping <Short>
Description toggles mass matrix lumping
Default value (Short)(1)
Validation

Possible values are

  • (Short)(0): Use full mass matrix
  • (Short)(1): Lump mass matrix

Parameters

operator_splitting <Short>
Description toggles operator splitting
Default value (Short)(1)
Validation

Possible values are

  • (Short)(0): Don't use operator splitting
  • (Short)(1): Use operator splitting