Simulation of Long-Term Interaction of Spiral Waves in Excitable Media Modeled by Cellular Automata...
-
Upload
elvin-richard -
Category
Documents
-
view
216 -
download
2
Transcript of Simulation of Long-Term Interaction of Spiral Waves in Excitable Media Modeled by Cellular Automata...
Simulation of Long-Term Interaction of Spiral Waves in Excitable Media
Modeled by Cellular Automata using a 20-CPU Linux Cluster
Lukasz Grzegorz Maciak
Micheal Alexis
Faculty Supervisor: Dr. Roman ZaritskiCMPT 680-01 Parallel Architectures and Algorithms
Excitable Media Definition of Excitable Media:
An excitable medium is a nonlinear dynamical system which has the following properties: The capacity to propagate a wave of some description Inability to support the passing of another wave until a certain amount
of refractory time has passed Examples of Excitable Media in Nature:
Forest Fire Cardiac Muscle Tissue
Excited Wave Propagating Outwards
Refractory Area – cannot be excited
Cellular Automaton
Excitable media can be modeled using the Cellular Automaton Theory: Cells on a grid are assigned discrete values Values are updated based on the state of the
neighboring cells according to some rules. Example:
Conway’s Game of Life:
Dead Cell
Live Cell
Cellular Automata Rules for Excitable Media
The state of each cell is described by 2 values: Excitation (U) and Refraction (V)
The cell is Excited if U≥1 The cell stops being excited (U=0) if 0<V<0.6
Rules:1. If the value of U>0.3 then U=V=1
2. If the value of V<0.6 then U=0
3. While V>0 decrement V by 0.01
Cellular Automata Rules for Excitable Media
Rules Continued:4. The current value of U is determined based on
the state of either 4 or 8 neighboring cells using rules for diffusion (discretization of Laplace Operator)
1 2 3
4 CELL 5
6 7 8
Based on the U value ofU in the neighboring cellsU value of CELL is updated in small increments.
Cellular Automata Rules for Excitable Media
Unexcited Cell Unexcited Cell(U diffuses)
Excited Cell
Excited Cell(V decreases)
Unexcited Cell(Refractory State)
Value of U
Value of V
Implementing Computer Simulation
Implementation in C++ 20 CPU Linux Cluster
(located in RI 109) MPI library (parallel
communication) OpenGL library (data
visualization) LPThread library (the
graphical display functions)
Implementation Details 1000 x 2000 Rectangular Grid Cells on the edges of the grid are always unexcited (u:0 v:0) Using Vertical Domain Slicing to divide workload among the
20 CPU’s Using MPI Send and Receive Functions to exchange cell
values on borders between each “chunk”
CPU 1
CPU 2
CPU 3
CPU 17
CPU 18
CPU 19
…
Parallelization Issues – Domain Slicing Problem
1 2 3 4
5 CELL 1 CELL 2 6
7 8 9 10
CELL1 depends on points 1,2,3,5,7,8, 9 and CELL2but 3, 9 and CELL2 values belong to CPUB
CPU A CPU B
Work Distribution
Master Node (Control)
2nd Chunk
OpenGL Graphical Thread
1st Chunk
19th Chunk
…
Diffusion of U:
(*uu)(i,j) = U+2.76*D*dt/dx/dx*((*u)(i+1,j)+(*u)(i-1,j)+(*u)(i,j+1)+(*u)(i,j-1)-4*U);
Change of V:
if (V>0) {
V=V-0.01; if (V<0.6) (*uu)(i,j)=0;}else {
if(((*uu)(i,j)>0.3)&&((*uu)(i,j)<1)){
(*uu)(i,j)=1.0; V=1.0; }
}
Cellular Automaton Rules - Implementation
Diffusion Coefficient
V decrement Refraction Threshold
Ignition Threshold
(*uu)(i,j) = U+2.76*D*dt/dx/dx*((*u)(i+1,j)+(*u)(i-1,j)+(*u)(i,j+1)+(*u)(i,j-1) +(*u)(i-1,j-1) +(*u)(i-1,j+1) +(*u)(i+1,j-1) +(*u)(i+1,j+1)-8*U);
Parallel Communication
MPI Library functions MPI_Send and MPI_Recv are used for communication
The U and V values on the “chunk” border need to be swapped among CPU’s
MPI Code Samples:
MPI_Send((void*)uu->GetColumnPtr(L_min_2), N_plus_1, MPIFPTYPE, right, 11+DiscrTime, MPI::COMM_WORLD);
MPI_Recv((void*)u->GetColumnPtr((k-1)*(L-2)), L*(N+1), MPIFPTYPE, ltor[k], k, MPI::COMM_WORLD, status);
Initiating Spiral Waves
Excited Cells
Refractory Cells
Intersecting squares of Excited and Refractory cells produce 2 Spiral Waves
Spiral Wave is a unique configuration ofExcited and Refractory cells – it will spinforever, and it cannot be destroyed by collisions with other waves
Spiral Wave Rotation
Spiral Wave Tip
Rotation Core
Spiral Wave rotates around a core – this makes it move around on the gridand makes it collide with other waves – which alters the direction of the spin.
The Size of the Rotation Core Depends on:
• Ignition threshold • Refraction threshold• V decrement size• U diffusion coefficient
Computer Simulation
Initial Setup – Randomly placed intersecting squares.This picture represents the state several generations old.
Computer Simulation
Spiral Waves are Forming (4 neighbor diffusion)
Computer Simulation
Runtime 5-10 minutes (4 neighbor diffusion)
Speedup Analysis
Using 8 neighbors we get much smoother waves.
Computer Simulation
Formation of Spiral Wave Pairs (8 neighbors)
Computer Simulation
Multiple Spiral Wave Clusters forming
Computer Simulation
Spiral Wave Pair becomes the dominant feature
Computer Simulation
Runtime 5-6 hours: single Spiral Wave dominates the grid
Speedup Analysis
Speed-Up Curve
0
2
4
6
8
10
12
14
16
18
0 5 10 15 20
# CPU
Sp
ee
d-U
p
DT=100
DT=500
DT=1000
FUTURE DIRECTIONS
Using different boundary conditions Continuous Domain (Cylinder, Taurus) Reflective Boundaries
Discovering effective ways to eliminate spiral ways Long term statistical analysis of Spiral Wave
behavior: What are the optimal conditions for forming pairs and
triplets? What is the least time needed for a triplet to form? Is there a time period after which we can safely say, that if
no pairs have formed, it is unlikely that they will form at all?