Разработка компьютерной программы моделирования дисперсных систем

Изучение дисперсных систем и создание программы, реализующей метод Монте-Карло и моделирующей распределение частиц в определенной области. Исследование методов линейных итераций и вязкой суспензии. Характеристики распределения порошков по размерам.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 05.12.2014
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Оглавление

Введение

1. Теоретическая часть

1.1 Законы распределения

1.2 Характеристики распределения порошков по размерам

1.3 Алгоритм метода Моте-Карло

1.4 Метод линейных итераций

1.5 Алгоритм метода вязкой суспензии

2. Практическая часть

2.1 Разработка программы

2.2 Первая вкладка

2.3 Вторая вкладка

Выводы

Список литературы

Введение

Дисперсные системы - это системы, состоящие из двух или более фаз, которые имеют четкую границу раздела и не вступают в химическое взаимодействие друг с другом [1].

1 фаза - называется дисперсной фазой, частицы.

2 фаза - среда, в которой размещены частицы первой фазы (непрерывная). Называется дисперсионной фазой.

Дисперсные системы могут иметь и более сложное строение, например, представлять собой двухфазное образование, каждая из фаз которого, будучи непрерывной, проникает в объем другой фазы. К таким системам относятся твердые тела, пронизанные разветвленной системой каналов-пор, заполненных газом или жидкостью, некоторые микрогетерогенные полимерные композиции и другие. Нередки случаи, когда дисперсионная среда "вырождается" до тончайших слоев (пленок), разделяющих частицы дисперсной фазы [1].

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

1. Теоретическая часть

1.1 Законы распределения

Гамма распределение - это двухпараметрическое семейство абсолютно непрерывных распределений. Если параметр принимает целое значение, то такое гамма-распределение также называется распределением Эрланга.

Пусть распределение случайной величины задаётся плотностью вероятности, имеющей вид:

где - гамма-функция Эйлера.

Тогда говорят, что случайная величина имеет гамма-распределение с параметрами и . Пишут [2].

Математическое ожидание -

Дисперсия -

Экспоненциальное или показательное распределение -- абсолютно непрерывное распределение, моделирующее время между двумя последовательными свершениями одного и того же события

Случайная величина имеет экспоненциальное распределение с параметром , если её плотность имеет вид[2]

.

Математическое ожидание -

Дисперсия -

Усеченное нормальное распределение.

Нормальное распределение, также называемое распределением Гаусса -- распределение вероятностей, которое в одномерном случае задается функцией плотности вероятности, совпадающей с функцией Гаусса:

Математическое ожидание - .

Дисперсия - .

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

Стандартным нормальным распределением называется нормальное распределение с математическим ожиданием 0 и стандартным отклонением 1.[2]

Логнормальное распределение в теории вероятностей -- это двухпараметрическое семейство абсолютно непрерывных распределений. Если случайная величина имеет логнормальное распределение, то её логарифм имеет нормальное распределение [2].

Математическое ожидание -

Дисперсия -

1.2 Характеристики распределения порошков по размерам

Допустим, в порошке содержится N частиц, их диаметры Di. i=1,2,…,N.

- плотность распределения частиц по размерам.

f(D) - математическая плотность распределения частиц по размерам.

f(D)dD - относительное число частиц, которые имеют размер [D,D+dD].

- относительное число частиц, у которых величина меньше, чем заданное число D[1].

1.3 Алгоритм метода Монте-Карло

1) С помощью генератора случайных чисел задается случайное число R?[0,1].

2) Записывается уравнение F(D)=R, где F(D) - заданная функция распределения по размерам. Уравнение решается, находится значение D.

3) Пункты 1 и 2 повторяются для каждой частицы. В результате получается набор N частиц, имеющих заданное распределение f(D).

В случаях, когда F(D) имеет простое аналитическое выражение (экспоненциальная функция), то уравнение F(D)=R может быть решено аналитически и используется зависимость D(R).

1.4 Метод линейных итераций

Метод трапеций -- метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию.

1. Генерируется число R и в массиве находится ячейка F=R. Если такой ячейки нет, то находятся значения двух ячеек, между которыми находится R. С помощью метода линейной интерполяции находится значение D равное соответствующему R[1].

1.5 Алгоритм метода вязкой суспензии

Для заданной объемной концентрации частиц ц и заданной плотности распределения f(D) происходит генерирование частиц. Определяется суммарный объем частиц:

V= ц*Lx*Ly.

В цикле i=1,..,N методом Монте-Карло генерируются частицы.

Для вновь генерированной степени определяем их объем и объем уже существующих частиц .

Если , процесс продолжается; если , процесс прекращается. В результате имеем набор частиц, имеющих заданный закон распределения по размерам и заданную объемную концентрацию ц.

1. Все связанные частицы размещаются в заданном объеме LxLyLz с помощью метода Монте-Карло, т.е. для каждой созданной частицы создаются координаты:

Эти координаты частиц используются в качестве начальных условий для метода вязкой суспензии [1].

2. Решается система дифференциальных уравнений:

- некий параметр, меняющийся от 0 до 1.

