СИМКОС


SIMCOS ( аббревиатура от SIMulation of CONtinuous Systems ) — это компьютерный язык и среда разработки для компьютерного моделирования . В 1989 году его разработали словенские специалисты под руководством Борута Зупанчича .

Назначение языка — моделирование динамических математических моделей систем, заданных в виде системы обыкновенных дифференциальных уравнений . Это язык, ориентированный на уравнения и компилятор . Несмотря на свое название, его можно использовать и для дискретного моделирования . Язык хорошо соответствует стандарту языков моделирования CSSL'67 , поэтому переносимость между другими языками, соответствующими тому же стандарту (например, Tutsim , ACSL и т. д .), довольно проста. Это программное обеспечение на основе DOS , которое иногда немного модифицируется, чтобы его можно было запускать под актуальными версиямиMicrosoft Windows . Помимо самого моделирования, он также может выполнять параметризацию (серия симуляций с различными значениями параметров ), линеаризацию моделей и оптимизацию (нахождение таких значений параметров, при которых целевая функция минимизируется).

Когда должна быть подготовлена ​​схема моделирования, она должна быть описана на языке SIMCOS. Его можно «нарисовать» (аналогично аналоговому компьютеру ) с помощью встроенного графического инструмента библиотеки блоков (он содержит основные элементы, такие как интеграторы , усилители , сумматоры , некоторые основные входные сигналы и т. д .), но чаще он вводится как программа. с помощью одного из текстовых редакторов, например Edit, прилагаемого к DOS. Какая бы форма ввода модели ни использовалась, на первом этапе симуляции она перерабатывается в форму пространства состояний и переписывается программа на Фортране .и подготавливает файлы с входными параметрами. Эта программа на Фортране компилируется в исполняемый файл (.EXE) и выполняется. Исполняемая программа считывает значения параметров из входных файлов, выполняет моделирование и записывает запрошенные расчетные значения в другой файл. Когда он завершается, SIMCOS снова берет на себя управление и может отображать результаты в виде графического графика.

«Сердцем» исполняемого файла является функция INTEG, которая может решать дифференциальные уравнения одним из нескольких численных методов . Сначала он считывает необходимые значения (например, значения параметров, начальные условия) из файлов, затем вызывает функцию ПРОИЗВОД, где модель фактически описывается как ряд функций ее производных . Возвращенные значения используются в выбранном численном методе. Запрошенные результаты расчетов записываются в файл, и вся процедура повторяется до тех пор, пока не будет выполнено условие завершения.

Непрерывное моделирование мертвого времени (его преобразование Лапласа равно ) не является тривиальной задачей, и обычно мы используем одно из приближений Паде . Мы будем моделировать приближение Паде 2-го порядка

Входной сигнал представляет собой единичный шаг, интервал связи равен 0,01 с, продолжительность симуляции 5 с, результаты будут сравниваться с выходом встроенной дискретной функции задержки (для этого требуется дополнительный массив ( в нашем случае del ) соответствующего размера).