УДК 004.942
М. А. Голубчиков, Ю. С. Юсупова, К. В. Кальянова, C. И. Иванов
Российский химико-технологический университет им. Д. И. Менделеева, Москва, Россия
МОДЕЛИРОВАНИЕ ПРОЦЕССА РАСТВОРЕНИЯ
МНОГОКОМПОНЕНТНЫХ ТВЕРДЫХ ТЕЛ С
ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ
Исследовалось растворение многокомпонентного твердого тела. Предложена модель растворения на основе вероятностных клеточных автоматов. Программная реализация с использованием параллельных вычислений.
The dissolution of multi-component solid was investigated. A model of dissolution based on probabilistic cellular automata. Software implementation using parallel computing.
Введение
В настоящее время актуальна задача моделирования процесса растворения твердых тел сложного состава и формы в разных растворителях при различных условиях, например, прогнозирование кинетики высвобождения веществ из лекарственных форм в фармацевтике, стойкость опор к разрушению в строительстве.
Процесс растворения смоделирован на основе вероятностных клеточных автоматов с использованием дифференциальных уравнений и высокопроизводительных параллельных вычислений. В статье также рассматривается разработанный программный комплекс, который позволяет моделировать процесс растворения твердых тел сложного состава и различной геометрической формы.
Описание клеточного автомата
Клеточный автомат представляет собой набор кубических полей с линейным размером N клеток. В модели приняты следующие допущения:
• Система представлена в виде совокупности полей, состоящих из кубических клеток;
• Каждая клетка имеет шесть соседних клеток;
• Поля может быть замкнутым или открытым;
• Расчет идет итеративно, процессы, протекающие на каждой итерации, принимаются как идущие в один момент времени;
• Клетка описывается тремя характеристиками: тип вещества, количество вещества в клетке и агрегатное состояние («жидкость», «твердое тело»);
• На каждом поле рассматривается только одно вещество и среда растворения (растворитель);
• Растворяемые вещества не влияют на растворение друг друга;
• Состояние клетки зависит только от текущего состояния и соседних клеток;
Так как состояние поля на следующей по времени итерации зависит только от состояния поля на предыдущей итерации, возможна реализация параллельного расчета для каждой клетки поля.
Линейный размер клетки составляет 10-100 мкм и вместе с размером полей клеточного автомата задается в начальных условиях.
Для каждого вещества определяется максимальное возможное количество вещества, которое может содержаться в ячейке поля исходя из объема клетки, плотности вещества и молекулярной массы вещества по формуле:
13 р
V =
тах м
(1)
где утах - максимальное количество вещества в одной клетке автомата в молях, I - линейный размер одной клетки, р - плотность вещества (при прессовании определяется экспериментально), М - молекулярная масса вещества.
Количество вещества, необходимого для приготовления насыщенного раствора данного вещества в объеме равном объему одной клетки рассчитывается исходя из концентрации насыщенного раствора вещества в заданном растворителе.
Концентрация насыщенного раствора определяется по справочным данным или экспериментальным путем.
При расчетах принимается следующее допущение: если количество вещества в клетке находится в диапазоне от максимально возможного количества вещества до количества вещества, необходимого для насыщенного раствора в объеме клетки, то агрегатное состояние вещест-
ва в клетке принимается как «твердое». Если количество вещества находится в диапазоне от количества вещества, необходимого для насыщенного раствора до нуля, то агрегатное состояние вещества в клетке принимается как «жидкость».
Для каждой клетки поля производится расчёт процесса:
• растворения твердого вещества в жидкой фазе;
• диффузии растворенного вещества за счет разности концентраций (по закону Фика);
• переноса нерастворимого вещества за счет внешних факторов (движение жидкой фазы).
Расчет процесса растворения
Растворение рассчитывалось во всех клетках, имеющих агрегатное состояние «твердое вещество» во все соседние клетки с состоянием «жидкость». Расчет количества вещества, переходящего в растворенное состояние происходит по уравнению массопередачи
^ = ~к • Р • - С), (2)
где dM - изменение массы твердого вещества, dt - промежуток времени, к - коэффициент растворения, Р - поверхность растворения, Снасьщ - концентрация насыщенного раствора.
Наиболее общее уравнение для расчета коэффициента растворения к в аппаратах с мешалками получено на основе предположения, что решающую роль во внешнем массообмене выполняет разрушение пограничного слоя мелкомасштабными турбулентными пульсациями (уравнение 3):
к = е1/4 • Бе-3/4, (3)
е = ^ (4)
О У J
Бе = — , (5)
В К '
где е - удельная диссипация механической энергии, Бе - критерий Шмидта (диффузионный критерий Прандтля), N - мощность, затрачиваемая на перемешивание, О - масса перемешиваемой суспензии [1].
После расчета процесса растворения во всех возможных клетках, исходя из новых значений количества вещества в клетках, по правилам, описанным выше, определяется их новое агрегатное состояние. Расчет с помощью предлагаемого математического описания без ограничений реализуется с применением приёмов распараллеливания вычислений.
Расчет процесса диффузии
Расчет процесса диффузии осуществляется по уравнению Фика
дш = Б ■ — ■ dS ■ , (6)
где Б - коэффициент диффузии, дш - количество вещества, диффундирующее за промежуток времени dt через площадку dS, нормальную к той линии
I, вдоль которой происходит диффузия, — - градиент концентрации.
dl
В процессе расчета диффузии участвуют только те клетки, которые имеют агрегатное состояние «жидкость». Для каждой клетки, содержащих, растворенное вещество и ее новых соседей рассчитывается новые значения количества содержащегося в них вещества, на основе предыдущих значений.
Такой расчет так же без ограничений реализуется с применением приёмов распараллеливания вычислений.
Расчет процесса переноса веществ
Для расчета случайным образом выбирается р процентов пар клеток, имеющих одно из следующих состояний:
• «раствор вещества» - «раствор вещества»
• «раствор вещества» - «растворитель»
• «твердое нерастворимое вещество» - «растворитель»
• «твердое нерастворимое вещество» - «раствор вещества»
Количество выбранных клеток является эмпирической величиной и подбирается на основе сравнения результатов моделирования с экспериментальными данными. На заключительной стадии при открытых полях происходит удаление вещества из граничных клеток клеточного автомата, что имитирует большой объем реальной системы.
После расчета итерации происходит проверка выполнения закона сохранения массы (количество вещества в системе совокупно с количеством удаленного вещества из системы должно быть постоянным). При необходимости сохраняется состояние поля для дальнейшей визуализации системы и возможности возобновить расчет при его прерывании. Расчет завершается при переходе всех клеток, содержащих растворимые вещества, из состояния «твердое тело» в состояние «раствор вещества».
Разработанная математическая модель может быть использования для проведения расчетов процесса растворения любых твердых тел. Количество веществ из которых состоит твердое тело не ограничено. Математическая модель позволяет получить не только конечные данные, такие как водорастворимость, водопоглощение исследуемого образца, но и динамику процесса растворения.
Модель является развитием [2].
Программная реализация
Разработанная модель легла в основу программного комплекса. Программный комплекс состоит из трех модулей: модуль подготовки начальных данных, модуль расчета, модуль представления полученных результатов.
Модуль подготовки начальных данных представляет собой визуальный интерфейс для задания начальной геометрии твердого тела, состава твердого тела, состава среды, внешних воздействий на твердое тело. Пользователь имеет возможность загрузить заранее сгенерированные структуры твердого тела, распределить компоненты случайно - равномерно или в соответствии с некоторыми условиями. После задания начальных условий модуль передает необходимые данные модулю расчетов.
Модуль расчетов реализует алгоритм расчета системы с помощью вероятностного клеточного автомата, сохранение промежуточных данных, проверку выполнения закона сохранения массы в системе.
Описание алгоритма расчета
Алгоритм расчета реализован с применением методов распараллеливания вычислений. Алгоритм расчета состоит из трех этапов, по-
вторяющихся итеративно, этапа подготовки входных данных, этапа сохранения и визуализации данных (см. рис. 1).
На этапе подготовки данных пользователь задает следующие значения:
• Линейный размер и геометрическую форму растворяемого объекта;
• Внутреннюю и внешнюю структуру растворяемого объекта. Пользователь имеет возможность загрузить структуру матрицы твердого тела, если она заранее сгенерирована или распределить вещества, из которых состоит растворяемый объект случайно равномерно по всему объему объекта, в соответствии их массовым долям. При задании внешней структуры (покрытия) пользователь имеет возможность указать толщину покрытия и количество слоев покрытия. Слои могут состоять из различных веществ и растворяемый объект может содержать несколько слоев покрытия;
• Физико-химические свойства всех веществ, присутствующих в системе (плотность, молекулярную массу, коэффициент диффузии и т.д.);
• Внешние факторы, действующие на объект растворения (скорость оборотов мешалки, температуру среды).
Рис. 1. Блок-схема работы программного комплекса
Далее происходит итеративный расчет трех указанных выше процессов.
Модуль визуализации и сравнения результатов представляет собой интерфейс для графического отображения системы в 2D и 3D форматах,
вывод графической информации о процессе растворения. Кроме этого модуль позволяет сохранять состояния клеточного автомата в формат 3ds для возможности использовать для визуализации существующие программные комплексы (3DMax, GoogleSketchUp).
Программный комплекс реализован на платформах Microsoft .NET Framework 4.0/4.5 и OracleJavaRuntime с помощью языков программирования C# и Java. В качестве библиотеки для визуализации использовалась OpenGL. Модуль расчетов поддерживает параллельные вычисления с помощью технологии Microsoft Parallel.
Результаты расчетов и дальнейшее развитие программного комплекса
Было проведено моделирование и численное сравнение с экспериментальными данными процесса растворения аскорбиновой кислоты, окруженной двухслойной оболочкой.
На текущий момент были получены результаты численного моделирования системы, состоящий из трехкомпонентного твердого тела. Линейный размер клеточного автомата составил 500 клеток, всего клеток в системе - 375 миллионов. Время одного расчета около 40 часов при конфигурации 2 IntelXeonE2650 (4 физических ядра, 8 виртуальных ядер на 1 процессор), 32 ГБ RAM.
На рисунке 2 представлен результат визуализации расчета растворения таблетки. На рисунке показан срез образца таблетки в различные временные интервалы. Слева представлено общее изображение твердого тела, правее представлены изображения состояния каждого компонента, входящего в состав твердого тела. Черным цветом показано твердое состояние вещества, серым цветом - растворенное вещество (насыщенность серого цвета определяется концентрацией вещества в растворе).
Кинетика растворения представлена на рисунке 3.
Предполагается развитие данного программного продукта в двух основных направлениях: развитие и оптимизация кода программного модуля отвечающего за процесс расчета с помощью клеточного автомата, и добавление новых моделируемых процессов.
Начало процесса
2 минуты
5 минут
25 минут
Общее представление Оболочка 1 Оболочка 2 Аскорб. к-та Рис. 2. Растворение аскорбиновой кислоты с двумя оболочками
Доля
(Комконе
0,8 0,7 0,6 0,5 0,4 0,3 0,2
0,1 0
Аскорбиновая к-та
длИ!
ельность расчета, мин
СЧе
20
25
Рис. 3. Зависимость количества веществ в твердом состоянии в зависимости от
длительности расчета
Библиографический список
1. Дытнерский Ю. И. Основные процессы и аппараты химической технологии: пособие по проектированию / Ю. И. Дытнерский, Г. С. Борисов, В. П. Брыков и др.; под ред. Ю. И. Дытнерского. 2-е изд., перераб. и доп. М.: Химия, 1991. 496 с.
2. Меньшутина Н. В., Иванов С. И., Шипилова Д. Д. Моделирование растворения твердых тел с помощью клеточных автоматов // Программные продукты и системы. 2012. № 1. С. 151-154.
0
5