Организуется цикл и вычисляется для i=1,..,N.

После этого во втором цикле происходит корректировка:

3. Расчет заканчивается, когда в системе не останется ни одной пары пересекающихся частиц, то есть, когда все

Существуют граничные условия: границы расчетной области - твердая непроницаемая поверхность. Это означает, что частицы не могут выходить за пределы области, а могут только соприкасаться с ней.

2. Практическая часть

2.1 Разработка программы

В качестве языка программирования был выбран язык C#. C# -- объектно-ориентированный язык программирования. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы [2].

Лучшей средой разработки для данного языка является Microsoft Visual Studio 2013. Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).исходного кода (как например, Subversion и Visual SourceSafe) [2].

Программа состоит из 3 вкладок: «Состав порошковой смеси», «Распределение частиц» и «Справка».

Рисунок 1. Вкладки приложения

дисперсный программа итерация суспензия

Каждая вкладка представляет собой окно с полями для ввода и отображением информации - результатов работы программы.

Рисунок 2. Поле первой вкладки «Состав порошковой смеси»

Начальные условия:

Ш N - число частиц;

Ш M - число отрезков;

Ш L - число отрезков для метода трапеций;

Ш Dmax - максимальный размер частиц(мат.ожидание);

Ш Dcp - средний размер частиц;

Ш Dis - дисперсия;

Поле для выбора вида распределения:

Ш Логнормальное распределение;

Ш Экспоненциальное распределение;

Ш Гамма распределение;

Ш Усечено нормальное распределение;

Рисунок 3. Поле второй вкладки «Распределение частиц»

Размер области:

Ш Lx,Ly - размеры области для генерации частиц;

Ш - концентрация частиц;

Ш а - скорость размещения;

Значения параметров:

Ш Dcp - средний размер частиц(мат.ожидание);

Ш - дисперсия;

Ш Dmax - максимальный размер частиц;

Ш - шаг по времени;

Ш - число отрезков;

Ш L - число отрезков для метода трапеций;

Ш Количество созданных частиц;

Ш Количество тактов;

Рисунок 4. Поле третьей вкладки «Справка»

2.2 Первая вкладка

Первая вкладка - «Состав порошковой смеси». Здесь содержатся поля для ввода начальных условий, выбор распределения, по которому будет производиться расчет, график данного распределения и данные, полученные в результате генерации. Выбор распределения осуществляется с помощью компонента ComboBox, в котором содержатся названия распределений. Для каждого распределения необходимо задать начальные условия.

Рисунок 5. Первая вкладка «Состав порошковой смеси»

После ввода начальных условий необходимо нажать кнопку «Построить гистограмму» для построения графика и вывода на экран.

Программа создает L диаметров D, высчитывает соответствующие им значения F. Значения F нормируются, т.е. каждое значение делится на последний элемент массива. Далее с помощью генератора случайных чисел генерируется число от 0 до 1 и сравнивается со значениями F. Берутся значения двух ближайших точек к данному случайному числу, и с помощью метода линейной интерполяции высчитывается диаметр частицы.

После этого строится график плотности распределения. Для вывода графика распределений используется модуль ZedGraph - компонент для рисования графиков под.NET Framework. Преимуществом данного модуля является возможность изменения масштаба графика одной кнопкой. Так же, в ZedGraph можно строить различные графики на одной панели (в данном случае нам необходимы гистограмма и кривая) [2]. Гистограмма показывает плотность созданных частиц, согласно указанному закону, а кривая - теоретически определенная плотность распределения.

Для построения гистограммы использовался следующий алгоритм:

1. Пользователь задает число М - число отрезков для построения гистограммы;

2. Рассчитывается шаг a,a1 для построения диаграммы;

3. Диаметр частицы, полученный методом Монте-Карло делится на шаг a,a1;

4. От полученного значения берется целая часть встроенным методом Math.Truncate(x). Составляем массив, смотрим, в какую ячейку попала частица, и увеличиваем счетчик на единицу в этой ячейке;

5. Шаги 4-5 повторяются N раз;

6. По полученным данным строится гистограмма.

2.3 Вторая вкладка

Вторая вкладка «Распределение частиц» см. рисунок 3.

В качестве начальных условий здесь указываются:

После ввода всех условий, необходимо нажать кнопку «Создать частицы», тогда программа создаст случайным образом частицы, которые будут отражены в элементе panel.

Частицы на панели отрисовываются с помощью встроенного метода DrawEllipse, принадлежащего библиотеке System.Drawing.Graphics. Диаметр частиц и их положение определяются с помощью генератора случайных чисел.

Рисунок 6. Создание частиц

При нажатии на кнопку «Разместить» с помощью метода вязкой суспензии частицы распределяются и занимают все доступное пространство.

Рисунок 7. Размещение частиц

В качестве результатов исследования выводятся количество созданных частиц и число тактов, за которое частицы были распределены в пространстве.

Целью исследования является, анализ скорости заполнения пространства частицами при различных значениях плотности «ц» и коэффициента «а» для усечено нормального распределения.

