Помощь в написании студенческих работ
Антистрессовый сервис

Поиск минимума энергии ЕНЭ

РефератПомощь в написанииУзнать стоимостьмоей работы

Для определения переменных С и UcO в бл.15 поступают следующим образом. На рис. 3.1 показаны последние точки, координаты которых сохраняются в массивах WARG и TARR (см. бл.34 и бл.35). Одновременно в этих же блоках сохраняются и значения ёмкости в массиве FC. Таким образом, для последних точек имеются заполненные массивы WARG и FC, в которых сохранены энергия ЕНЭ W и его ёмкость С. Следовательно… Читать ещё >

Поиск минимума энергии ЕНЭ (реферат, курсовая, диплом, контрольная)

Задача ставится следующим образом. Необходимо спроектировать оптимальный ИДМ, который имел бы минимальную энергию ЕНЭ, время срабатывания tzad, при этом перемещал присоединённую к диску массу Amas на величину хода xkon и преодолевал силу Fmex, зависящую от хода х.

Так как пользователь заранее не представляет какой должна быть энергия ЕНЭ для выполнения указанных требований, то он может задать в исходных данных:

  • — произвольными и напряжение заряда конденсатора UcO, и его ёмкость С;
  • — либо задать фиксированное напряжение, которое пользователь предполагает использовать для заряда конденсатора, и произвольно его ёмкость;
  • — либо задать фиксированную ёмкость, которая должна быть установлена, и произвольно напряжение его заряда.

Поскольку в исходных данных пользователь указывает произвольно напряжение и (или) ёмкость, то энергия ЕНЭ Поиск минимума энергии ЕНЭ.

также произвольна. Следовательно, возможны следующие два варианта.

Вариант 1. При недостаточной энергии время срабатывания ИДМ tsr (оно же — целевая функция fcl) больше, чем tzad. Следовательно, для уменьшения времени срабатывания ИДМ энергию WcO необходимо увеличить. Например, пользователь решил изменить энергию на величину dob (dob — положительное число, принимается пользователем) согласно выражению.

Поиск минимума энергии ЕНЭ.

Если ёмкость задана произвольно, то при фиксированном напряжении новую ёмкость находят по энергии Поиск минимума энергии ЕНЭ.

Если произвольно задано напряжение, то при фиксированной ёмкости напряжение определяется по формуле.

Поиск минимума энергии ЕНЭ.

Если произвольно заданы и напряжение, и ёмкость, то сначала находят новую ёмкость, увеличивая её на dob!2 согласно выражению.

Поиск минимума энергии ЕНЭ.

затем по энергии, полученной в (3.4), находят напряжение по формуле Поиск минимума энергии ЕНЭ. где С — ёмкость, полученная в (3.7).

С ёмкостью и напряжением, полученными в (3.5) — (3.8) для увеличенной в.

  • (3.4) энергии 1УсО, оптимизируют ИДМ. И если время срабатывания Луг оптимизированного ИДМ больше, чем tzad, то снова увеличивают энергию ЕНЭ по
  • (3.4), затем по формулам (3.5) — (3.8) находят ёмкость и напряжение ЕНЭ, снова оптимизируют ИДМ и рассчитывают fcl (tsr). Этот процесс продолжается до тех пор, пока время срабатывания tsr не станет меньше tzad.

В виде графика этот процесс представлен на рис. 3.1,а. По оси абсцисс откладывается энергия ЕНЭ 1УсО, но оси ординат — время срабатывания tsr (целевая функция fcl) оптимального ИДМ. На рис. 3.1,а энергия ЕНЭ для трёх последних точек возрастает: Ni23- Соответствующие этим энергиям времена срабатывания оптимальных ИДМ уменьшаются и находятся в соотношении: ti>t2>tzad>t3. По последним трём точкам (они то и изображены на рисунке).

строится сплайн WcO (tsr) — зависимость энергии ЕНЭ WcO от времени срабатывания tsr оптимальных ИДМ как функция, обратная функции tsr (WcO). Диапазон значений аргумента сплайна [ti, t3] включает в себя заданное время срабатывания tzad. Вычислив сплайн для аргумента tzad, находят искомое значение энергии Wx ЕНЭ.

Рис.3.1.

Рис. 3.1.

