Компьютерные технологии в физике. Часть 1. Компьютерное моделирование физических процессов. Красов В.И - 81 стр.

UptoLike

84
i : integer;
y1, delta : real;
begin (a6)
delta:=(y-y0)/N;
y1:=0;
for i:=1 to N do
begin
Efield(x,y1+y0);
fl:=fl+2*Pi*y1*Ex*delta/2;
y1:=y1+delta;
Efield(x,y1+y0);
fl:=fl+2*Pi*y1*Ex*delta/2;
end;
end;
Для более точного расчета потока вблизи точечного заряда
можно использовать более точные алгоритмы интегрирования, например
метод Симпсона.
Алгоритм построения системы силовых линий как изолиний потока
вектора
E
аналогичен (а5) и приведен ниже:
......................
flag:=false;
for i:=xmin to xmax do
begin
if i=x0 then {вариант исключения области вблизи заряда}
i:=i+1;
if i<x0 then
fl:=0;
if i>x0 then
fl:=-4*pi*q;
for j:=y0 to ymax do
begin
Eflux(i,j);
{Проверка условий совпадения потоков для системы силовых линий}
for k:=1 to N do
begin
if (fl>fl0[k])and(not flag[k]) then
begin (a7)
Canvas.Pixels(i,j);
Canvas.Pixels(i,round(2*y0-j));
flag[k]:=true;
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
                i        : integer;
                y1, delta : real;
               begin                                                               (a6)
                delta:=(y-y0)/N;
                y1:=0;
                for i:=1 to N do
                  begin
                   Efield(x,y1+y0);
                   fl:=fl+2*Pi*y1*Ex*delta/2;
                   y1:=y1+delta;
                   Efield(x,y1+y0);
                   fl:=fl+2*Pi*y1*Ex*delta/2;
                  end;
               end;

                   Для более точного расчета потока вблизи точечного заряда
              можно использовать более точные алгоритмы интегрирования, например
              метод Симпсона.
                    Алгоритм построения системы силовых линий как изолиний потока
              вектора E аналогичен (а5) и приведен ниже:

              ......................
                flag:=false;
                for i:=xmin to xmax do
                  begin
                    if i=x0 then {вариант исключения области вблизи заряда}
                      i:=i+1;
                    if ix0 then
                      fl:=-4*pi*q;
                    for j:=y0 to ymax do
                      begin
                        Eflux(i,j);
                 {Проверка условий совпадения потоков для системы силовых линий}
                        for k:=1 to N do
                          begin
                            if (fl>fl0[k])and(not flag[k]) then
                              begin                                         (a7)
                                 Canvas.Pixels(i,j);
                                Canvas.Pixels(i,round(2*y0-j));
                                flag[k]:=true;

                                                     84


PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com