Menu

Home

Alexey Arkhipenko

Video: https://youtu.be/USx0x3R9cl4


Программа работает в среде MS DOS (используйте DosBox с русификатором russian.txt).
Если работает очень медленно или зависает, откройте параметры (F4) и измените Delay на 1. Также, можете дополнительно изменять количество циклов DosBox (Ctrl+F11 / Ctrl+F12).

Программа позволяет моделировать некоторые волновые процессы в активных
средах (миокард, мозг). Конечно, невозможно пока достаточно точно
смоделировать такие сложные органы, состоящии из миллионов клеток,
но программа позволяет смоделировать некоторые частные случаи, на-
пример, прохождение парной волны вдоль границы раздела между среда-
ми с разной рефрактерностью, лежащей под острым углом к фронту
волны. При разработке программы особое внимание уделялось образо-
ванию, развитию и размножению ревербераторов, вероятно, являющихся
причиной возникновения в сердце таких патологий как фибрилляция же-
лудочков и экстрасистолии.

Cодержание справки:
1. Управление программой
2. Принципы моделирования
2. Структура файлов систем
3. Замечание об ошибках
4. Источники

  1. Управление программой:

    В режиме выбора и редактирования экосистемы:
    F1 - Вызов этой справки
    F4 - Редактирование параметров выбранной экосистемы или смена
    описания папки
    F5 - копирование выбранной системы
    F6 - перемещение выбранной системы
    F7 - создание новой папки
    Ins - создание новой системы
    Del - удаление папки/системы
    BkSp - возврат в предыдущую папку
    Enter - переход в режим моделирования

    Встроенный редактор имеет свою справку.

  2. Принципы моделирования.
    Моделирование осуществляется при помощи разложения активной среды на
    дискретную матрицу клеток (обычно 100x100). Каждая клетка обладает
    несколькими байтовыми (0..255) параметрами:
    1. Рефрактерностью (складывается из T - времени, в течение кото-
    рого клетка возбуждена и может передаватьимпульсы окружа-
    ющим ее клеткам, но не может принимать дополнительные импульсы
    и R - времени, в течение которого клетка рефрактерна, то есть
    не может ни принимать, ни передавать импульс).
    2. Скоростью передачи импульса (точнее, задержкой перед передачей
    импульса соседней клетке)
    3. Состоянием (в покое, возбужденна или рефрактерна)
    Поскольку задавать для каждой клетки ее начальные параметры было бы
    слишком долго и трудоемко, используется метод блоков: в параметрах
    можно присвоить значения рефрактерности или скорости передачи импуль-
    са сразу группе клеток. Кроме того, некоторые клетки можно делать
    "неактивными", то есть запрещать им возбуждаться от приходящего импуль-
    са. Так можно строить преграды на пути импульса. Все остальные "актив-
    ные" клетки к началу моделирования находятся в покое.
    Группы клеток задаются при помощи рисования фигур на виртуальной
    матрице клеток. Это могут быть круги, прямоугольники, линии, точки,
    заполненные прямоугольники или заливка. Вместо цвета фигуры указывает
    ся рефрактерность (T, R) или скорость проведения импульса. Программа
    сама присваивает этим группам клеток цвета.
    Следующим вопросом было создание затравочных импульсов в среде. На-
    пример, в сердце импульсы ритмично генерирует некоторая группа пейсмей-
    керных клеток. В данном случае возможно 2 варианта генерации импульсов:
    1. Случайные точечные импульсы. Для этих импульсов задается веро-
    ятность возникновения импульса в случайно выбранной точке среды
    за единицу времени (в программе единица времени равна времени,
    за которое плоская волна сдвигается на одну клетку в среде со
    скоростью передачи импульса v=1)
    2. Импульсы с заданным временем возникновения. В этом случае мож-
    но задавать до 10 точечных и до 10 плоских импульсов, указывая
    момент времени, в который они возникнут. Точечный импульс зада-
    ется координатами точки (X; Y), плоский импульс задается линией
    от точки (X1; Y1) до точки (X2; Y2). Необходимо помнить, что
    точечный импульс формирует кольцевой волновой фронт (в прог-
    рамме приближенно принят восьмиугольник), а плоский может
    сформировать двойной фронт, если он не создан вплотную к грани-
    це с неактивной средой.
    P.S. Если импульсы или группы импульсов возникают через равные
    промежутки времени, целесообразно указать период повторения
    (Timer=...), после которого отсчет времени пойдет с 0.

  3. Структура файлов ситем.
    Файл, описывающий параметры системы напоминает программу. В начале
    файла должно быть несколько обязательных параметров (названия не име-
    ют значения, но порядок должен быть только таким. Перед каждым значе-
    нием должен стоять знак равенства):
    Название системы
    Xm=...
    Ym=...
    MaxI1=...
    MaxI2=...
    Del=...
    Название системы должно содержать не более 40 символов - иначе оно не
    уместится на экране. Xm - число клеток в матрице по оси x, Ym - по y.
    MaxI1, MaxI2 - специальные параметры "импульсов" то есть передач
    импульса от одной клетки к другой. При задании этих парметров нужно
    учесть, что на их основе формируется матрица импульсов размером
    MaxI1 x MaxI2 и вся она должна уместиться в оперативной памяти, MaxI1
    не должен превышать 500, MaxI2 - 20000. MaxI1 должен быть больше само-
    го большого R или скорости передачи импульса - в зависимости от того,
    кто больше. MaxI2 должен быть большим, если вы планируете наличие
    одномоментно большого количества возбужденных клеток в среде. Если
    этот параметр мал, при моделировании может возникнуть "застревание" и
    дезактивация волны. В этом случае скорректируйте этот параметр. Пара-
    метр Del определяет величину задержки после каждого продвижения волны
    на 1 клетку в миллисекундах (на некоторых компьютерах меньше). Если
    моделирование осуществляется слишком медленно, имеет смысл уменьшить
    этот параметр, если слишком быстро - увеличить.
    После этих обязательных параметров могут следовать в любой последо-
    вательности 4 блока параметров, начинающихся с зарезервированного сло-
    ва (регистр не важен) и заканчивающихся словом "END". Названия блоков
    распознаются программой по первым 3 буквам, параметры в блоках должны
    следовать с отступом как минимум одного пробела, а их названия распоз-
    наются по первой букве (то есть, после буквы P в названии параметре
    "Pset(10, 20)" может следовать любой другой набор букв вплоть до
    открывающейся скобки - "P-точка(10, 20)"):
    1. NEW - единственный обязательный блок.
    Включает параметры новых импульсов (см.). Если задаются
    случайные импульсы по всему полю, единственный пара-
    метр - Spontan=... Он задает вероятность возникновения им-
    пульса за единицу времени (значения: от 0 до 1).
    Если задается упорядоченная по времени последовательность
    импульсов, то необходим параметр Timer=... Он задает период
    последовательности. Также в виде точек
    Pset(X, Y), T
    и линий
    Line(X1, Y1, X2, Y2), T
    задаются сами импульсы. T - время, в которое импульс возник-
    нет.
    2. REFRACT - блок параметров рефрактерности (см.). В этот блок
    могут входить следующие параметры:
    - параметр общей рефрактерности (время T и R - см.)
    General=T, R
    - клетка (точка) с другой рефрактерностью:
    Pset(X, Y), T, R
    - линия клеток с другой рефрактерностью:
    Line(X1, Y1, X2, Y2), T, R
    - прямоугольник (не заполненный) клеток с другой
    рефрактерностью:
    Rect(X1, Y1, X2, Y2), T, R
    - прямоугольник (заполненный) клеток с другой
    рефрактерностью:
    Bar(X1, Y1, X2, Y2), T, R
    - кольцо клеток с другой рефрактерностью (Ra - радиус):
    Circle(X, Y, Ra), T, R
    - заливка клеток с другой рефрактерностью (T1, R1 - параметры
    клеток внутри заливки, T2, R2 - параметры клеток на границе
    заливки; обычно одинаковые - T1=T2, R1=R2):
    Fill(X, Y), T1, R1, T2, R2
    3. SPEED - блок параметров скорости проведения импульса. В этот
    блок могут входить следующие параметры:
    - параметр общей скорости проведения (точнее - задержки
    в условных единицах времени перед передачей импульса сле-
    дующей клетке):
    General=S
    - клетка (точка) с другой скоростью передачи:
    Pset(X, Y), S
    - линия клеток с другой скоростью передачи:
    Line(X1, Y1, X2, Y2), S
    - прямоугольник (не заполненный) клеток с другой
    скоростью передачи:
    Rect(X1, Y1, X2, Y2), S
    - прямоугольник (заполненный) клеток с другой
    скоростью передачи:
    Bar(X1, Y1, X2, Y2), S
    - кольцо клеток с другой скоростью передачи (Ra - радиус):
    Circle(X, Y, Ra), S
    - заливка клеток с другой скоростью передачи (S1 - параметр
    клеток внутри заливки, S2 - параметр клеток на границе
    заливки; обычно одинаковые - S1=S2):
    Fill(X, Y), S1, S2
    4. WALL - блок параметров неактивных клеток (преград, или стен).
    После каждого параметра далее следует [, 0], означающий, что
    после этого параметра может стоять эта комбинация (например,
    "Pset(10, 20), 0" вместо "Pset(10,20)"). Тогда клетка или
    группа клеток становится активной. Используется для образова-
    ния отверстий в препятствиях и удаления части препятствий:
    - неактивная клетка (точка)
    Pset(X, Y) [, 0]
    - неактивная линия клеток
    Line(X1, Y1, X2, Y2) [, 0]
    - неактивный прямоугольник (не заполненный) клеток
    Rect(X1, Y1, X2, Y2) [, 0]
    - неактивный прямоугольник (заполненный) клеток
    Bar(X1, Y1, X2, Y2) [, 0]
    - неактивное кольцо клеток (Ra - радиус):
    Circle(X, Y, Ra) [, 0]
    - неактивная заливка клеток (если 0 - заливается по
    границе 0):
    Fill(X, Y) [, 0]

  4. Замечания об ошибках.
    В программе использована специальная многоуровневая система контроля
    ошибок. Если ошибка содержится в тексте параметров системы,
    программа выводит на экран сообщение типа "Ошибка в задании общей
    рефрактерности в строчке 12 файла ST2". Для разрешения этих ошибок
    обратитесь к примерам и правилам оформления файлов параметров систем.
    Если ошбка возникает в процессе моделирования или вообще в самой про-
    грамме, происходит приостановка программы с предложением пользователю
    продолжить программу или выйти из нее сразу. В любом случае желатель-
    но не прерывать программу по ошибке, а выйти из нее после возврата в
    меню. Отказываться от продолжения работы имеет смысл только в том
    случае, если программа циклически выдает данную ошибку уже несколько
    раз и не продолжает работу. Такое в принципе возможно только в случае
    грубых физических повреждений компьютера, изменений программы в
    результате занесения вируса или попыток изменения кода (-:

  5. При составлении программы была использована следующая литература:
    1. В.Ф. Антонов, А.М. Черныш, В.И. Пасечник, С.А. Вознесенский,
    Е.К. Козлова. Биофизика. Москва, 1996

Со всеми вопросами и предложениями просьба обращаться:
e-mail: rualark@gmail.com

                                               Архипенко Алексей
                                               Москва
                                               2000

Project Members: