Методы решения обыкновенных дифференциальных и дифференциально-алгебраических уравнений в SimInTech / Общие положения |
В процессе интегрирования с переменным шагом необходимо, кроме решения на очередном шаге, вычислять также оценку ошибки, которая используется для управления величиной шага. Для этого применяют две различные формулы интегрирования, дающие на m-м шаге два решения: xm и xm'. Пусть x = xm – вектор переменных, Δx = xm-xm-1 – приращение, δx = xm - xm' – оценка ошибки на последнем шаге. Для управления величиной шага используется нормированная ошибка, вычисляемая по формуле
Особенностью SimInTech и аналогичных систем моделирования является то, что вычисление правой части системы ОДУ осуществляется одновременно с расчетом всей модели. При этом некоторые блоки модели рассчитываются только на заключительной стадии удачного шага. К таким блокам относятся дискретные, ключи, а также некоторые логические блоки. Это сделано с целью исключения внутри шага разрывов правой части, которые могут привести к неоправданному уменьшению шага и возникновению «скользящего режима». Поэтому для получения оценки ошибки на m-м шаге нежелательно использовать значение fm=f(tm, xm), как это делается, например, в методе Дорманда-Принса [6].
В большинстве методов, реализованных в SimInTech, используется стандартная процедура управления величиной шага [3], задаваемая формулой