Для этого были проведены исследования в диапазоне параметров;

При больших значениях ц и малых значениях а количество тактов очень большое. Для плотности ц = 0,8 число тактов очень велико даже при а близком к 1.

Я получила такие данные:

Таблица 1. Анализ скорости заполнения пространства частицами

a/фи

0,5

0,6

0,7

0,8

0,1

73

108

380

650

0,2

70

100

300

600

0,3

46

73

280

560

0,4

39

61

245

497

0,5

31

59

200

398

0,6

29

48

195

330

0,7

21

39

187

299

0,8

19

30

173

255

0,9

12

26

161

227

1

9

21

149

194

Исходя из этих данных, были построены следующие зависимости:

При = 0,5

Рисунок 8. Зависимость скорость от «фи = 0,5»

При = 0,6

Рисунок 9. Зависимость скорости от «ф=0,6»

При =0,7

Рисунок 10. Зависимость скорости от «фи=0,7»

Выводы

В ходе контрольной работы был исследован метод вязкой суспензии для моделирования структуры дисперсных систем. Также был изучен метод Монте-Карло для моделирования частиц, используя различные распределения:

· Усеченной нормальное распределение;

· Гамма распределение;

· Экспоненциальное распределение;

· Логнормальное распределение.

Была создана компьютерная программа, реализующая следующие функции:

· Моделирование частиц в соответствии с заданными распределениями методом Монте-Карло.

· Моделирование размещения частиц в области с заданными размерами с помощью метода вязкой суспензии в соответствии с заданными распределениями методом Монте-Карло.

В ходе разработки программы были изучены и освоены некоторые функции языка C# и среды разработки Microsoft Visual Studio 2013:

Ш Компонент ZedGraph для построения графиков функций;

Было проведено исследование скорости размещения частиц в пространстве, в зависимости от плотности распределения, и значений параметров. Полученные результаты показали, что с возрастанием плотности «ц» и уменьшением параметра скорости «a» скорость размещения частиц в пространстве уменьшается. Для уменьшения времени расчетов при заданной плотности, параметр a должен быть равен 1.

Список литературы

1. Рашковский С.А. Курс лекций по предмету «Математическое моделирование сложных молекулярных структур». 2014 г.

2. Википедия -- свободная энциклопедия

3. Шпаргалка по ZedGraph.

Размещено на Allbest.ru


Подобные документы

  • Методы решения систем линейных алгебраических уравнений. Метод простых итераций и метод Зейделя. разработка программы для решения СЛАУ с произвольным количеством уравнений. Реализация методов Зейделя и простых итераций для получения вектора решений СЛАУ.

    курсовая работа [25,0 K], добавлен 20.11.2008

  • Изучение основных этапов проектирования программных систем, создание прикладной программы, которая выполняет решение систем линейных алгебраических уравнений методом Гаусса. Вычисление определителя и обращение матриц. Листинг разработанной программы.

    курсовая работа [563,3 K], добавлен 12.07.2012

  • Стадии процесса моделирования. Функция распределения непрерывной случайной величины. Методы моделирования (обратной функции, суперпозиции, исключения). Нормальные случайные величины. Метод Монте-Карло, точки равновесия. Моделирование динамических систем.

    курсовая работа [1,2 M], добавлен 06.08.2013

  • Характеристика основных методов для решения различных задач с помощью случайных последовательностей. Реализация и проверка эффективности метода Монте-Карло при его применении на различных примерах. Алгоритм метода имитации. Издержки неопределенности.

    курсовая работа [98,9 K], добавлен 04.05.2014

  • Описание математических методов решения систем линейных уравнений. Метод Гаусса, матричный метод. Вычисление определителей второго и третьего порядка. Язык программирования Паскаль. Структура программы, описание переменных, основные конструкции языка.

    курсовая работа [137,3 K], добавлен 20.07.2010

  • Системы линейных алгебраических уравнений. Матричный метод решения систем линейных уравнений. Решение задачи математическим методом. Блок-схема алгоритма и листинг программы. Расчет трудоемкости разработки программы. Расчет себестоимости и цены программы.

    дипломная работа [144,8 K], добавлен 25.04.2012

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

    практическая работа [321,9 K], добавлен 24.06.2012

  • Метод Гаусса-Зейделя как модификация метода Якоби, его сущность и применение. Разработка программы решения системы линейных алгебраических уравнений на языке VB, проверка правильности работы программы в MS Excel и математических пакетах MathCad и MatLab.

    курсовая работа [325,5 K], добавлен 27.10.2013

  • Область применения данной программы. Распределение ставок средствами визуального программирования. Сообщения оператору. Текст программы. Графическое отображение передвижения наездников на экране. Возможность случайного распределения номеров наездников.

    курсовая работа [57,0 K], добавлен 20.11.2013

  • Управление процессами операционных систем. Разработка программы, моделирующей обслуживание множества вычислительных процессов в системе с 4 очередями, определяемыми значениями приоритетов. Выполнение инструкций компьютерной программы на процессоре.

    контрольная работа [302,7 K], добавлен 06.08.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.