The solution of complex problems on calculation of the electrostatic fields on lessons on computer modeling
TTHE SOLUTION OF COMPLEX PROBLEMS ON CALCULATION OF THE ELECTROSTATIC FIELDS ON LESSONS ON COMPUTER MODELING
Mayer Robert Valerievich, http://maier-rv.glazov.net The Glazov Korolenko State Pedagogical Institute, Glazov, Russia
Abstract:
In article the following tasks on computer modeling of electric fields are analyzed: 1) calculation of distribution of potential for the field created by two parallel plates and charged bodies in the non-uniform environment; 2) calculation of distribution of potential and force lines of electric field in which are brought the cylinder, a pipe, a plate, a rectangular parallelepiped from dielectric, and also the metal cylinder; 3) calculation of distribution of potential in the one-dimensional non-uniform environment; 4) the solution of the equation of Poisson in spherical coordinates; 5) calculation of distribution of potential in cylindrical coordinates with the subsequent creation of equipotential surfaces and force lines.
РЕШЕНИЕ
СЛОЖНЫХ
ЗАДАЧ НА РАСЧЕТ
ЭЛЕКТРОСТАТИЧЕСКОГО
ПОЛЯ НА ЗАНЯТИЯХ ПО КОМПЬЮТЕРНОМУ
МОДЕЛИРОВАНИЮ
Майер
Роберт
Валерьевич , http://maier-rv.glazov.net
Глазовский государственный педагогический институт , Глазов , Россия
При изучении основ компьютерного моделирования имеет смысл рассмотреть вопрос о численном решении уравнения Пуассона при расчете электростатического поля в однородный и неоднородных средах в различных системах координат . Допустим , известны плотность распределения заряда и потенциал на границе области двумерной неоднородной среды . В декартовых координатах распределение потенциала удовлетворяет уравнению : ),(),(),( erjeje yxyyxyxyxx -= ¶¶¶ ¶+ ¶¶¶ ¶ , erjejejeje -=¶¶+¶¶¶¶+¶¶+¶¶¶¶ yyyxxx . В конечных разностях получаем : ++-+-- +--+-+ hhh jijijijijijijiji jjjejjee ,2 1,,1,,1,1,1,1, erjjjejjee jijijijijijijijiji hhh -=+-+-- +--+-+ , -+++++= +-+-+ jijijijijijijiji h ,1,02,1,1,,1,1, [(4/)/( eeerjjjjj )16/()]()()() ,1,1,1,1,,1,1,1 jijijijijijijiji ejjeejje -+-+-+- -(cid:215)-+-(cid:215) . Для решения рассматриваемой стационарной задачи используется релаксационный метод последовательных приближений : во всех внутренних узлах сетки задаются произвольные исходные значения потенциала ; его значения во внешних узлах должны соответствовать граничным условиям . Осуществляется первая итерация , в ходе которой перебираются все внутренние узлы сетки и , исходя из начальных значений , определяют новые уточненные значения функции . Затем осуществляются второе , третье , … приближения , причем результаты i– ой итерации используются в качестве исходных для (i+1)- ой итерации . В результате получающиеся значения приближаются к истинному распределению потенциала . Для реализации этого алгоритма требуется зарезервировать в памяти ЭВМ три двумерных массива размерностью
N x M, элементами которых являются числа типа real или single ( язык
Pascal).
Один массив для диэлектрической проницаемости , два других –– для потенциалов на шаге t и t+1. Это не позволяет в среде Free Pascal создать сетку с большим числом узлов . Увеличить число узлов можно , задав диэлектрическую проницаемость целыми числами . Вместо двух массивов для потенциалов на различных временных слоях следует создать один , но в этом случае , чтобы избежать накапливания ошибок , придется перебирать элементы в четырех различных направлениях . Алгоритм состоит в последовательном переборе узлов сетки слева на право и справа на лево , сверху вниз и снизу вверх , в ходе которого вычисляются значения потенциала в них . Перед каждым проходом следует учесть граничные условия задачи , то есть приравнять потенциалы на границе двумерной области к заданной величине или функции координат . Используемая программа ПР –1 содержит : 1) процедуру Sreda, в которой задается диэлектрическая проницаемость среды в узлах сетки ; 2) процедуру Gran, в которой учитывается распределение потенциала вдоль границы области ; 3) процедуру Raschet, в которой задается распределение заряда и вычисляется потенциал в различных узлах (i, j); 4) процедуру Draw, выводящую результат вычислений на экран ; 5) основную часть программы , в которой осуществляется вызов перечисленных процедур в требуемом порядке . а рис . 1.1 и представлены результаты ее использования для расчета электрического поля в двумерной неоднородной среде с диэлектрической проницаемостью axy += e , созданным двумя пластинами , которые имеют потенциалы и –350 В , и зарядами q и q . В пространстве между пластинами имеется заземленный проводник , его потенциал равен нулю . Рис . 1.
Расчет потенциала электрического поля в неоднородной среде . Задавая различные распределения зарядов , потенциалов , диэлектрической проницаемости среды и граничные условия , можно решить и другие задачи . Например , рассчитать электрическое поле , создаваемое двумя параллельными разноименно заряженными пластинами , в случаях , когда в пространство между ними внесен : 1) прямоугольный брусок с диэлектрической проницаемостью меньшей , чем у окружающей среды ( рис . 2.1); 2) прямоугольный брусок с диэлектрической проницаемостью большей , чем у окружающей среды ( рис . 2.2); 3) цилиндр с диэлектрической проницаемостью большей , чем у окружающей среды ( рис . 2.3); 4) труба с с диэлектрической проницаемостью большей , чем у окружающей среды ( рис . 2.4); 5) пластина с диэлектрической проницаемостью большей , чем у окружающей среды , расположенная под углом ( рис . 2.5); 6) металлический цилиндр ( рис . 2.6). Программа ПР –2 рассчитывает линии равного потенциала и силовые линии электрического поля в случае , когда в пространство между заряженными пластинами внесена труба с диэлектрической проницаемостью большей , чем у окружающей среды . Из рисунков видно , что на границе раздела различных сред происходит преломление силовых линий ; причем в средах с большей диэлектрической проницаемостью они располагаются реже ( напряженность меньше ). При несении в электрическое поле проводящего цилиндра ( потенциалы всех его точек равны ), силовые линии оказываются перпендикулярными к поверхности . Рис . 2.
Результаты расчета электростатического поля . Рассмотренный выше подход позволяет решить одномерную задачу , например , рассчитать распределение потенциала электростатического поля между двумя бесконечно большими пластинами и расположенными перпендикулярно оси Ox на расстоянии b друг от друга ( рис . 3.1). Потенциалы пластин заданы ; между ними расположена пластина из диэлектрика , заряженная положительно или отрицательно . Рядом с пластиной имеется слой диэлектрика с некоторой диэлектрической проницаемостью . На рис . 3.2 показано получающееся распределение потенциала вдоль оси Ox в случае , когда между металлическими пластинами имеется толстая пластина с заданной диэлектрической проницаемостью , внутри которой равномерно " размазан " электрический заряд . Представлено не только искомое распределение потенциала , но и несколько предшествующих ему приближений ; это помогает понять сущность метода последовательных итераций . Рис . 3.
Расчет потенциала поля в одномерном случае . Выше рассмотрены методы решения уравнения
Пуассона в декартовых координатах . Теперь рассчитаем распределение потенциала в двумерной области , имеющей форму четверти круга , для чего решим уравнение Пуассона в полярных координатах ( рис . 4.1). Граничные условия зададим так : 1) граница АВ : = AB dd aj , ii jj = ; 2) граница BC: = BC j В , , = jN j В ; 3) граница CD: = CD dd aj , MiMi ,1, jj = + ; 4) граница DA: = DA dd aj , ,0 = j j В . Потенциалы двух точек поддерживаются равными В и – 80 В . Уравнение
Пуассона в полярных координатах и соответствующее конечно - разностное уравнение имеют вид : ),(11 eea jjj yxqrrrr -=¶ ¶+¶¶+¶¶ ,
022 1,,1,2 ,1,,1,1,1 eea jjjjjjjj ijijijijijijijiji qrrrr -=D +-+D +-+D- -+-+-+ , +D ++D-= D+D -+-+ rrrrr jijijijiji jjjjja eeajj jijiji qr +D ++ +- . Отсюда выражают потенциал в узле (i, j). Для решения задачи используется программа ПР -3. Результаты вычисления распределения потенциала в двумерной области при заданных граничных условиях представлены на рис . 4.2. Программа выполняет последовательность итераций , получающиеся значения потенциалов постепенно приближаются к искомым значениям , которые соответствуют точному решению задачи . Рис . 4.
Расчет электрического поля в сферических координатах . Теперь рассчитаем электростатическое поле в пространстве между двумя электродами и при наличии заряженного шара
3 ( рис . 5.1), используя цилиндрические координаты . Распределение потенциала должно удовлетворять уравнению
Пуассона : ee rja jjj -=¶¶+¶ ¶+¶¶+¶¶ zrrrr . Электроды обладают цилиндрической симметрией , то же самое относится к распределению заряда и граничным условиям . Задача сводится к нахождению распределения потенциала в плоскости осевого сечения xOz. В конечных разностях получаем : eerjjjjjjjj kikikikikikikikiki zrrr -=D +-+D +-+D- +-+--+ , hhr kikikikikikikiki eerjjjjjjj +++++-= +-+--+ . Используется программа ПР –4, в которой перебираются все узлы двумерной сетки и с каждой итерацией пересчитываются значения потенциала . После итераций осуществляется построение силовых линий . Для этого в пространство между электродами запускаются невесомые частицы – маркеры , которые перемещаются вдоль силовых линий и рисуют свою траекторию . Напряженность поля равна градиенту потенциала . Для определения направления силовой линии в точке с координатами x , z используются формулы : -+--= ++++ hhE kikikikix jjjj , -+--= ++++ hhE kikikikiz ,11,1,1, jjjj . Результаты расчета электростатического поля представлены на рис . 5.2. Силовые линии перпендикулярны эквипотенциальным поверхностям и направлены от положительного электрода к отрицательному . Рис . 5.
Расчет электрического поля в цилиндрических координатах . Обсуждение и анализ рассмотренных выше задач на занятиях по компьютерному моделированию способствуют более глубокому пониманию методов решения дифференциальных уравнений с частными производными , повышает интерес студентов к программированию , физике и математике . Программа ПР –1. program el_pole_neodnorodn_sreda; {$N+} uses crt, graph; const N=70; M=70; var i, j, ii, jj, k, q, DV, MV :integer; fi, e: array[1..N, 1..M] of single; Procedure Sreda; begin For i:=1 to N do For j:=1 to M do e[i,j]:=1+0.015*j*i; end; Procedure Gran; begin For i:=1 to N do begin fi[i,1]:=-350; fi[i,M]:=350; fi[1,i]:=fi[2,i]; fi[N,i]:=fi[N-1,i]; end; For j:=15 to 25 do fi[55,j]:=0; end; Procedure Raschet; egin q:=0; If ((i>20)and(i<30)and(j>30)and(j<35))then q:=500; If ((i>40)and(i<55)and(j>40)and(j<55))then q:=-300; fi[i,j]:=(fi[i+1,j]+fi[i-1,j]+fi[i,j+1]+fi[i,j-1]+q/ e[i,j])/4+((e[i-1,j]-e[i+1,j])*(fi[i+1,j]-fi[i-1,j]) +(e[i,j-1]-e[i,j+1])*(fi[i,j+1]-fi[i,j-1]))/ (16*e[i,j]); end; Procedure Draw; begin setcolor(round(abs(2+fi[i,j]/30))); rectangle(i*4+50,j*4,i*4+54,j*4+4); rectangle(i*4+51,j*4+1,i*4+53,j*4+3); end; BEGIN DV:=Detect; InitGraph(DV,MV,'c:\bp\bgi'); Sreda; Repeat inc(k); Gran; For i:=2 to N-1 do For j:=2 to M-1 do Raschet; Gran; For j:=M-1 downto 2 do For i:=N-1 downto 2 do Raschet; If k mod 50=0 then For i:=2 to N-1 do For j:=2 to M-1 do Draw; until KeyPressed; CloseGraph; END. Программа ПР –2. {$N+} program truba_el_pole; uses crt, graph; const N=80; M=95; R=34; dt=0.1; h=1; var i,j,q,s,DV,MV: integer; x,y,Ex,Ey:real; fi,e: array[0..N+1,0..M+1] of single; k: Longint; u: boolean; Procedure Sreda; begin For i:=1 to N do For j:=1 to M do begin u:=(sqr(i)+sqr(j-48)
Программа ПР –4. {$N+}program Potenc_cilindr_koordinati; uses crt, graph; const N=50; M=60; h=1; dt=0.01; var i,j,k,DV,MV: integer; r,C,Ex,Ey,x,y : single; t:Longint; f,f1: array[0..N+1,0..M+1] of single; procedure Raschet; begin r:=h*i+0.001; If i*i+(M-k)*(M-k)<64 then C:=1 else C:=0; f1[i,k]:=(f[i-1,k]+f[i+1,k]+f[i,k-1]+f[i,k+1]+(f[i+1,k]-f[i-1,k])*h/2/r+C)/4; end; BEGIN DV:=Detect; InitGraph(DV,MV,'c:\bp\bgi'); x:=30; Repeat inc(t); If t<5000 then begin For i:=0 to N do For k:=0 to M do begin If (i<4)and(k<20)then f[i,k]:=30; If (i<20)and(k<4)then f[i,k]:=30; f (i>N-2)or((k>M-2)and(i>15)) then f[i,k]:=-30; f[i,M]:=f[i,M-1]; f[i,0]:=f[i,1]; f[0,k]:=f[1,k]; end; For i:=1 to N-1 do For k:=1 to M-1 do Raschet; For i:=0 to N do For k:=0 to M do f[i,k]:=f1[i,k]; end; If (t>5000)and(j<15) then begin If f[i,k]<-29.5 then begin inc(j); x:=21*cos(j/10); y:=21*sin(j/10); t:=5000; end; i:=round(x); k:=round(y); Ex:=-(f[i+1,k]-f[i,k]+f[i+1,k+1]-f[i,k+1])/2; Ey:=-(f[i,k+1]-f[i,k]+f[i+1,k+1]-f[i+1,k])/2; x:=x+Ex*dt; y:=y+Ey*dt; setcolor(white); circle(300+round(6*x),400-round(6*y),1); end; If (t<5000)and(t mod 100=0) then begin For i:=1 to N do For k:=1 to M do begin setcolor(abs(round((f[i,k]+30)/2)mod 14)); rectangle(300+6*i,400-6*k,304+6*i,404-6*k); rectangle(301+6*i,401-6*k,303+6*i,403-6*k); end; end; until KeyPressed; CloseGraph; END. ЛИТЕРАТУРА Гулд Х ., Тобочник Я . Компьютерное моделирование в физике : В х частях . Часть
1. –– М .: Мир , 1990. –– 349 с . 2. Кунин С . Вычислительная физика . –– М .: Мир , 1992. –– 518 с . 3. Майер Р . В . Задачи , алгоритмы , программы . [ Электронный ресурс ] / URL: http://maier-rv.glazov.net, http://komp-model.narod.ru. 4.
Майер Р . В . Компьютерное моделирование : Глава
Расчет электрического и магнитного полей . Движение заряженных частиц [ Электронный ресурс ] / URL: http://maier-rv.glazov.net, http://mayer.hop.ru. 5.
Майер Р . В . Компьютерное моделирование физических явлений . ––
Глазов , ГГПИ : 2009. –– 112 с . 6. Giordano N.J. Computational Physics. – New Jersey, Prentice Hall, 1997. – 419 p. 7. Phillipson P.E., Schuster P. Modeling by Nonlinear Differential Equations: Dissipative and Conservative Processes. –– World Scientific Publishing, 2009. –– 225 p. 8. Woolfson M.M., Pert G.J. An Introduction to Computer Simulation. –– Oxford University Press, 1999. –– 311 p. Майер Р . В . Решение сложных задач на расчет электростатического поля на занятиях по компьютерному моделированию В статье проанализированы следующие задачи по компьютерному моделированию электрических полей : 1) расчет распределения потенциала для поля , созданного двумя параллельными пластинами и заряженными телами в неоднородной среде ; 2) расчет распределения потенциала и построение силовых линий электрического поля , в которое внесены цилиндр , труба , пластина , прямоугольный параллелепипед из диэлектрика , а также металлический цилиндр ; 3) расчет распределения потенциала в одномерной неоднородной среде ; 4) решение уравнения Пуассона в сферических координатах ; 5) расчет распределения потенциала в цилиндрических координатах с последующим построением эквипотенциальных поверхностей и силовых линий . Выходные данные статьи : Майер Р . В . Решение сложных задач на расчет электростатического поля на занятиях по компьютерному моделированию // Современные научные исследования и инновации . – Декабрь , 2013. – №
12 [
Электронный ресурс ]. URL: http://web.snauka.ru/issues/2013/12/29009 ( дата обращения : 01.12.2013).: 01.12.2013).