2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Система уравнений в частных производных
Сообщение23.01.2012, 18:09 
Здравствуйте! Мне для курсовой по физике нужно численно решить две системы уравнений:
1.
$\frac{\partial E_1}{\partial z}+\frac{1}{2ik}(\frac{\partial^2 E_1}{\partial x^2 }+\frac{\partial^2 E_1}{\partial y^2 })+\alpha_1\frac{\partial E_1}{\partial t}+\beta_1\frac{\partial^2 E_1}{\partial t^2 }=0$

$\frac{\partial E_2}{\partial z}+\frac{1}{2ik}(\frac{\partial^2 E_2}{\partial x^2 }+\frac{\partial^2 E_2}{\partial y^2 })+\alpha_2\frac{\partial E_2}{\partial t}+\beta_2\frac{\partial^2 E_2}{\partial t^2 }=i \eta_2 E^2_1 exp(i \delta z)   $

2.
$\frac{\partial E_1}{\partial z}+\frac{1}{2ik}(\frac{\partial^2 E_1}{\partial x^2 }+\frac{\partial^2 E_1}{\partial y^2 })+\alpha_1\frac{\partial E_1}{\partial t}=i \eta_1 E^\ast_1E_2 exp(-i \delta z)$

$\frac{\partial E_2}{\partial z}+\frac{1}{2ik}(\frac{\partial^2 E_2}{\partial x^2 }+\frac{\partial^2 E_2}{\partial y^2 })+\alpha_2\frac{\partial E_2}{\partial t}=i \eta_2 E^2_1 exp(i \delta z)$

$ E_1, E_2 $ - комплексные функции, зависят от x,y,t,z. Заданы условия: $ E_1(x,y,z=0,t=0)=f_1(x,y), E_2(x,y,z=0,t=0)=f_2(x,y) $.

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

 
 
 
 Re: Система уравнений в частных производных
Сообщение24.01.2012, 22:10 
Какие интересные граничные условия! И как же обеспечить единственность решения?

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 12:33 
$E_1, E_2$- электрические поля. Известны только поля $E_1, E_2$ на входной границе среды. Поэтому условия, я думаю, выглядят так:
$E_1(x,y,z=0,t)=f_1(x,y,t), E_2(x,y,z=0,t)=f_2(x,y,t)$. z изменяется от 0 до L. По сути, нужно найти $E_1(x,y,z=L,t), E_2(x,y,z=L,t)$

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 12:51 
Аватара пользователя
Думаю, таки придется разделять реальную и мнимую части. Если только вы не настолько продвинуты, что можете программировать численные методы прямо с комплексными переменными (да и тогда, фактически, разделение все равно будет - в самих формулах). Не вижу преимуществ, которые дал бы отказ от такого разделения.

Я так понимаю, что комплексные у вас только сами функции, а переменные все-таки действительные. Ну иначе это вообще ужос. Область, в которой ищется решение - какая? Это важно! Неужели прямо все бесконечное пространство? Я предполагаю, что она должна быть ограничена.

Значит, распишите уравнения в действительно-мнимых функциях (итого система из четырех), и подберите какую-нибудь аппроксимацию для производных. Поскольку сами уравнения второго порядка, граничные условия первого (если мне не изменяет склероз), то брать аппроксимацию порядка 3 или выше смысла нет. С другой стороны, решени должны быть гармоническими функциями, или вроде того, значит, первого порядка маловато. Хотя это мое личное мнение, но я бы взял аппроксимацию второго порядка. Хотите выше или ниже - ваше право.

После аппроксимации вы получите прелестную систему разностных уравнений. Это вам делать придется самому :| Мне кажется, что ее можно будет переписать в блочно-диагональном виде (я в свое время писал похожую курсовую, но там было всего две пространственных переменных, без времени, и то мне мало не показалось. По опыту - должна существовать блочная запись у СЛАУ, которая у вас получится). А решать ее... ну, ищите в лекциях методы решения блочных систем. Я бы воспользовался итерационными. Скажем, Гаусс-Зейдель. Но тут, опять же, хозяин-барин. Что вам проще покажется, то и берите.