Вариант 2. При избыточной энергии ЕНЭ время срабатывания оптимального ИДМ tsr (fcl) меньше, чем заданное пользователем tzad. Следовательно, для увеличения tsr энергию ЕНЭ WcO необходимо уменьшить.

Уменьшив энергию, например на dob по формулам (3.5) — (3.8) [в (3.4) и (3.7) dob берётся со знаком минус] находят напряжение и ёмкость ЕНЭ и оптимизируют ИДМ. Если функция цели fcl (tsr) меньше tzad, то процесс вычисления по формулам (3.5) — (3.8) (dob — со знаком минус) продолжается пока время срабатывания tsr не станет больше tzad.

В виде графика этот процесс представлен на рис. 3.1,б. Для трёх последних точек энергия ЕНЭ убывает: W3223. По последним трём точкам строится сплайн WcO (tsr). Диапазон значений аргумента сплайна |ti, t3] включает в себя заданное время срабатывания tzad. Вычисляя сплайн для аргумента tzad, получают искомое значение энергии Wx для ЕНЭ.

В обоих вариантах построение сплайна WcO (tsr) осуществляется подпрограммой CSINT (с двойной точностью — DCSINT) из библиотеки IMSL, а энергия Wx находится вычислением сплайна по аргументу tzad как Wx=WcO (tzad) подпрограммой-функцией CSVAL (с двойной точностью — DCSVAL).

С найденной энергией Wx выполняют оптимизацию ИДМ, и находят его время срабатывания tsr. Если это время лежит внутри диапазона tzad±fo/ (tol — допустимое отклонение, задаётся пользователем), то поиск минимальной энергии ЕНЭ выполнен, и энергии Wx соответствует искомый оптимальный ИДМ, обеспечивающий заданное время срабатывания tzad.

Однако, из-за отклонения сплайна WcO (tsr) от фактической зависимости, время срабатывания tsr оптимального ИДМ с найденной энергией VV, может отклоняться в ту или другую сторону от заданного tzad на величину бОлыную, чем допустимо. Эта ситуация представлена на рис. 3.2,а.

Рис.3.2.

Рис. 3.2.

Время срабатывания txi оптимального ИДМ с энергией ЕНЭ Wx больше чем tzad +tol, a tX2- меньше, чем tzad-tol. В этом случае следует уточнить значение энергии Wx, затем произвести повторную (контрольную) оптимизацию ИДМ с уточнённой энергией.

