Heart rhythms. Introduction

Pacemakers generate regular oscillating rhythms (waves) in a normal heart. Tachycardia and fibrillation are attributed to spiral and chaotic waves in heart tissue. Understanding (at least accurate simulations) of nonlinear waves propagation and instabilities may help to cure diseased heart. My notes are rather chaotic yet because the subject is too extensive. For more information look at The Virtual Heart.

Excitable media and models of cardiac cell Action Potential (AP)

In 1952 Alan Hodgkin and Andrew Huxley proposed the first model to explain the ionic mechanisms underlying the initiation and propagation of action potentials in the squid giant axon (see Hodgkin-Huxley model). Since then many models of cardiac cell AP appear (see Models of cardiac cell in Scholarpedia).

We consider some of them
Simplified models: FitzHugh-Nagumo (1961), Karma (1993), Fenton-Karma (1998), Bueno-Orovio-Cherry-Fenton (2008),
Ionic models: Noble (1962), Beeler-Reuter (1977), Luo-Rudy I (1991), Tusscher-Noble-Noble-Panfilov (2004, 2006).

JavaScript, Java, C... ?

To explore heart models these pages use JavaScript and html5. The scripts are flexible, simple and free (public domain). I hope you can modify it or make your own models.

See Interactive Mandelbrot set and Animated Lissajous figures examples in JS + html5. In the Java and JavaScript time tests I've got similar efficiency (10 years ago Java applet was only ~25% slower than similar C program). So both JIT compilers are very impressive.

And we have GPU for heavy calculations! WebGL is used for all 2,3D simulations (see WebGL and simulations on GPU).

Need for speed. WebCL vs. WebGL

Based on OpenGL ES (made to support mobile phones and tablets) WebGL has many restrictions: no double precision, no multiple output (only one 4 "color" cannel), saving data only in float32 textures (no 32, 64 bit buffers). Therefore in complex models (BR, LR, TNNP) with many variables (6-19) we have to use 2-5 shaders to update all of them (this double texture reading at least).

On Geforce GTX 560 WebCL based FHN 1k model is 19/13 faster than WebGL based one see test folder. It is very likely because WebCL uses float2 buffers to store u, v data (in WebGL I have to use float4 (i.e. 2 times larger) textures due to browsers "feature" yet) and buffers are cached in Fermy GPUs. Unfortunately my scripts are not very stable yet in the Nokia WebCL extension for Firefox.

To see WebCL based applications you need a modern graphical card, OpenCL driver and FireFox with the Nokia Research WebCL extension.

Cloud computing

NVIDIA proposed Virtual Desktop Infrastructure solutions to transform Windows desktops (by adding a fully virtualized GPU board) into cloud-like resources accessible by end users from any device, anywhere, at any time. So your phone or tablet with Windows 8 could enter a remote server and run hard GPU based simulations on html pages.
Heart rhythms
updated 24 May 2012