Привет! я не очень–то разбираюсь в численных методах, а мне нужно решить уравнение Пуассона с граничными условиями первого рода.

image

Причём правая часть зависит от U экспоненциально.
Несколько едва читаемых картинок и глупых вопросов в первом комментарии.

GD Star Rating
loading...

27 Responses to Мне нужно решить уравнение Пуассона

  1. Imova:

    Я выбираю начальное приближение U0 и на каждом шаге ищу поправку к Un–1

    image

    image
    при этом я раскладываю ро следующим образом:
    image
    и получаю уравнение для поправки в виде

    размер 495x36, 4.63 kb с нулевыми граничными условиями. Я имею вообще шансы, что оно когда–нибудь сойдётся? как вообще решают такие задачи?

  2. Irat:

    Матлаб не считает?
    или Матлаб не считается?

  3. Imova:

    ну хрен знает. я в маткадике это делаю, потому что научрук сказал в маткадике. ну и у него есть расчёт в маткаде, который похоже работает и по–моему, там именно так всё делается. но в этом довольно сложно разобраться, потому что он называет переменные чёрти–как. там есть U, UU, UUU, U0, UU0 например, и хер поймёшь что из них что.
    а у меня эта лабуда отказывается сходиться.
    численные методы для решения таких уравнений у меня тоже довольно быстро расходятся. но это может в силу моей криворукости и кривоголовости.

  4. Irat:

    были лет сто назад урматы. запомнил охрененно крутую книжху Тихонова из МГУ.
    Может, ее почитать?
    Численные методы хорошо Демидович описал тоже

  5. AmCrazy:

    что тут что вообще?
    1d?
    оно разве пуассона будет с этой то зависимостью?

  6. AmCrazy:

    область какая?

  7. Imova:

    одномерное, да. вроде как Пуассона. во всяком случае его так все называют, с кем я общаюсь. хотя может это просто привычка называть все уравнения, описывающее электрическое поле, уравнениями Пуассона.

    область от нуля, до +inf. но можно ограничить практически как угодно. Если в нуле U=10
    и в правой части нет зависимости от * (это как бы соответствует однородному легированию полупроводника), то при * = 10 у меня U получается порядка 10–18, если не ошибаюсь. в общем довольно быстро затухает.
    если зависимость от * есть, то должно, по–идее, получиться примерно то же самое.

  8. Imova:

    Тихонов у меня под рукой. Спасибо.

  9. Imova:

    в смысле в правой части нет явной зависимости от *. и это я начальную задачу считала, потому что в этом случае её довольно просто решить.
    там, где U меньше 10–5, думаю, можно уже смело считать U нулём, так как это в сто раз меньше характерного параметра kT.

  10. AHMath:

    почитай Численные Методы Самарского (со страницы 291)

  11. AmCrazy:

    вообще плохо что–то понимаю в постановке задачи.
    просто если оно не приводится именно к пуассону, то это уже не пуассон и с методами там везде будет тяжелее. в pde шаг влево шаг вправо меняет всё на корню.
    если получается уравнение, то дальше всё просто:
    дискретизировать как всегда лапласиан. писать матрицу и вставлять граничные условия. если тебе достаточно разностных схем.

  12. Nodlehs:

    в маткадике есть хорошая функция — odesolve
    у неё очень простой синтаксис:
    given
    f\’\'(*)=ro(*,f(*))
    f(0)=a
    f\'(0)=b
    =odesolve(f(*),*,b)
    где b — размер интервала.

    если не получится — пиши пост, чё–нить придумаем

  13. AmCrazy:

    ode тебе не pde

  14. AmCrazy:

    да. запутался я. нельзя там путать людей.

  15. Nodlehs:

    так оно одномерное ж в данном случае.

  16. AmCrazy:

    да туплю да. домысливал сначала одно по условию, потом другое. так и не понял что там

  17. Nodlehs:


    вот так вот это выглядит.
    штрихи (знак производной) ставятся ctrl+F7

  18. Imova:

    ну как бы вот. слева — метод рунге–кутты, в котором вместо расчёта производной подставляется её значение исходя из физики (нормальный метод рунге–кутты тоже плохо работает). справа — odesolve.

    image

    а ниже вторые производные и правая часть. видно, что odesolve не очень–то справился.

    image

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

  19. Imova:

    мне надо решить одномерное уравнение с граничными условиями. я в общем–то умею их решать, когда нет такой сильной нелинейности, но тут у меня ничего не получается.

  20. Nodlehs:

    слушай, а напиши уравнение. интересно поиграться с ним

  21. Nodlehs:

    насчёт ГУ — ты можешь задавать и первого и второго рода (т.е. и производную и саму функцию) — odesolve их хавает.

  22. Imova:

    вау. спасибо!
    хотя у меня с моей правой частью odesolve отказывается решать. от этого я думала, что он решает только Коши. сейчас попробовала на простом примере — действительно, решает.
    может быть он для поправки сработает лучше, чем метод, которым я считаю сейчас, и эта лабуда из первого комментария всё–такий сойдётся к решению, а не пойдёт осциллировать чёрти–как, чем ей так нравится заниматься.

    саму задачу вечером выложу.

  23. Imova:

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

  24. Imova:

    ((((((( не. не работает. нормально только при высоких температурах считает.

  25. Imova:

    уиии. я всё–таки лапулечка и нашла у себя ошибку и теперь всё круто работает без всяких убогих приближений. так что если чё, в первом комментарии дело написано.

  26. Roglik:

    мимимимимими )))

Добавить комментарий