Энергия Wx была определена в результате построения и вычисления сплайна с использованием точек ti, t2, t3 (кривая 1 на рис. 3.2,а). Если теперь в качестве точки t2 принять точку txl (рис. 3.2,") и по точкам t2, txl, t3 построить новый сплайн, то точка пересечения прямой tzad и кривой 2, представляющей новый сплайн, сдвигается вправо, и определяет уточнённую, увеличенную энергию Wyl.

Если энергия Wx обеспечивала время срабатывания t^, то новый сплайн строят по точкам ti, tx2, t3, а точка пересечения прямой tzad и кривой 3, представляющей новый сплайн, сдвигается влево, и определяет уточнённую, уменьшенную энергию Wy2.

Исходные напряжение и ёмкость ЕНЭ могут быть случайно заданы пользователем так, что время срабатывания tzad уже после расчёта второй точки (рис. 3.2,б) оказывается внутри интервала [ti, t2]. В этом случае пп CSINT выполняет линейную аппроксимацию по двум точкам, а пп CSVAL вычисляет энергию Wx как координату точки пересечения прямых, одна из которых — прямая tzad, вторая — проходит через точки t| и t2. Затем оптимизируют ИДМ с энергией 1У" и если tsr внутри диапазона tzad±tol, то поиск минимальной энергии ЕНЭ завершён, если вне, — то значение энергии Wx, уточняют.

Для уточнения энергии по двум точкам строят сплайн, и если tsr>tzad+tol, то вместо точки t2 используют t"i (рис. 3.2,б), а если tsr -tol, — то используют tx2. Пп CSVAL, но аргументу tzad находит энергию (У, как координату точки пересечения прямых, одна из которых — tzad, вторая — проходит через точки ti и txl (рис. 3.2,б, кривая 2) или tX2- Если используется точка tx2, то при вычислении сплайна по аргументу tzad пп CSVAL экстраполирует прямолинейную зависимость (рис. 3.2,б, кривая 3) — находит энергию ЗУ, как координату точки пересечения прямой tzad и продолжения прямой, проходящей через точки ti и t,^.

Описанный здесь алгоритм с учётом ограничений на напряжение и ёмкость ЕНЭ, представлен на рис. 3.3. Ограничения задаются пользователем и помещаются: нижняя граница в массив NIZ, верхняя — в массив VRX.

В блоке 1 (далее — бл.) переменной напряжение UcO — присваивается номер 1 (i=1), переменной ёмкость С-номер 2 (i=2). В бл.2 переменная nOptPer получает значение: если обе переменных — UcO и С — нс изменяются, то nOptPer=0; если изменяется только UcO или только С, то nOptPer=l; если изменяются обе переменных, то nOptPer=2.

В бл. З из массива OPTXAR (в него пользователь занёс данные) передаются в ячейки рабочего массива UC исходные начальные напряжение UcO и ёмкость С; затем выполняется оптимизация — находится вариант ИДМ, имеющий минимальное время срабатывания tsr, для начальных UcO и С.

В бл. З, а — проверка значения переменной nOptPer. Если она равна нулю, а это означает, что оптимизация напряжения и ёмкости ЕНЭ не производится, то по условию происходит возврат в вызывающую (главную) программу, иначе — переход к следующему блоку.

В бл.4 сопоставляется время срабатывания tsr (найдено в бл. З) с заданным tzad. Если абсолютная погрешность менее заданной tol. то происходит возврат в вызывающую программу, иначе — преход к бл.5.

В бл.5 назначаются начальные значения переменных, означающие: ktek — счётчик количества последних точек, по которым строится сплайн (см. рис. 3.1); npovtor — счётчик количества повторных расчётов; povtor — логическая переменная, если её значение .true., то выполняется повторный (контрольный) расчёт; plusW — логическая переменная, если её значение .true., то программа увеличивает энергию ЕНЭ (бл.16 и бл.18 или по условию бл.36), если.false., то уменьшает (бл.16 и бл.17 или по условию бл.37);

Рис.3.3.

Рис. 3.3.

stp — логическая переменная, если по условию бл.11 или бл.12 её значение становится .true., то расчёт прекращается; stpl), stpC — логические переменные: если значение stp U по условию бл.20 или бл.22 становится .true., то поиск напряжения ЕНЭ прекращается; если значение stpC по условию бл.21 или бл.23 становится .true., то поиск ёмкости ЕНЭ прекращается; если одновременно значения stpl) и stpC становятся .true., то по условию бл.29 расчёт останавливается.

В бл.6 по условию если время срабатывания tsr (найдено в бл. З) больше заданного tzad (энергии ЕНЭ мало — её следует увеличить), переменная plusW получает значение .true. Если же tsr.

Так как ktek=0 — условие бл.7 не выполняется, происходит переход к бл.32.

В бл.32 счётчик ktek увеличивает значение на 1; затем по напряжению UcO [сохраняется в ячейке массива UC (1)| и ёмкости С [сохраняется в ячейке массива UC (2)] рассчитывается энергия WcO ЕНЭ.

Если в бл. ЗЗ условие не выполняется, то происходит переход к бл.35, в котором в ячейки массивов WARG, TARR и FC заносятся энергия WcO. время срабатывания tsr оптимального ИДМ (рассчитано в бл. З) и ёмкость С.

При следующих проходах (циклах) в бл.33-бл.35 во вторые, затем в третьи ячейки этих массивов (для ktek=2, ktek=3) будут заноситься другие текущие значения энергии и времени срабатывания, полученные для других оптимальных вариантов ИДМ (с другими энергиями). Заметим здесь, что при ktek>3 из бл. ЗЗ осуществляется переход к бл.34. В нём ktek принимает значение 3; содержимое ячеек 2 и 3 массивов перемещается соответственно в ячейки 1 и 2, после чего в бл.35 в третьи ячейки массивов заносится информация об энергии и времени срабатывания ИДМ для текущего цикла. Таким образом, в массивах WARG, TARR и FC сохраняются данные только о последних точках, которые показаны на рис. 3.1 и рис. 3.2. Из бл.35 происходит переход к бл.36.

Рассмотрим вариант — переменная plusW в бл.36 имеет значение .true.

В этом случае в бл.36 по условию tsr>tzad энергия ЕНЭ увеличивается на заданную пользователем долю dob (на рис. 3.1,а эго соответствует переходу от энергии Wi к W2 или от W2 к W3), затем происходит переход к бл.7.

Если в бл.36 условие tsr>tzad нс выполняется, т. е. tsr3). Затем происходит переход к бл.37. Так как plusW имеет значение .true., то бл.37 игнорируется, и вычисления направляются в бл.38 для построения сплайна и его и вычисления, но tzad (на рис. 3.1,а это соответствует определению энергии Wx).

