Courtemanche finitewave model
This model describes the ionic currents and action potential dynamics of human atrial myocytes. It includes detailed formulations for major ionic currents (fast sodium current, L-type calcium current, inward rectifier potassium current, transient outward potassium current, rapid and slow delayed rectifier potassium currents, and Na⁺/Ca²⁺ exchanger), as well as calcium handling mechanisms.
The Courtemanche model is widely used as a reference atrial electrophysiology model. It has served as the basis for many subsequent atrial modeling studies, including investigations of atrial fibrillation and drug effects.
Reference
Courtemanche M, Ramirez RJ, Nattel S. Ionic mechanisms underlying human atrial action potential properties: insights from a mathematical model. Am J Physiol. 1998 Jul;275(1):H301-21.
DOI: 10.1152/ajpheart.1998.275.1.H301
How to use (quickstart)
python -m examples.courtemanche_example
How to test
python -m pytest -q
Repository structure
.
├── courtemanche/ # equations package (ops.py)
│ ├── __init__.py
│ └── ops.py # model equations (pure functions)
├── implementation/ # 0D model implementation
│ ├── __init__.py
│ └── courtemanche_0d.py
├── example/
│ └── courtemanche_example.py # minimal script to run a short trace
├── tests/
│ └── test.py # smoke test; reproducibility checks
├── .gitignore
├── LICENSE # MIT
├── pyproject.toml # configuration file
└── README.md # this file
Variables
u = -84.5- Membrane potential (mV)nai = 11.2- intracellular Na⁺ concentration (mM)ki = 139- intracellular K⁺ concentration (mM)cai = 0.000102- intracellular Ca²⁺ concentration (mM)caup = 1.6- Ca²⁺ concentration in uptake compartment (mM)carel = 1.1- Ca²⁺ concentration in release compartment (mM)m = 0.00291- activation gate of fast Na⁺ currenth = 0.965- fast inactivation gate of inaj = 0.978- slow inactivation gate of inad = 0.000137- activation gating variable for icalf = 0.999837- voltage-dependent inactivation gating variable for icaloa = 0.000592- activation gate for itooi = 0.9992- inactivation gate of itoua = 0.003519- activation gating variable for ikurui = 0.9987- inactivation gate of ikurxs = 0.0187- activation gating variable for iksxr = 0.0000329- activation gating variable for ikurfca = 0.775- Ca²⁺-dependent inactivation gate of icalirel = 0- Ca²⁺ release current from SRvrel = 1- Ca²⁺ flux-dependent inactivation gating variable for irelurel = 0- activation gating variable for irelwrel = 0.9- voltage-dependent inactivation gating variable for irel
Parameters
gna = 7.8- maximum conductance of fast sodium current (nS/pF)gnab = 0.000674- maximum conductance of background sodium current (nS/pF)gk1 = 0.09- maximum conductance of inward rectifier potassium current (nS/pF)gkr = 0.0294- maximum conductance of rapid delayed rectifier potassium current (nS/pF)gks = 0.129- maximum conductance of slow delayed rectifier potassium current (nS/pF)gto = 0.1652- maximum conductance of transient outward potassium current (nS/pF)gcal = 0.1238- maximum conductance of L-type calcium current (nS/pF)gcab = 0.00113- maximum conductance of background calcium current (nS/pF)Vc = 20100- cell volume (μm3)Vj = Vc * 0.68- intracellular volume (μm3)Vup = Vj * 0.06 * 0.92- uptake compartment volume (μm3)Vrel = Vj * 0.06 * 0.08- release compartment volume (μm3)ibk = 0.0- background current (pA/pF)cao = 1.8- extracellular Ca²⁺ concentration (mM)nao = 140- extracellular Na⁺ concentration (mM)ko = 5.4- extracellular K⁺ concentration (mM)caupmax = 15- maximum Ca²⁺ uptake rate (mM/ms)kup = 0.00092- uptake rate constant (mM)kmnai = 10- Michaelis-Menten constant for Na⁺ (mM)kmko = 1.5- Michaelis-Menten constant for K⁺ (mM)kmnancx = 87.5- Michaelis-Menten constant for Na⁺/Ca²⁺ exchanger (mM)kmcancx = 1.38- Michaelis-Menten constant for Ca²⁺/Na⁺ exchanger (mM)ksatncx = 0.1- saturation constant for Na⁺/Ca²⁺ exchangerkmcmdn = 0.00238- Michaelis-Menten constant for calmodulin (mM)kmtrpn = 0.0005- Michaelis-Menten constant for troponin (mM)kmcsqn = 0.8- Michaelis-Menten constant for calsequestrin (mM)trpnmax = 0.07- maximum troponin concentration (mM)cmdnmax = 0.05- maximum calmodulin concentration (mM)csqnmax = 10.0- maximum calsequestrin concentration (mM)inacamax = 1600- maximum Na⁺ current (pA/pF)inakmax = 0.6- maximum Na⁺/K⁺ pump current (pA/pF)ipcamax = 0.275- maximum Ca²⁺ pump current (pA/pF)krel = 30- maximum release rate for ireliupmax = 0.005- maximum uptake current (mM/ms)kq10 = 3- temperature scaling factor for ikur and ito kineticsR = 8.3143- gas constant (K−1 ⋅ mol−1)T = 310.0- temperature (K)F = 96.4867- Faraday constant (C/mmol)
Metadata
Release files for finitewave-model-courtemanche 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| finitewave_model_courtemanche-0.6.0.tar.gz | 109.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finitewave_model_courtemanche-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.9 kB
Release files / finitewave_model_courtemanche-0.6.0.tar.gz
| Download URL | finitewave_model_courtemanche-0.6.0.tar.gz |
|---|---|
| Size | 109.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12a4650e63c076c84a7767ff5893f578fabf081d6be86d7d004051a882264b5f
|
|
BLAKE2b-256 checksum How to use checksums |
2ff1ca7c36eb262ca30b18be3916a295109f6474be18430b4d17ce07b38a1823
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.9
|
Release files / finitewave_model_courtemanche-0.6.0-py3-none-any.whl
| Download URL | finitewave_model_courtemanche-0.6.0-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2e9bbca3b6e399a2f6e402a43ea83bb4481a847658fccdec9b7faeea8eb56d4a
|
|
BLAKE2b-256 checksum How to use checksums |
67414a82bfe1836deaa13943905f95d3ec107bb937284c224ab2d66c3d9d70d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.9
|