Инициализация в Dymola под влиянием оценки флага аннотации
Как уже упоминалось в заголовке, на инициализацию моей (многотельной) модели влияет аннотация (оценка).
С новым параметром par
реализовано в модели, инициализация всегда завершается неудачей, если я использую
parameter par annotation(evaluate=false)
но если я использую
evaluate=true,
оно работает.
Первый вариант, к сожалению, не является хорошим решением для меня, так как я хочу иметь возможность установить значение параметра после времени компиляции.
Что именно происходит со структурой модели, когда один из параметров установлен в evaluate=false
? Что я должен проверить, кроме начальных условий?
1 ответ
Каково значение параметра?
Существует ряд различных сценариев, в которых это может произойти:
Булевы / целочисленные значения, которые определяют размер массивов и т. Д. Если они имеют Evaluate=false, у вас будут проблемы даже с переводом вашей модели.
Нулевые значения, например, для массы, которая влияет на снижение индекса; в этом случае вы должны регистрировать уменьшение индекса в дополнение к начальным условиям.
Все остальное, что влияет на структуру систем уравнений для инициализации; Вы можете посмотреть этот журнал, а также добавить отладочные сообщения для нелинейной системы уравнений (например, чтобы определить, являются ли они единственными). Оси вращающихся суставов часто находятся в последней категории.