ИСПОЛЬЗОВАНИЕ ЯЗЫКА PYTHON ПРИ ИЗУЧЕНИИ
ЭЛЕМЕНТОВ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ В ТЕХНИЧЕСКОМ ВУЗЕ НА ПРИМЕРЕ РАСЧЕТА
НАПРЯЖЁННОСТИ ЭЛЕКТРИЧЕСКОГО ПОЛЯ ДИСКРЕТНОЙ ЛИНЕЙНОЙ СИСТЕМЫ ОДИНАКОВЫХ
ЗАРЯДОВ И БЕСКОНЕЧНОЙ НИТИ
Аннотация: Представлен опыт использования языка
Python при изучении элементов вычислительной физики на примере вычисления
напряжённости электрического поля дискретной линейной системы и бесконечной
заряженной нити. Приведена программная реализация, обсуждается опыт внедрения в
учебный процесс.
Ключевые слова: вычислительная физика,
компьютерное моделирование, напряжённость электрического поля, заряженная нить,
обучение физике, школа, вуз.
Sukharev E.M. PhD in Engineering, Assistant
Professor of Physics Department
Siberian Transport University
Novosibirsk, Russia
USING THE PHYTON FOR STUDYING THE ELEMENTS OF
COMPUTATIONAL PHYSICS IN THE TECHNICAL UNIVERSITY ON THE EXAMPLE OF CALCULATING
THE ELECTRIC FIELD OF A DISCRETE LINEAR SYSTEM AND CHARGED INFINITIVE LINE
Annotation: The experience of using the Python
language in studying the elements of computational physics is presented on the
example of calculating the electric field of a discrete linear system and an
infinite charged line. The prigramming code implementation is presented, the
experience in the educational process is discussed.
Keywords: computational physics, teaching
physics, electric field, infinitive line, school, university.
Вычислительная физика как учебная дисциплина
развивается достаточно давно [1], а с началом всестороннего внедрения компьютеров
в учебный процесс делаются попытки изучения компьютерного моделирования даже в
школах [2,3,4]. В вузах с ограниченным временем, отводимым на изучение физики,
это связано с очевидными трудностями. А между тем, современная физика
использует компьютерное моделирование практически на равных с такими
классическими методами познания как теоретические и
экспериментальные. Кроме того, нужно учитывать
компьютерную грамотность и техническую оснащённость учащегося контингента,
уровень которых достаточен для всех учебных задач вычислительной физики.
Автором в течение ряда лет осуществлялось
внедрение в учебный процесс основ вычислительной физики. Часть результатов
изложена в работах [5,6]. Заметим, что программы при изучении основ
вычислительной физики могут быть написаны на любом языке, однако выбор языка
сам по себе может существенно улучшить восприятие учебного материала. Главными
факторами при выборе языка являются простота изучения, интуитивность
конструкций, бесплатность и простота установки. Опыт показал, что при
первоначальном изложении идей вычислительной физики можно пользоваться даже
процессорами электронных таблиц, которые изучаются в школьном курсе
информатики. Для задач, более адекватно отражающих основные идеи и подходы
компьютерного моделирования физических процессов, стоит обратить внимание на
специализированные системы типа MATLAB, Scilab, Mathcad.
Язык Phyton с этой точки зрения заслуживает
всестороннего внимания. Это язык общего назначения с минималистичным
синтаксисом, но с большим количеством встроенных модулей, обладающих
широчайшими возможностями. Его использование бесплатно, установка проста для
большинства активно используемых платформ. Библиотеки NumPy, SciPy и MatPlotLib
рассматриваются как свободные альтернативы MATLAB. Их синтаксис весьма похож на
MATLAB и Scilab, что облегчает понимание программ и легкость перехода на
Phyton. Скорее всего, так и было задумано их создателями NumPy и SciPy. Кроме
того, Phyton очень популярен в ETL- процессах, расчётах и графической
визуализации данных. В последние годы он стал использоваться для систем
машинного обучения и нейронных сетей, в том числе для коммерческого
использования. Такая популярность является стимулом к его изучению студентами
различных (и даже филологических) специальностей.
Обучение вычислительной физике на базе Phyton
также получило достаточное распространение [7,8,9], большое значение имеет при
этом выбор типа и сложности задач. Весьма важно акцентировать внимание учащихся
на том, что возможности компьютера гораздо шире, чем простые вычисления по
готовым формулам, но он может стать помощником при выводе важных
закономерностей.
Рассмотрим пример вычисления напряжённости
электрического поля. Пусть имеется N зарядов величиной q, расположенных на
отрезке на расстоянии d друг от друга. Какова напряжённость электрического поля
на расстоянии r от центра отрезка? Для решения этой задачи воспользуемся
формулой напряженности точечного заряда:
𝑞
𝐸 = 𝑘 𝑠2
Где s – расстояние до конкретного заряда.
Напряженность, в силу симметрии, направлена перпендикулярно отрезку, поэтому
достаточно
рассматривать проекции напряженностей
на нормаль к нему. Если x - координата
заряда, то:
𝑁
𝑞𝑟
𝐸 = ∑ (𝑥2 + 𝑟2)3/2
𝑖=1
Эта сумма легко считается с помощью вложенных
циклов, однако на
Phyton, лучше воспользоваться возможностями
работы с массивоподобными структурами. Реализация этой идеи выглядела следующим
образом (пропуская задание параметров):
import numpy as np import matplotlib as plt
X = np.linspace(-0.5,0.5,10000).reshape(N,1)
R=np.linspace(0.01, 1.5, 100)
E= k*q*R/((X**2)+(R**2))**1.5 E = sum(E[:,:])
В результате получаем напряженность для r в
пределах от 0.01 до 1,5. Его можно сравнить с теоретическими формулами для нити
и точечного заряда. Решения предложенные студентами могут отличаться, поэтому
важно уделять внимание разным реализациям.
Важно отметить, что большая часть времени
должна уделяться постановке задачи и анализу результатов, в том числе, тем, что
получаются при изменении исходных параметров.
Опыт работы в условиях ограниченного объёма
учебных часов показал, что данный подход вызывает интерес, поддается изучению и
вполне может быть применим для активизации интереса учащихся к интеграции
изучаемых дисциплин и наиболее полного усвоения курса физики.
Использованные источники:
1. Гулд Х., Тобочник Я.
Компьютерное моделирование в физике:В 2–х частях. Часть первая. ––– М.: Мир,
1990.–– 400 с.
2. Кондратьев А.С., Лаптев В.В.
Физика и компьютер. – Л.:, ЛГУ, 1989. –
328 с.
3. Бурсиан Э.В. Физика. 100 задач
для решения на компьютере : учеб.
пособие. – СПб.:-ИД “МиМ”, 1997. - 256 c.
4. Самойленко П.И. Теория и
методика обучения физике : учеб. пособие для студ. вузов. - М. : Дрофа, 2010. -
333 с.
5. Сухарев Е.М. Использование
Scilab для создания виртуальных лабораторных работ по курсу общей физики //
Современная педагогика. 2016.
№ 12 [Электронный ресурс]. URL:
http://pedagogika.snauka.ru/2016/12/6545 (дата обращения: 31.12.2016).
6. Сухарев Е.М. Изучение элементов
вычислительной физики в курсе общей физики технического вуза // Евразийский
научный журнал.-2016.-№12.- С.18-19.
7. Paul A. Nakroshis. Introductory
Computational Physics Using Python. - University of Southern Maine Department
of Physics.- 2017.
8. Eric Ayars. Computational
Physics With Python.- California State
University, Chico.-2018
9. Соловьёв И.А. Вычислительная
математика на смартфонах, коммуникаторах и ноутбуках с использованием
программных средств Python: Учебное пособие. – Изд-во «Лань». -2011.-272 с.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.