Вариант — переменная plusW в бл.37 имеет значение .false.

Из бл.35, минуя бл.36, т.к. в нём не выполняется условие, происходит переход к бл.37. По условию tsr2или от W2 к W3), затем происходит переход к бл.7.

Если в бл.37 условие tsrctzad не выполняется, т. е. tsr>tzad. то это означает, что обнаружен переход времени tsr от значения мЕньшего, чем tzad, к большему, чем tzad (на рис. 3.1,6 это соответствует переходу от t2 к t3). Затем вычисления направляются в бл.38 для построения сплайна и его вычисления по tzad (на рис. 3.1,б это соответствует определению энергии).

В бл.39 переменная povtor получает значение .true., следовательно, программой будет выполнена повторная (контрольная) оптимизации ИДМ с энергией ЕНЭ Wx. и определение его времени срабатывания tsr.

Если выполняется условие в бл.37 или бл.38, то после увеличения (или уменьшения) энергии ЕНЭ происходит переход к бл.7.

Из бл.7 по условию происходит переход к бл.8. Если условие бл.8 выполняется — пользователь в исходных данных указал, что изменяется только UcO (i=l), либо только С (i=2), то в бл.9 или бл.10 по формулам (3.6), либо (3.5) по новому значению энергии рассчитывается новое значение напряжения или ёмкости.

Затем в бл.11 и бл.12 выполняется проверка — не выходят ли переменные UcO или С за нижнюю или верхнюю границы допустимого для них диапазона, и если выходят, то по условию переменная UcO или С принимает граничное значение. Кроме того, переменная stp принимает значение .true.

Если условие бл.8 не выполняется — пользователь в исходных данных указал, что одновременно изменяются и UcO, и С (в этом случае nOptPer=2), то происходит переход к бл. 13 и, по условию бл.13, к бл.14.

Рассмотрим вариант — переменная povtor в 6л. 14 имеет значение .false.

В этом случае в бл.16 проверяется значение переменной plusW. и если оно .true., то в бл.18 ёмкость ЕНЭ увеличивается согласно (3.7), а если.false., то в бл.17 — уменьшается [в (3.7) dob — со знаком минус]. Затем в бл.19 по (3.8) рассчитывается напряжение ЕНЭ, после чего в бл.20 — бл.23 выполняется проверка — нс выходят ли переменные UcO или С за границы допустимых диапазонов. Если выходят, то по условию переменные UcO или С принимают граничное значение, соответственно переменные stpU или stpC принимает значение .true., после чего вычисления передаются в бл.24 на оптимизацию ИДМ с критерием минимум времени срабатывания tsr ИДМ. После оптимизации в бл.25, аналогично бл.4, если tsr отличается от tzad менее, чем на заданное tol, то по условию сохраняются оптимальные tsr, UcO, С и происходит возврат в вызывающую программу, иначе — переход к бл.26. Так как povtor имеет значение.false., то выполняется переход к бл.28.

Если в бл.28 к этому моменту stp=.false., то вычисления передаются в бл.29. Если же в одном из бл.11 или бл.12 stp приняла значение .true., то в бл.28 выполняется проверка остальных составляющих условия.

Поясним подробнее обе части условия бл.28. В первой паре круглых скобок результат равен .true, в том случае, когда одновременно равны .true, переменные stp, plusW и выполняется неравенство tsr>tzad. Что это означает? Вопервых, stp=.true. — означает, что напряжение (или ёмкость) приняли граничное значение. Допустим, что верхнее. Т. е. дальнейший рост этой переменной недопустим. Во-вторых, plusW=.true. Это означает, что для уменьшения времени срабатывания требуется увеличивать энергию ЕНЭ. В-третьих, неравенство tsr>tzad показывает, что при наибольшем допустимом напряжении (или ёмкости) время срабатывания больше заданного, и уменьшить его никак не получится, поскольку напряжение (ёмкость) находятся и так на верхнем пределе. Вот при таком одновременном совпадении трёх составляющих в первой круглой скобке в бл.28 иро1рамма прекращает счёт.

