Я программирую "игрушечную" модель и хочу инициализировать ансамбля частиц в трехмерном пространстве с использованием однородного (псевдо) генератора случайных чисел. Но я немного растерялся: предположим, ансамбль характеризуется макроскопической термодинамической температурой . Тогда как вы используете равномерный rng для реалистичного (достаточно реалистичного) распределения кинетической энергии частиц, которые воспроизводят соответствующую статистическую сумму?
Кроме того, предположим, что ансамбль ограничен конечной рамкой. Я намеревался просто равномерно распределить начальные позиции случайным образом в . Но влияют ли на это границы ящика или нет? Должна ли (средняя) числовая плотность частиц зависеть от расстояния от стен или как? И то же самое для направления импульса, т. Е. Я намеревался использовать https://math.stackexchange.com/questions/44689/ для равномерного распределения начальных направлений в каждом телесном угле. Насколько это (не)реалистично и как правильно учитывать границу поля?
Как инициализировать скорости?
Способ, которым коды молекулярной динамики делают это, заключается в случайном извлечении чисел из распределения Максвелла-Больцмана , т. е. каждая из трех составляющих скорости извлекается из распределения
Обратите внимание, что вы можете генерировать случайные числа с распределением по Гауссу, используя преобразование Бокса-Мюллера .
Как инициализировать позиции?
Если границы ящиков периодические или отражающие, то они не влияют на распределение вероятностей, поэтому равномерное распределение было бы в порядке.
Хотя, если ваши частицы взаимодействуют, вы должны быть осторожны, чтобы избежать перекрытий (и вы должны уравновесить перед любой выборкой ансамбля).
Общее правило состоит в том, что распределение в фазовом пространстве взвешивается где это энергия.
В частности, если вы думаете об идеальном газе, между молекулами газа и стенкой нет взаимодействия (за исключением момента, когда молекулы отскакивают), поэтому энергия не зависит от положения и распределения положений в ящике. является однородным.
В более реалистичной модели стены, скажем, такой, где стена отталкивает частицы, начиная с расстояния прочь, у вас был бы нетривиальный потенциал , и рисовать позиции в соответствии с . Но если вы используете идеальную стену в моделировании, равномерное распределение будет совершенно правильным.
Так как кинетическая энергия пропорциональна , импульсное распределение имеет вид . Интегрируя по углам, вы можете выбрать угол равномерно и случайным образом, затем выбрать величину, которая распределяется как .
Однако выбор случайного угла немного запутан; более простой способ - отметить, что факторизует как
Джефф
Эмилио Писанти
пользователь89220