МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
ТИПОВАЯ УЧЕБНАЯ ПРОГРАММА
VIV 4303 АВМАТИЗАЦИЯ ЭКСПЕРИМЕНТА В ЯДЕРНОЙ ФИЗИКЕ
(код и наименование дисциплины)
5В060500 – Ядерная физика
(код и наименование специальности)
объем 3 кредита
Алматы, 2012
Предисловие
1 РАЗРАБОТАНА И ВНЕСЕНА
Казахским национальным университетом имени аль-Фараби
Кусаинов А.С., канд. тех. наук, PhD, старший преподаватель
(название организации образования – составителя(ей) типовой программы
2 РЕЦЕНЗЕНТЫ
Кошеров Т.С. д.ф.м.н., проф., Казахский Национальный Технический Университет им. К.И..Стапаева, Юшков А.В., д.ф.м.н., проф. Казахский Национальный Университет им. аль-Фараби.____________________________
(ф.и.о., ученая степень, звание, название организации)
3 УТВЕРЖДЕНА И ВВЕДЕНА В ДЕЙСТВИЕ приказом
Министерства образования и науки Республики Казахстан
от «___»__________20___года №____
4 Типовая учебная программа разработана в соответствии с государственным общеобязательным стандартом образования
специальностей
5В060500 – Ядерная физика
(наименование специальности)
5 РАССМОТРЕНА на заседании Республиканского Учебно-
методического совета от «___» _________20___года Протокол №___
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Дисциплина «Автоматизация эксперимента в ядерной физике» изучает численные методы обработки результатов эксперимента и его моделирование с помощью современных языков программирования.
Дисциплина является неотъемлемым элементом подготовки современного ученого физика, инженера ядерщика и педагога в высших учебных заведениях с профилирующим предметом физика. Анализ данных эксперимента и его планирование невозможен без соответствующих программных и аппаратных средств обработки эксперимента - языков программирования и электронных вычислительных устройств-компьютеров.
Дисциплина «Автоматизация эксперимента в ядерной физике» дополняет дисциплину «Экспериментальные методы ядерной физики» в объеме необходимого математического и программного обеспечения для математической обработки и численного моделирования эксперимента в ядерной физике. При этом дисциплина является самостоятельным курсом.
Успешное освоение дисциплины полагает предварительное изучение студентами таких обязательных дисциплин как основы математического анализа и дифференциального исчисления, полный курс общей физики, включая механику, молекулярную физику, электричество и магнетизм, оптику и атомную физику, а также квантовую механику. Для выполнения некоторых лабораторных работ студент должен знать и уметь применять элементы статистической обработки данных.
После изучения дисциплины «Автоматизация эксперимента в ядерной физике» студенты должны уметь представить теоретическую задачу или физический эксперимент в виде набора действий и инструкций на языке программирования (в виде программы), уметь запускать, отлаживать и анализировать результаты работы этой программы на электронной вычислительной машине.
ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ
-
Необходимость применения ЭВМ для решения физических задач и круг этих задач. Методы и инструменты решения задачи автоматизации эксперимента.
-
Комплексы программ и их основные характеристики. Типы ЭВМ, программного обеспечения и языков программирования применяемого в физике. Типы операционных систем. Windows, Unix, Mac OS и т.д.
-
Алгоритмические языки программирования. Компиляторы языков С и Фортран.
-
Язык программирования С++. Функции. Операторы. Типы данных и переменных. Циклы и выражения сравнения.
-
Язык программирования С++. Объекты и классы. Работа с памятью.
-
Ввод/вывод данных и работа с файлами.
-
Моделирование эксперимента и методы решения обыкновенных дифференциальных уравнений и дифференциальных уравнений в частных производных.
-
Матричная алгебра.
-
Методы Монте-Карло и их реализация в рамках численного моделирования эксперимента.
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
Введение
Цель преподавания дисциплины - получение теоретический знаний и навыков по автоматизации эксперимента в ядерной физике в части его теоретического анализа, численного моделирования и обработки экспериментальных данных и данных по моделированию на электронных вычислительных устройствах с использованием комплексов программ.
Задачи преподавания и изучения дисциплины реализуются в следующих формах деятельности:
-
получение необходимых теоретических знаний в результате прослушивания и усвоения курса лекций и их использование при решении практических задач, решения задач на семинаре, выполнении домашних работ, написании рефератов и курсовых работ;
-
активизация познавательной деятельности студентов и приобретения ими навыков решения практических и проблемных задач посредством выполнения лабораторных работ
Контроль за выполнением задач и достижением поставленных целей осуществляется в форме текущего контроля за деятельностью студентов на лекционных и практических занятиях в виде проверки самостоятельных работ студента, проведении коллоквиумов, и в других устных и письменных формах оценки степени усвоения материала, а также в виде рубежного контроля, который включает письменные или устные задания, и экзамены, которые проводятся в сроки и в форме оговоренные академической политикой университета;
Объектом изучения дисциплины являются теоретические вопросы ядерной физики, эксперимент и результаты этого эксперимента с точки зрения их анализа, обработки данных и численного моделирования. Методами изучения данной дисциплины является анализ и синтез исследуемого предмета, т.е. расчленение, разложении физической задачи, систем и протекающих в них процессов на их составные части и на этой основе определении ведущих звеньев, узких мест, ключевых проблем развития с использованием современных языков программирования их реализации на электронных вычислительных машинах.
Дисциплина «Автоматизация эксперимента в ядерной физике» является интегральной частью комплекса дисциплин и спецкурсов экспериментальной и теоретической ядерной физики.
Краткий исторический очерк развития науки дисциплины, отражающий ее основные этапы.
Первое применение приспособлений и устройств для обработки информации датируется 3 веком до нашей эры, когда в Древнем Вавилоне были изобретены первые счёты - абак.
В 1492 году Леонардо да Винчи предложено 13-разрядное суммирующего устройства с десятизубцовыми кольцами.
В 1623 году Вильгельм Шиккард, профессор университета Тюбингена, разрабатывает устройство на основе зубчатых колес («считающие часы») для сложения и вычитания шестиразрядных десятичных чисел. В 1630 году Ричард Деламейн создаёт круговую логарифмическую линейку.
1723 год — немецкий математик и астроном Христиан Людвиг Герстен на основе работ Лейбница создал арифметическую машину. Машина высчитывала частное и число последовательных операций сложения при умножении чисел.
1801 год - Жозеф Мари Жаккар строит ткацкий станок с программным управлением, программа работы которого задается с помощью комплекта перфокарт, а 1820 году налажен первый промышленный выпуск арифмометров. 1822 год — английский математик Чарльз Бэббидж изобрёл, первую разностную машину (специализированный арифмометр для автоматического построения математических таблиц)
1927 год - в Массачусетском технологическом институте (MIT) Вэниваром Бушем был разработан механический аналоговый компьютер.
1941 год - Конрад Цузе создаёт первую вычислительную машину Z3, обладающую всеми свойствами современного компьютера.
После изобретения интегральной схемы развитие компьютерной техники резко ускорилось. Этот эмпирический факт, замеченный в 1965 году соучредителем компании Intel Гордоном Е. Муром назвали законом Мура.
Язык программирования С возник в начале 1980-х годов силами сотрудника фирмы Bell Laboratories Бьёрна Страуструпа. В 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»;
Основная часть
Необходимость применения ЭВМ для решения физических задач и круг этих задач. Методы и инструменты решения задачи автоматизации эксперимента.
Краткий исторический очерк развития вычислительных машин. Аналоговые и цифровые вычислительные машины. Вычислительные задачи теоретической ядерной физики. Задачи обработки результатов физического эксперимента.
Комплексы программ и их основные характеристики. Типы ЭВМ, программного обеспечения и языков программирования применяемого в физике. Типы операционных систем. Windows, Unix, Mac OS и т.д.
Философия программирования. Современные электронные вычислительные машины и компьютеры. Типы операционных систем и их развертывание на доступной аппаратной базе. Процессоры. Программные и аппаратные интерфейсы.
Алгоритмические языки программирования. Компиляторы языков С и Фортран.
Алгоритмы и их реализация. История развития языков программирования. Альтернативные методы решения вычислительных задач. Borland C/C++, Microsoft Visual Studio и его компонент C++ compiler.
Язык программирования С++. Функции. Операторы. Типы данных и переменных. Циклы и выражения сравнения.
Функция main(). Комментарии в языке С++. Препроцессор. Операторы обновления и присваивания. Развновидности функций. Функции пользователя. Типы данных short int и long. Типы данных char. Типы данных с плавающей точкой. Составные типы данных. Указатели и свободная память. Указаетли, массивы и арифметика указателей. Цикл for, цикл do while и операторы инкремента.
Язык программирования С++. Объекты и классы. Работа с памятью.
Классы памяти, диапазоны доступа. Реализация функций-элементов класса. Деструкторы и конструкторы классов. Классы и динамическое распределение памяти. Наследование классов.
Ввод/вывод данных и работа с файлами.
Потоки и буферы. Перенаправление. Открытие нескольких файлов. Работа в режиме командной строки. Режимы файлов. Произвольный доступ к файлам.
Моделирование эксперимента и методы решения обыкновенных дифференциальных уравнений и дифференциальных уравнений в частных производных.
Типы дифференциальных уравнений. Методы Эйлера и Рунге-Кутта. Точность и устойчивость решения. Тест типа "прыгающая лягушка". Переменный шаг интегрирования. Типы уравнений в частных производных и их канонический вид. Уравнения гиперболического, параболического и эллиптического типа. Адаптация методов Эйлера и Рунге-Кутта. Метод Дюфорта-Франкеля. Примеры. Уравнении диффузии и уравнение непрерывности.
Матричная алгебра.
Операции с матрицами. Типы матриц и программная реализация работы с матрицами на языке С++. Обращение Матриц. Метод Якоби. Метод Гаусса –Зайделя. Приведение матриц к диагональному виду.
Методы Монте-Карло и их реализация в рамках численного моделирования эксперимента.
Генераторы случайных чисел и их программная реализация. Интегрирование методом Монте-Карло. Метод Метрополиса. Метод Монте-Кало в решении задач квантовой механики.
Примерный перечень тем лабораторных занятий (практических) занятий
-
Эллиптическое уравнение в частных производных - уравнение Лапласа. Гиперболическое уравнение в частных производных - волновое уравнение.
-
Параболическое уравнение в частных производных - уравнение диффузии.
-
Уравнение Максвелла. Дисперсия волн.
-
Эллиптическое уравнение – уравнении Пуассона. Решения уравнение в матричном виде.
-
Нахождение собственных значений матрицы.
-
Расчет распространения фононов в кристаллической решетке.
-
Генераторы псевдослучайных чисел.
-
Алгоритм Метрополиса.
Примерный перечень заданий на СРС
-
Решить дифференциальное уравнение в частных производных описывающее классический электрон в магнитном поле численными методами.
-
Решить уравнения движения электрона в магнитном поле на фоне осциллирующего электрического поля.
-
Оценить точность метода Эйлера и метода Рунге-Кута разложением в ряд Тейлора.
-
Получить решение волнового уравнения численными методами.
-
Получить решение уравнения Шредингера численными методами в матричном виде.
-
Используя вариационный квантовый метод Монте-Карло рассчитать энергию основного уровня атома гелия.
Список рекомендуемой литературы
Основная
-
Стивен Прата. Язык программирования С++. Торгово-издательский дом DiaSoft, Москва, 2005.-1104 с.
-
Поршнев С.В. Компьютерное моделирование физических процессов в пакете MATLAB Автор: Издательство: Горячая линия - Телеком Год: 2003.- 592 с.
-
Турчак Л.И., Плотников П.В. Основы численных методов. 2-е изд., перераб. и доп. - М.: ФИЗМАТЛИТ, 2002. - 304 с.
Дополнительная
-
Дүйсебекова, К.С. Matlab-та программалау негіздері: оқу құралы / Күләнда Сейітбекқызы Дүйсебекова, Мадина Есімханқызы Мансұрова; әл-Фараби атын. ҚазҰУ.- Алматы: Қазақ ун-ті, 2011.- 140, [3] б.
-
Мансурова, М.Е. Решение прикладных задач в среде Matlab: Учеб. пособие; КазНУ им. аль-Фараби.- Алматы: Қазақ ун-ті, 2004.- 106 б.
-
Numerical Recipes: The Art of Scientific Computing Cambridge University Press. Third Edition (2007), 1256 pp.
|