semenova

навигация

главная
статьи
    трубопроводы
    базы данных
    образование
гостевая
ссылки

СПОСОБ ПОСТРОЕНИЯ АЛГОРИТМОВ ПО МНОГОВАРИАНТНЫМ МОДЕЛЯМИ
И.И. Семенова
УДК 519.6:621.643/.644 Сибирская государственная автомобильно-дорожная академия


В данной работе предлагается вариант организации расчета значений для моделей, алгоритм которых является "однотипным", но особенность заключается в том, что параметрами данной модели могут быть другие модели, а конечный вид исследуемой модели зависит от конкретных условий, в которых находится объект.

В связи с активным развитием компьютерной техники стало возможна реализация в виде программно-аналитических комплексов сложных математических моделей для изучения свойств и прогнозирования состояний реальных объектов различной природы. Часто в практике можно столкнуться с таким родом моделей, алгоритм расчета которых является однотипным, но сложность реализации заключается в том, что параметрами данной модели могут быть другие модели, а конечный вид исследуемой модели зависит от конкретных условий, в которых находится реальный объект.

где f11 ,…, fnq - функции, зависящие только от времени и/или других параметров. В результате, с учетом начальных условий и особенностей конкретного объекта, выбирается один из видов модели Y, например ,Y=F(f11,f21,f31,...,fn1) из k n p q - возможных вариантов модели Y. Если программировать все возможные варианты модели Y, то потребуется создать k n p q - подпрограмм расчета на все возможные варианты реализации Y, что нецелесообразно по временным затратам, а также снижает надежность расчета, так как высока вероятность появления ошибок в процессе программирования. В данной ситуации целесообразно перейти к следующему варианту программной реализации таких моделей:

  • Создается интерфейс для выбора варианта модели и определения значений исходных параметров.
  • Создается база данных, хранящая варианты расчета, которые выполнялись пользователем. В таблицу базы данных, каждая строка которой будет соответствовать текущему варианту расчета по модели, заносятся коды выбранных вариантов зависимостей, а также значения исходных коэффициентов расчета.
  • Сами составляющие модели реализуются в виде самостоятельных функций, на выходе которых получаем значение составляющей модели, используемое в Y.
  • Для связи единого алгоритма расчета Y с его составляющими вводим функцию CASE_FUNC(KEY_), которая на входе получает значение кода составляющей модели. Далее CASE_FUNC(KEY_) по коду вызывает соответствующую ему функцию и возвращает ее результат в единый алгоритм расчета Y.

Рассмотрим пример реализации на модели изменения толщины стенки трубы во времени (модель упрощена для демонстрации): (1)
где S - толщина стенки трубы; t - время; vo - скорость коррозии ненапряженного металла; Т - абсолютная температура; V - молярный объем металла; R - универсальная газовая постоянная; бср - среднее напряжение в стенке трубы, в зависимости от условий эксплуатации может быть определено по одной из шести зависимостей, его значение также меняется во времени в связи с утончением стенки трубы. В состав бср входит параметр - внутреннее давление, которое также может быть определено по одной из зависимостей (постоянное, переменное с постоянной амплитудой и частотой, переменное с переменной частотой). В результате модель (1) имеет 18 вариантов реализации при схожем алгоритме расчета.

Таблица базы данных, назовем ее Input_Data, будет хранить исходные значения параметров для модели (1), а также код выбранной пользователем зависимости среднего напряжения (варианты хранимых значений - S1, S2, S3, S4, S5, S6) в поле Kod_stress и код выбранной пользователем модели внутреннего давления (варианты хранимых значений - P1, P2, P3) в поле Kod_pressure. По модели (1) мы хотим определить интервал времени с момента ввода трубы в эксплуатацию до момента, когда толщина стенки трубы будет составлять 20% от начальной, полученный результат будет храниться в переменной t. Каждый вариант определения среднего напряжения и внутреннего давления реализуем в виде самостоятельных функций, например func_p2() - для определения значения переменного давления с постоянными амплитудой и частотой. Единый алгоритм расчета модели (1) будет реализован в виде процедуры Calculation_.

Рис. Пример реализации алгоритмов.

В результате полученный единый алгоритм расчета реализует вычисления с выбором любой комбинации исходных данных для модели (1) и избавляет от необходимости программирования 18 сходных алгоритмов под каждый вариант (1), если в (1) учитывать влияние температурных перепадов (два варианта), средств защиты от коррозии (шесть вариантов) и т.п., то мы избавляемся от необходимости программировать 216 и более вариантов модели (1).


Copyright © 2006 design: vasin anton