Рассмотрим теперь условие во второй скобке бл.28. То, что напряжение (ёмкость) находятся на границе, — показывает stp=.true. То, что напряжение (ёмкость) программой должны уменьшаться, — показывает отрицание увеличения энергии: .NOT.plusW. И если неравенство tsr.

Если условие бл.28 не выполняется, то проверяется условие бл.29. При одновременном граничном значении и напряжения, и ёмкости ЕНЭ (stpU=.true., stpC=.true.) программа останавливает счёт. Иначе, при граничном значении только напряжения или только ёмкости в бл. ЗО или бл.31 по условию число оптимизируемых переменных изменяется на /, и указывается, что оптимизировать надо неограниченную переменную. Например, если напряжение — на границе (stpU=.true.), то в бл. ЗО по условию принимается i=2. А это означает, что при дальнейшем счёте изменяться может только ёмкость.

Вне зависимости от того, граничными или нет оказались значения у напряжения (ёмкости), вычисления передаются в бл.32.

Вариант — переменная povtor в бл.14 имеет значение .true.

В этом случае по условию бл.14 происходит переход к бл.15. К этому моменту в бл.38 вычислена энергия ЕНЭ Wx (см. рис. 3.1). Но если одновременно изменялись UcO и С, то по энергии Wx с помощью формул (3.7)-(3.8) найти напряжение и ёмкость невозможно, так как неизвестна доля, на которую следует изменить напряжение или ёмкость.

Для определения переменных С и UcO в бл.15 поступают следующим образом. На рис. 3.1 показаны последние точки, координаты которых сохраняются в массивах WARG и TARR (см. бл.34 и бл.35). Одновременно в этих же блоках сохраняются и значения ёмкости в массиве FC. Таким образом, для последних точек имеются заполненные массивы WARG и FC, в которых сохранены энергия ЕНЭ W и его ёмкость С. Следовательно, если построить сплайн С (1У), а затем вычислить его при значении аргумента VTv, то результатом будет ёмкость CX=C (WX)9 соответствующая Wx. После этого определяется напряжение ЕНЭ по формуле.

Поиск минимума энергии ЕНЭ.

и вычисления передаются в бл.24 на оптимизацию ИДМ с энергией ЕНЭ Wx по критерию минимум времени срабатывания tsr ИДМ. В бл.25 если tsr отличается от tzad менее, чем на tol, то сохраняются оптимальные tsr, UcO, С и происходит возврат в вызывающую программу, иначе — при времени срабатывания ИДМ вне диапазона tzad±tol — переход к бл.26. На рис. 3.2 время tsr вне указанного диапазона представлено точкой txi, либо tx2. Так как в бл.26 povtor имеет значение .true., то выполняется переход к бл.27, в котором, в соответствии с рис. 3.2, в качестве второй точки массивов WARG, TARR. FC принимаются соотвстствснно VKv, txi (либо tX2), Cx. В этом же блоке счетчик количества повторов npovtor увеличивает своё значение на единицу. Если количество повторов более трех, то происходит возврат в вызывающую программу. Количество повторов может неограниченно расти в случае, если допустимое отклонение tol, заданное пользователем, мало. В этом случае возможно зацикливание — уточнив энергию ЕНЭ (см. рис. 3.2) после оптимизации получают время t«2 (либо txi), при следующем уточнении получают txl (либо t^) и т. д.

Если количество повторов менее трёх то из бл.27 происходит переход к бл.38, где определяется уточнённая энергия ЕНЭ. На рис. 3.2 она обозначена Wyl (Wy2).

С уточнённой энергией цикл вычислений повторяется, начиная с бл.7 до тех пор, пока не выполнится условие бл.25.

При практических расчётах оптимизация с уточнённой энергией Wyl (Wy2) обычно приводит к выполнению условия бл.25.

Рассмотренный здесь алгоритм поиска минимальной энергии ЕНЭ реализован в пп ОРТ1)С (см. п. 3.3.5. ниже).

Показать весь текст
Заполнить форму текущей работой