User Tools

Site Tools


libkin:classes:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
libkin:classes:index [2025/12/22 15:11] – created - external edit 127.0.0.1libkin:classes:index [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Classes ====== 
-  * [[.:schema:|Schema]] 
-  * [[.:schema_instance:|SchemaInstance]] 
-  * [[.:expr:|Expression]] 
-  * [[.:parsed_expr:|Parsed Expression]] 
- 
- 
-===== Schema ===== 
- 
-Для эффективной работы модуля интегрирования дифф.ур-ний нам нужно особое представление схемы процесса (//encoding//). Так как в алгоритме интегрирования используются векторы (С-массивы) для значений концентраций (а также их производных по времени), удобно как минимум перед началом интегрирования иметь код схемы, содержащий целочисленные индексы, соответствующие реагентам схемы. Для констант скорости и других параметров такого жёсткого требования не возникает. 
- 
-Таким образом, вместо ассоциативного контейнера для хранения информации о реагентах придётся (?) использовать некоторую совокупность векторов: вектор имён,  
- 
-В качестве основного положения выберем, что схема процесса (//Schema//) задаёт конкретный набор дифф.ур-ний относительно концентраций реагентов процесса((они являются переменными интегрирования)), а её варианты/инстанциации (//SchemaInstance//) задают конкретные значения констант элементарных реакций и начальные значения концентраций реагентов.  
- 
-Мы принимаем, что значения параметров процесса (константы скоростей, начальные концентрации реагентов и др.) могут задаваться на 3-х уровнях иерархии: локально, как параметры //SchemaInstance//, глобально, на уровне //Schema//, что упрощает параметризацию моделирования процесса большим набором вариантов //SchemaInstance//. Третий уровань, "суперглобальные" параметры, обсудим позже. 
- 
-Кодирование схемы желательно проводить именно на её уровне (//Schema//), а не ниже. Тут и возникает необходимость предствления набора реагентов как векторов (С-массивов), поскольку именно так будут представлены концентрации реагентов в алгоритме интегрирования. Алгоритм интегрирования будет использовать собственные массивы плюс кодировку схемы для динамического вычисления вектора производных (а также и Якобиана этой системы ур-ний; см. [[..:gear|Алгоритм интегрирования]]). Для эффективности такого вычисления в кодировке схемы реагенты должны быть представлены соответствующими индексами элементов С-массивов. Хотя возможен подход //remapping//, т.е. организация косвенной адресации в связке "//код схемы//" -- "//массивы значений переменных интегрирования//". 
- 
  
libkin/classes/index.1766405470.txt.gz · Last modified: by 127.0.0.1