Теперь, располагая методом решения решения СЛАУ, возьмемся за построение решения на области. Я предполагаю, что область - это параллелепипед, то есть все переменные меняются от нуля до какого-то значения (если область другая, процесс конечно усложнится). На плоскости $z=0, t=0$ мы решение уже знаем из начальных условий. Строим решение на плоскости $z=h, t=0$, решая систему уравнений. Используя полученное решение, строим решение на плоскости $z=2 h, t=0$. Ну и так далее, в конце концов мы построим его для любых значений $x,y,z$ при $t=0$. Теперь отступаем на шаг уже по переменной $t$ и снова потворяем весь процесс, в итоге получая решение для любых значений $x,y,z$ при $t=\Delta t$. Снова отступаем на шаг по$t$, и так далее. Так мы, наконец, построим решение вообще везде, на всей области.

Кроме того, я не представляю, как вы будете графически строить решение системы, когда наконец получите его. У вас область существования решения четырехмерная :roll: Это вам придется с самим преподавателем обговорить.

Вот в принципе все, что я могу сказать по теме. Если ничего не напутал. А я вполне мог напутать :-(

(Оффтоп)

Сколько времени у вас есть, чтобы сделать этот курсовой? Я бы попросил не менее двух месяцев. И то, может, не успел бы.


-- 25.01.2012, 13:54 --

UPD: Инфа обновилась. Во-первых, область действительно параллелепипед. Это гуд. Во-вторых, раз нас не интересует решение при промежуточных значениях $z$, то искать его надо не как я говорил, а: сначала делая шаги по $t$, сторя его в пространстве $x,y,t$ для $z=0$. Потом для $z=h$. И так пока не придем в пространство $z=L$, которое нас и интересует.

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 13:31 
Аватара пользователя
По-моему, стоит больше копать в сторону $n$-диагональных матриц, они позволяют неитерационные методы типа прогонки... Впрочем, в любом случае потребуется сочетание методов.

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 13:34 
Ki-ra в сообщении #530416 писал(а):
... И нужно ли для корректного решения разделять реальную и мнимую части?
Преподаватель хочет, чтобы программа была написана на Fortran. ...
Fortran — это один из немногих языков, в которых действия с комплексными числами встроены. Поэтому похоже на то, что преподаватель намекает Вам, что разделять действительную и мнимую часть не следует.

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 14:38 
Аватара пользователя
Munin
Тогда лучше все-таки блочную прогонку. Диагоналей будет много, и они будут отстоять друг от друга на значительное расстояние. Может, и есть методы специально для таких матриц, не знаю. Впрочем, я давний фанат итерационных методов.

Если разделять переменные не надо... чтож, значит, не надо. Но тогда я ничего не могу сказать о сходимости методов, когда функции комплексные. Это мы банально не проходили. Интуитивно кажется, что метод, сходящийся для действительных функций, будет сходиться и для комплексных.

 
 
 
 Re: Система уравнений в частных производных
Сообщение25.01.2012, 18:27 
Спасибо всем ответившим!
INGELRII в сообщении #531034 писал(а):
Я так понимаю, что комплексные у вас только сами функции, а переменные все-таки действительные. Ну иначе это вообще ужос.

Да, x,y-это поперечные координаты, z-продольная координата, t-время.
INGELRII в сообщении #531034 писал(а):
Кроме того, я не представляю, как вы будете графически строить решение системы, когда наконец получите его. У вас область существования решения четырехмерная

Когда поля будут найдены, я вычислю на выходе среды плотность импульсной мощности излучения, а потом плотность энергии, которая будет зависеть только от поперечных координат, или саму энергию (просто число). Так что с этим как раз проблем нет :-)

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group