II.3 Метод Монте-Карло пробной частицы для свободномолекулярного режима (Нестреров С.Б., Васильев Ю.К., Андросов А.В. Методы расчета вакуумных систем)
Описание файла
Файл "II.3 Метод Монте-Карло пробной частицы для свободномолекулярного режима" внутри архива находится в папке "Нестреров С.Б., Васильев Ю.К., Андросов А.В. Методы расчета вакуумных систем". Документ из архива "Нестреров С.Б., Васильев Ю.К., Андросов А.В. Методы расчета вакуумных систем", который расположен в категории "". Всё это находится в предмете "вакуумная и плазменная электроника" из 3 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "вакуумная и плазменная электроника (вакплазэл)" в общих файлах.
Онлайн просмотр документа "II.3 Метод Монте-Карло пробной частицы для свободномолекулярного режима"
Текст из документа "II.3 Метод Монте-Карло пробной частицы для свободномолекулярного режима"
II.3. Метод Монте-Карло пробной
частицы для свободномолекулярного режима
II.3.1. Основные понятия
Метод Монте-Карло, называемый также методом статистических испытаний, является численным методом решения математических и физических задач в результате моделирования характерной случайной величины. Движение отдельных молекул газа подчинено законам статистической физики и носит случайный характер. Одним из вариантов метода Монте-Карло, который используют для вакуумных расчетов, является метод пробной частицы [1], состоящий в моделировании движения молекул и статистической оценке результатов этого моделирования.
При помощи метода пробной частицы анализируются различные параметры молекулярных течений внутри системы с заданной геометрией и условиями взаимодействия с поверхностями заданной системы. Метод пробной частицы используется для анализа молекулярных потоков, для которых выполняется допущение о свободномолекулярном режиме течения. Так как молекулы не сталкиваются между собой, алгоритм расчета строится таким образом, что частицы запускаются в систему по очереди, и следующая запускается после того, как закончила полет предыдущая. На самом деле, происходит многократный запуск одной и той же частицы, но поскольку параметры запуска и полета моделируются случайно, то считается, что все анализируемые варианты принадлежат разным частицам.
Важное значение в расчетах играет датчик случайных чисел. Он должен генерировать случайное число, равномерно распределенное в заданных пределах. Стандартные датчики, предоставляемые различными языками программирования, показывают удовлетворительные результаты, и вполне годятся для использования. В описанных ниже расчетах используется датчик, генерирующий случайное число, равномерно распределенное на отрезке от 0 до 1.
Учет и накопление параметров полета, необходимых для анализа, ведется индивидуально для каждой частицы. После окончания запусков всех частиц проводится анализ и статистическая оценка накопленных данных.
II.3.2. Описание общего алгоритма
-
Ввод начальных данных:
-
определение расположения и вида источников газа, а также
закона распределения скоростей
Под видом источника газа понимается то, как будет формироваться начальная координата частицы. Это может быть точечный источник и тогда начальная координата всех частиц будет одна и та же, некоторая поверхность, например, входное сечение, или объем.
Под законом распределения скоростей частицы обычно понимают угловое распределение, в качестве которого, как правило, принимается диффузный закон (косинусное распределение). Однако алгоритм метода позволяет варьировать не только направление полета, но и скорость частицы, в соответствии, например, с распределением Максвелла или любым другим.
-
описание всех поверхностей структуры, включая вход и выход (если они есть)
Описания, как такового не происходит, просто задаются ключевые точки и пределы некоторых типовых поверхностей, таких как плоскость, цилиндр, конус, сфера. Например, чтобы описать сферическую поверхность нужно задать координаты центра сферы и ее радиус. Для конуса нужно задать координаты вершины и угол наклона. Удобно пронумеровать все используемые в системе поверхности, и сопоставить каждому номеру тип, например, поверхность № 1 – плоскость, поверхность № 2 – сфера, …, поверхность № 6 – плоскость, … , поверхность № i – …, и т. д.
-
описание условий взаимодействия частиц с поверхностями – коэффициентов прилипания на каждой поверхности, законов распределения скоростей
Коэффициенты прилипания описываются числом в пределах от 0 до 1, характеризующим вероятность прилипания. Это может быть как постоянная, заданная пользователем, так и переменная, получаемая как результат работы некоторой функции, например, функции, изменяющей значение коэффициента прилипания в зависимости от количества накопленных частиц. Задание коэффициента прилипания обычно происходит для каждой поверхности системы или ее фрагмента. Поэтому, учитывая номера поверхностей задается массив коэффициентов прилипания , для i от 1 до К (К – общее количество поверхностей системы).
Задание законов распределения скоростей в данной случае аналогично описанному выше, однако здесь появляется возможность анализировать дальнейший полет частицы с учетом его предыдущей стадии. Хотя обычно эта возможность не используется, существуют задачи, где может потребоваться учесть, например, угол падения или значение скорости для выработки следующей траектории. Впрочем, подобные задачи в данной работе не описываются.
-
описание условий окончания слежения за частицей, например, частица вылетела из системы, прилипла на поверхности системы, с момента старта прошло определенное время, и т. д.
При выполнении данного условия, полученные частицей результаты обрабатываются, добавляются к уже имеющейся статистике, и осуществляется новый запуск.
-
инициализация служебных параметров алгоритма
Под служебными параметрами алгоритма понимаются переменные, которые активно используются в процессе вычислений, но которые не являются результатом. Такими служебными параметрами могут быть: время полета частицы (если его необходимо рассчитывать) – в начальный момент время полета обнуляется; начальное значение параметра t (описан ниже) – может быть равен нулю или, что предпочтительнее, радиусу молекулы
(если в метрах, то t =10-10 м), а также различные массивы, в которых будет происходить накопление данных – их надо обнулить.
Кроме этого, для расчета времени полета частицы используется значение скорости. Об определении скорости частицы см. параграф II.3.7.
-
Розыгрыш координаты входа в систему.
В зависимости от решаемой задачи частицы в начальный момент времени могут быть:
-
внутри точечного источника
Начальные координаты всех частиц одинаковы и постоянны.
-
равномерно распределены по плоскости – например, входное сечение трубопровода, ловушки, крионасоса
Равномерное распределение частиц по поверхности входного сечения соответствует присоединению анализируемой структуры к бесконечно большому объему.
Координатами точки входа для круглого входного отверстия
(рис. II.3.1) являются угол φ и радиус ρ. Для обеспечения равновероятного входа молекул по всей площади необходимо, чтобы угол φ был равномерно распределенным в интервале от 0 до 2 . Генерируя датчиком случайных чисел, равномерно распределенным в интервале от 0 до 1, случайное число [0,1], получаем случайную величину угла
Для определения случайного радиуса входа молекулы в систему с помощью датчика случайных чисел генерируется величина η[0,1] при этом получим
где – радиус входного отверстия.
Далее производится преобразование в прямоугольную систему
координат:
Рис. II.3.1. Определение координаты точки входа
Фрагмент кода на языке Паскаль (выполненный в среде Delphi 3), реализующий данную функцию показан ниже:
procedure GetStartL (var X,Y,Z,R,XC,YC,ZC:Extended);
var
Fi,Ro:Extended;
label
GetStartL1;
begin
Fi:=2*Pi*Random;
GetStartL1:
Ro:=R*Sqrt(Random);
if (Ro=0) then goto GetStartL1;
X:=Ro*Cos(Fi)+XC;
Y:=Ro*Sin(Fi)+YC;
Z:=ZC;
end;
Здесь X, Y, Z – получаемые координаты точки старта; XC, YC, ZC – задаваемые координаты центра круглого сечения; R – его радиус сечения;
-
равномерно распределены внутри объема, например, внутри сферы
Аналогично предыдущему случаю координаты точки определяются углами и радиусом ρ. Для обеспечения равновероятного распределения молекул во всем объеме необходимо, чтобы углы были равномерно распределенным в интервале от 0 до 2 . Генерируя датчиком случайных чисел, равномерно распределенным в интервале от 0 до 1, случайное число [0,1], получаем случайные величины углов
Причем упомянутые случайные числа разные, поскольку при каждом вызове функции датчика случайных чисел генерируется новое число.
Для определения случайного радиуса входа молекулы в систему с помощью датчика случайных чисел генерируется величина η[0,1] при этом получим
Далее производится преобразование в прямоугольную систему координат:
Фрагмент кода на языке Паскаль (выполненный в среде Delphi 3), реализующий данную функцию показан ниже:
procedure GetStartV(var X,Y,Z,R,XC,YC,ZC:Extended);
var
Fi,Ro,Psi,Aa:Extended;
label
GetStartV1;
begin
Fi:=2*Pi*Random;
Psi:=2*Pi*Random;
GetStartV1:
Aa:=Random;
if (Aa=0) then goto GetStartV1;
Ro:=R*Exp(Ln(Aa)/3);
X:=Ro*Cos(Fi)*Sin(Psi)+XC;
Y:=Ro*Sin(Fi)*Sin(Psi)+YC;
Z:=Ro*Cos(Psi)+ZC;
end;
Здесь X, Y, Z – получаемые координаты точки старта; XC, YC, ZC – задаваемые координаты центра сферического объема; R – его радиус.
-
Выбор направления полета молекулы
Направление вектора скорости молекулы v определяется двумя углами и θ (рис. II.3.2). Угол образован осью x′ и проекцией вектора скорости на плоскость x′y′. Угол θ образуется между осью z′ и вектором скорости v. В соответствии с принятым диффузным законом распределения, случайный угол равномерно распределен в интервале от 0 до 2 :
а для нахождения случайного угла θ, который подчиняется диффузному закону рассеяния, необходимо воспользоваться выражением
Рис. II.3.2. Определение направления полета частицы
Фрагмент кода на языке Паскаль (выполненный в среде Delphi 3), реализующий данную функцию показан ниже:
procedure GetAngleDiff(var P,T:Extended);
begin
P:=2*Pi*Random;
T:=ArcSin(Sqrt(Random));
end;