Димола: Инициализация модели моделирования сети централизованного теплоснабжения с использованием нелинейного решателя

Я моделировал и моделировал ряд простых сетей централизованного теплоснабжения в Димоле и довольно часто сталкивался с ошибкой во время инициализации.

Система, которую мы моделируем, состоит из

  • Производитель: две границы давления - исток и сток. Давление в источнике регулируется с помощью PI, который гарантирует, что давление в источнике таково, что минимальный перепад давления на потребителе больше или равен некоторому заданному значению.
  • Потребители: У них есть клапан с ПИ-регулированием и теплообменник с фиксированной температурой возврата. Клапан регулирует массовый расход, а затем и тепловой поток, чтобы соответствовать нагрузке потребителя в любой момент времени.
  • Трубы: динамическая термогидравлическая модель с тепловыми потерями и пространственным распределением для учета задержки. Векторизованные порты и объемы смешивания используются для сокращения нелинейных уравнений.

На рисунке ниже представлена ​​сильно упрощенная версия сети (здесь возникает та же ошибка)  введите здесь описание изображения Модель потребителя выглядит следующим образом:  введите описание изображения здесь И производитель:  введите здесь описание изображения

Во время инициализации возникает следующая ошибка:

        ERROR: Failed to solve non-linear system using Newton solver.
    To get more information: Turn on Simulation/Setup/Debug/Nonlinear solver diagnostics/Details
    Solution to systems of equations not found at time = 0
       Nonlinear system of equations number = 3
       Infinity-norm of residue = 118280
       Iteration is not making good progress.
       Accumulated number of residue       calc.: 389
       Accumulated number of symbolic Jacobian calc.: 5
       Last values of solution vector:
    L.PI.gainPID.y = 0
       Last values of residual vector:
    { -118280 }
Trying to solve non-linear system using global homotopy-method.
... loading "data" from "C:/Users/Sim1/Desktop/Keith Dymola Files/GrazReininghaus_UseCase/PythonScriptsforTranslation/Reininghaus.txt"
ERROR: Failed to solve non-linear system using Newton solver.
To get more information: Turn on Simulation/Setup/Debug/Nonlinear solver diagnostics/Details
Solution to systems of equations not found at time = 0
   Nonlinear system of equations number = 1
   Infinity-norm of residue = 2.22814E+018
   Iteration is not making good progress.
   Accumulated number of residue       calc.: 101
   Accumulated number of symbolic Jacobian calc.: 9
   Last values of solution vector:
M.port_a.m_flow = 0.000485868
N.valveLinear.dp = -55.8243
O.valveLinear.dp = -135.618
P.valveLinear.dp = 550.474
I.port_a.m_flow = 3.20321E-010
C.port_a.m_flow = 2.19343E-011
D.port_a.m_flow = 0.00208272
E.valveLinear.dp = 371.552
L.port_a.m_flow = -7.10982E-012
J.valveLinear.dp = 243.085
K.port_a.m_flow = 1.924E-005
   Last values of residual vector:
{ 6.60393E+013, -1.14781E+018, -1.05438E+018, -2.58754E+016, -111988,
  -1.56817E+010, 16024.9, 3.14411E+007, 3.99781E+008, 3.14412E+007,
  -15012.9 }

Error: could not solve simplified initialization for homotopy method.
Error: could not solve simplified initialization for homotopy method.
FixInitials:Init

Компоненты A, B, C e.t.c являются потребителями в сети. Я использую решатель 5-го порядка Radau IIa с tol = 1e-06. ПИ-регулятор в типе инициализации потребительских клапанов должен интегрироваться только с состоянием интегратора, а ПИ-регулятор в производителе инициализируется выходным значением. Я пробовал играть со всевозможными номинальными значениями массового расхода и перепада давления в сети, а также с начальными значениями в контроллерах PI, но всегда возвращается та же форма ERROR. Модель проходит проверку на ошибки, но всегда терпит неудачу при инициализации.

Я хотел бы знать, есть ли у кого-нибудь опыт отладки таких нелинейных систем, и если да, то несколько советов по инициализации этих моделей будут большим подспорьем в процессе отладки.


person Keith O'Donovan    schedule 16.03.2017    source источник
comment
Кейт, я работаю с однотипными системами. Было бы очень полезно, если бы вы могли поделиться своей моделью. С уважением, Рене Юст Нильсен   -  person Rene Just Nielsen    schedule 16.03.2017
comment
Я добавил несколько изображений основных компонентов и упрощенную версию модели. Модели труб адаптированы из Приложения 60.   -  person Keith O'Donovan    schedule 17.03.2017
comment
Вы сами тестировали модели производителя и потребителя, а затем постепенно расширяли модель?   -  person Rene Just Nielsen    schedule 17.03.2017
comment
Да, я раньше успешно использовал все эти компоненты в различных сетях, однако в некоторых случаях инициализация просто не работает. Были ли у вас случаи подобных ошибок?   -  person Keith O'Donovan    schedule 17.03.2017
comment
связанные: http://stackoverflow.com/questions/34661475/how-to-initialize-model-with-previous-simulation-solution Теперь, когда у вас есть один успешный запуск моделирования, вы должны сохранить результаты и попытаться использовать их для будущей инициализации.   -  person matth    schedule 17.03.2017


Ответы (1)


Хорошо, для всех, кому интересно, в конце концов мне удалось смоделировать мою сеть. Оказывается, проблема инициализации возникла в блоке «первого порядка» потребителя, который принимает измеренный сигнал теплового потока в теплообменнике и передает его PI. Тип инициализации по умолчанию для этого компонента был «noinit», однако, изменив его так, чтобы он принимал начальное предполагаемое значение (в данном случае работала номинальная нагрузка потребителя), разделы инициализации прошли. Я предполагаю, что эта проблема возникла в этом примере, поскольку номинальные нагрузки моих потребителей были немного выше, чем в предыдущих примерах, и поэтому начальное значение было вне подходящего диапазона, без указания его вручную.

person Keith O'Donovan    schedule 17.03.2017
comment
Сможете ли вы поделиться своей сетью? Я студент UCD, и мы пытаемся разработать сеть для представления UCD, я застрял на проверке моей модели. Благодарность - person Ricardo de Castro; 02.01.2018