Skip to content

This a reaction-diffusion PDE solver in 3D implemented with C/C++/CUDA and OpenGL interoperability. In addition, the media has rotational anisotropy to account for the tissue fiber effects.

Notifications You must be signed in to change notification settings

bigquantum/Anisotropic_cardiac_tissue-3D

Repository files navigation

Anisotropic cardiac tissue in 3D

This software was developerd by: Hector Augusto Velasco-Perez @CHAOS Lab@Georgia Institute of Technology

Special thanks to:

  • Dr. @Flavio Fenton
  • Dr. @Claire Yanyan Ji
  • Dr. @Abouzar Kaboudian
  • Dr. @Shahriar Iravanian

Software general decription

This software allows you to solve the Fenton-Karma (FK) model with a diffusive coupling in a 3D domain with a constant rotating conducting anisotropy. The software allows for input/output files and real time graphics for user interactivity. This software is implemented in C/CUDA.

Other features

  • Time integration: first order explicit Euler method
  • Spacial coupling: fourth order Laplacian with finite differences
  • Filament tracking: pixel and subpixel resolution
  • Zero-flux boundary conditions and optional periodic boundary conditions at the top and bottom of the domain
  • Switch between anisotropic and isotropic tissue. The anisotropy is a constant rotating anisotropy
  • Switch between single and double precision

Software requirements

  • CUDA v7 or higher
  • glew.h, glut.h, freeglut.h
  • SOIL.h library (sudo apt-get install libsoil-dev)

Software use (in order of appearance)

  • To run the eprogram, open a Linux terminal and type make
  • globalVariables.cuh:
    • nx,ny,nz: Grid size
    • ITPERFRAME is the number of iterations it computes in the background without rendering an image.
    • Uth is the filament voltage treshold.
    • NN is the size of the array in floats (doubles) to save the tip filament trajectory.
    • DOUBLE_PRECISION: switch between double and single presicion (comment/uncomment).
    • ANISOTROPIC_TISSUE: switch between isotropic and anisotropic fibers (comment/uncomment).
    • LOAD_DATA: switch from loading an external file or initializing the simulation with a precoded initial condition (comment/uncomment).
    • SAVE_DATA: switch between saving data or not saving data (comment/uncomment).
    • SPIRAL_TIP_INTERPOLATION: Switch between subpixel resolution interpolating algorithm or pixel resolution algorithm for filament tracing (comment/uncomment).
    • Model parameters. Remember to modify the parameters for the floating point type selected.
  • main3V-FK.cu:
    • strAdress: memory adress where the output data will be saved.
    • The structure param contains most of the physical parameters. To see which parameters it contains see typedef3V-FK.h.
    • pwdAdress contains the input-memory adress (if LOAD_DATA in not commented).
    • keyboard function: keyboard shortcuts. All names are self explanetory.
    • exitProgram function: comment/uncomment the functions inside the #ifdef SAVE_DATA.

About

This a reaction-diffusion PDE solver in 3D implemented with C/C++/CUDA and OpenGL interoperability. In addition, the media has rotational anisotropy to account for the tissue fiber effects.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published