как смоделировать крутой потенциальный барьер в уравнении Ланжевена

Как обрабатывается вертикальный потенциальный барьер при моделировании уравнения Ланжевена?

У меня есть время передемпфированной эволюции позиции Икс , описанный

γ г Икс г т "=" В ( Икс ) + η ( т )

где В ( Икс ) это потенциал, γ сопротивление, и η ( т ) тепловой шум. Когда я хочу смоделировать конкретную траекторию, я дискретизирую время шагами небольшого конечного числа. Δ т , и я использую просто итерации с

Икс я "=" Икс я 1 1 γ В ( Икс я 1 ) Δ т + 2 Д Δ т η я

где Д "=" К Б Т / γ - коэффициент диффузии, а η я случайное число.

А теперь представьте В ( Икс ) имеет бесконечно высокий барьер, наклон которого можно настроить (и сделать вертикальным). Мне было интересно: если частица случайно попадает в барьер, там значение производной В может быть неопределенно большим. В моделировании это означает, что Икс я можно серьезно "выкинуть" сроком В ( Икс я 1 ) . Это кажется нефизическим.

я полагаю, уменьшая Δ т б/у помогает, но есть ли стандартный способ справиться с этим? Или нельзя смоделировать слишком много вертикальных барьеров?

Вы используете что-то вроде В т а н час ( Икс ) ? Если нет, то это может быть выходом, потому что вы можете «настроить» свой градиент, но при этом не допустить его расхождения. Вы также можете использовать волновые решения для волновых скважин, чтобы аппроксимировать крутую В ( Икс ) , но у них есть нисходящие колебания, которые вам могут не понадобиться...
@honeste_vivere : я не использую т а н час ( Икс ) в частности, но да, у меня есть "настраиваемый" В ( Икс ) которым я могу помешать разойтись. Все-таки интересно, как бороться с проблемой слишком крутого склона.
Если вы знаете аналитическую/функциональную форму для V(x), то вы сможете определить, приближается ли длина шкалы градиента к размеру ячейки сетки вашей схемы численного решения, верно? Если вы делаете это в Mathematica, у этого программного обеспечения есть несколько вариантов, NDSolveкоторые могут решить эту проблему и предотвратить расходящиеся результаты (пока вы являетесь шептуном Mathematica )...
@fpdx «Теперь представьте, что V (x) имеет бесконечно высокий барьер, наклон которого можно настроить (и сделать вертикальным)». не правильно что ты имел в виду? Я думаю, вы имели в виду «бесконечно крутой барьер», иначе ответ Тома-Тома должен решить вашу проблему.

Ответы (2)

Бесконечный барьер потенциала отражает тот факт, что частица не может войти в определенную область пространства. Решение уравнения Ланжевена с таким барьером означает, что вы должны найти способ утверждать, что частица не может войти в домен, но вы также должны описать, что происходит на границе, потому что возможны несколько сценариев:

  1. частица останавливается, когда достигает границы (поглощение)

  2. частица отражается от границы с противоположной скоростью

  3. частица останавливается во время ожидания т (определенный или случайный) перед возвратом

  4. частица отражается с изменением скорости дельта в

  5. частица следует любому сценарию 1.-4. с определенными вероятностями

Поведение на границе чрезвычайно важно.

Если запустить численное моделирование

  1. легко кодируется с помощью теста положения

  2. можно легко имитировать в одном измерении, расширив домен и свернув его. Например, если у вас есть барьер на Икс "=" 0 , расширить домен до р а затем добавить вероятности присутствия в Икс и Икс . Распределение скоростей получается путем вычитания, конечно.

  3. получается добавлением времени ожидания т ко времени симуляции с использованием трюка Сценарий 2.

  4. также использует трюк Сценария 2. Скорость изменяется при пересечении границы, как и в Сценарии 3.

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

Я надеюсь, что это помогает!

Здесь может быть не полный ответ, но он может дать вам (и мне) некоторые подсказки и, возможно, какое-то альтернативное решение.

  1. Схема Эйлера не должна работать даже для детерминированного уравнения, где шум равен нулю. Это потому, что в схеме Эйлера всегда требуется Δ т маленький, чтобы Δ Икс маленький. Когда Δ Икс велика, возникает численная неустойчивость решения. Эта проблема хорошо известна для ОДУ (см., например, Численные рецепты, раздел «Жесткие системы».)

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

  3. Другой вариант — использовать симуляцию с недостаточным демпфированием. Обратите внимание, что проблема возникает из-за того, что ваше уравнение с избыточным демпфированием имеет первый порядок. [Мне не ясно, применимо ли приближение с избыточным демпфированием для такой бесконечно сильной силы; хотя уравнение с чрезмерным демпфированием кажется математически хорошо определенным.] Для уравнения с недостаточным демпфированием вы можете смоделировать Δ Икс плавно, пока Δ в скачком всякий раз, когда частица пересекает ступеньку потенциала.

Спасибо. По поводу вашего пункта 1: в этом ответе схема Эйлера считается лучшей.
По поводу вашего пункта 3: симуляция связана с движением частицы микронного масштаба в воде (с перестраиваемым внешним потенциалом). Передемпфирование происходит от числа Рейнольдса ~ 1e-5.
По поводу вашего пункта 2: интересно. У вас есть реф, который я могу проверить?
@fpdx 1. Эйлер лучше, чем Рунге-Кутта и ему подобные (не самые лучшие). Хорошо работает, когда Δ т маленький. Предположим, вы решаете Икс "=" ф ( Икс ) . Затем вы обновляете Икс н + 1 "=" Икс н + ф ( Икс н ) Δ т при условии, что ф ( Икс н ) Δ т маленький. Однако в вашем случае ф ( Икс ) Δ т никогда не бывает малым, оно на самом деле бесконечно. Еще хуже, когда ф ( Икс ) сконцентрирован в небольшой области (дельта-функция): в вашей симуляции у вас никогда не будет Икс н точно по дельта-функции. Поэтому эффективно ваша симуляция не видит никакого ступенчатого потенциала.
2. Нет, не знаю. Это скорее основано на физической интуиции; вот почему я говорю, что это не был полный ответ. Наверняка он дает правильную динамику, когда частица находится далеко от ступени (поскольку это просто броуновское движение), а также стационарное распределение (поскольку оно удовлетворяет такому же детальному балансу). Для динамики вблизи барьера я не знаю, правильно ли это на 100%, или нужно выбирать скорости перехода более разумно, чем у Глаубера.