LINUX.ORG.RU
ФорумTalks

ускорить сходимость расчёта магнитного поля в двумерной задаче

 , , ,


1

3

мне нужно посчитать распределение магнитного поля в азимутально симметричной системе (x — ось, y — радиус) состоящей из железного магнитопровода и некоторого распределения токов. ввиду наличия металла решаю её итерационным методом эквивалентных токов — т.е. металл заменяется созданием в его объёме соответствующих плотностей молекулярных токов.

1)на нулевой итерации методом верхней релаксации рассчитываю магнитное поле как будто кругом вакуум:

\frac{\partial^{2}\psi}{\partial x^{2}}+\frac{\partial^{2}\psi}{\partial y^{2}}-\frac{\partial\psi}{y\partial y}=-2\pi y j_{0\Theta},

где Psi — магнитный поток осевой составляющей магнитного поля через площадку соответствующего радиуса. По частным производным магнитного потока получаю значения B.

2)далее, по B-H кривым получаю значение H внутри магнитопровода и следуя методике эквивалентных токов рассчитываю плотность молекулярных токов:

j_{eq\Theta}=\rot\Theta B - \rot\Theta H

3)затем, решаю ту же задачу используя уже j_{0\Theta}+j_{eq\Theta}. и так циклом.

Проблема в том, что решение сходится достаточно медленно. Наверняка, тут тоже можно применить какой ни будь релаксационный метод, что бы решение сходилось быстрее. Кто что подскажет?

★★★★★

Последнее исправление: ymn (всего исправлений: 5)

подсказал бы, да только сегодня теорему Пифагора проходили...лет через 7-8 подскажу

BambarbiyaKirgudu
()
Последнее исправление: BambarbiyaKirgudu (всего исправлений: 1)

\frac{\partial^{2}\psi}{\partial x^{2}}+\frac{\partial^{2}\psi}{\partial y^{2}}-\frac{\partial\psi}{y\partial y}=-2\pi y j_{0\Theta},

То есть чтобы это понять, я должен установить texlive, найти какой-нибудь шаблон документа, вставить туда эту формулу и скомпилировать?

crowbar
()
Ответ на: комментарий от ados

ок, не буду мешать псевдоученым хвалится своим умением читать латекс.

crowbar
()
Ответ на: комментарий от thunar

а просто написать △psi=-2pi j не судьба была?

dikiy ★★☆☆☆
()
Ответ на: комментарий от thunar

давай лучше выясним исходные уравнения. Я физику уже подзабыл. каким образом ты получаешь △psi=-2pi j ?

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

rotB=j ; B=rotA

rotrotA=j => △A=-j

A\Theta=\int_0^y 2 \pi r B_x dr=2\pi y \psi

△psi=-2 \pi y j

thunar ★★★★★
() автор топика
Последнее исправление: thunar (всего исправлений: 2)

у тебя H получается - это функция от B. Что если выразить j через этот B и подставить в дифур? Вместе с граничными условиями?

dikiy ★★☆☆☆
()
Ответ на: комментарий от thunar

получится нелинейный дифур. Но по крайней мере будет видно что надо решать. Ибо пока я не вижу (не знаю) куда впендюрить релаксацию или вообще что-то поменять.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

ок, завтра напишу, а то что то уже совсем ничего спать хочется.

thunar ★★★★★
() автор топика

Проблема в том, что решение сходится достаточно медленно.

Ускорение Чебышева для SOR посмотри. SOR - это метод верхней релаксации, который ты сейчас применяешь.

Наверняка, тут тоже можно применить какой ни будь релаксационный метод, что бы решение сходилось быстрее. Кто что подскажет?

Вот. Подсказал.

Zubok ★★★★★
()

И еще метод сопряженных градинетов.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

ускорение чебышева использую. соб-сно, вакуумный случай действительно быстро считает за \sqrt(N) шагов. проблема со счётом эквивалентных токов. сейчас вроде нашёл, что используют такую релаксацию j_n=j_n+(1-w)j_{n-1} для них. буду пробовать.

thunar ★★★★★
() автор топика
Ответ на: комментарий от thunar

Cходимость в SOR очень сильно будет зависеть от выбора параметра w. Ты как его вообще выбираешь?

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

SOR - это метод верхней релаксации, который ты сейчас применяешь.

так у него ж не сходится итерация по токам, а не итерации по одному из дифуров пи решении оного.

dikiy ★★☆☆☆
()
Ответ на: комментарий от Zubok

так а SOR чем поможет в данном случае? Надо же для начала свести дифуры вместе, о чем я еще два дня назад сказал...

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

так а SOR чем поможет в данном случае? Надо же для начала свести дифуры вместе, о чем я еще два дня назад сказал...

SOR тут при том, что он его применяет для решения диффуров. А convergence у него получается медленной. Он хочет пока остаться на SOR, но как-то его ускорить. Для этого существуют методы. Я так понимаю.

Zubok ★★★★★
()
Ответ на: комментарий от dikiy

так а SOR чем поможет в данном случае? Надо же для начала свести дифуры вместе, о чем я еще два дня назад сказал...

А что касается того, чтобы выразить j через B, то можно применить аппроксимацию кривой. Например, сплайнами.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.