С Новым годом! Форум программистов, компьютерный форум, киберфорум
Электричество и магнетизм
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
1

Векторы индукции неоднородного магнитного и электрического полей

09.06.2011, 19:31. Показов 3514. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста найти вектор магнитной индукции, действующий на электрон.. я моделирую движение заряженных частиц в неоднородном магнитном поле по средствам C#, вот тема об программной составляющей моего проекта: C# моделирование движения заряженных частиц
повторю часть того, что там написано..

есть у нас вектор магнитной индукции (bx,by,bz) (пока неизменный) и вектор электрического поля (ex,ey,ez), координаты электрона (x,y,z), координаты магнита(ов) (xm,ym,zm), и/или координаты отклоняющих пластинок (xp1,yp1,zp1), (xp2,yp2,zp2)

нужно:
найти вектор (bx,by,bz) имея параметры магнита(ов), его координаты (xm,ym,zm) и координаты электрона i (x,y,z)
найти вектор (ex,ey,ez) имея параметры пластинок, их координаты (xp,yp,zp) и координаты электрона (x,y,z)
подставить это все в:
dx/dt=dVx
dy/dt=dVy
dz/dt=dVz
dVx/dt=e*(Ex+(Vy*Bz+Vz*By))/m
dVy/dt=e*(Ey+(Vx*Bz+Vz*Bx))/m
dVz/dt=e*(Ez+(Vy*Bx+Vx*By))/m

e - заряд электрона
m - масса электрона

чтоб єлектрон летел правильно)

пысы
сори что беспокою вас по такому поводу, но физику я изучал исключительно в школе много-много лет назад..

Добавлено через 3 часа 29 минут
по сути нужно найти dbx/dt, dby/dt, dbz/dt....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2011, 19:31
Ответы с готовыми решениями:

Определить наибольшее значение энергии магнитного и электрического полей контура
Бросьте плиз формулы,которые мне понадобятся в решении этой задачи: Индуктивность колебательного...

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

Определить емкость контура и максимальное значение энергий электрического и магнитного полей
Уравнение изменения тока в колебательном контуре в СИ i(t)= 0,02*sin(400pi*t) . Индуктивность...

Каким должен быть радиус контура, чтобы индукция магнитного поля в его центре была равна индукции магнитного поля Земли
Медный контур в виде круговой пели присоединен к батарее 6,3В. Каким должен быть радиус контура,...

24
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
09.06.2011, 21:26 2
Рисунок сделайте, в общем виде формулы давать нет смысла. Просто вычисление магнитного поля произвольного магнита, как и электрического поля хз какой пластины не комильфо.
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
09.06.2011, 21:56  [ТС] 3
http://img.leprosorium.com/1156765 эт скрин моей проги.. по нем и рисовал.. там тучка электронов.. они движутся со стартовой скоростью, на них действует сила лоренца.. в ней есть вектор магнитной индукции...
собака зарыта в уравнениях максвела.. но поскольку я не физик - розобратся что там мну нужно и вообще что там к чему не смог.. нет там ничего конкретно для индукции..

пысы.. там нарисовано как должно быть.. а на данный момент все движется по векторах, описаных в легенде

Добавлено через 6 минут
пыпысы уравнение в общем виде мне и нужно) есле таково есть для вектора магнитной индукции во внешнем магнитном поле..
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
09.06.2011, 22:39 4
Электрическое поле, если будут проблемы с вычислениями - пишите. Меня тоже можно перепроверить, уж больно часто в матане путаюсь )
Считаете интеграл и получаете функцию напряженности от Xo и Yo(положения электрона).
Для верхней пластины:
https://www.cyberforum.ru/cgi-bin/latex.cgi?Fx = \int_{0}^{L}\frac{kp(x-Xo)dx}{\sqrt{((d-Yo)^2+(x-Xo)^2)^3}}
https://www.cyberforum.ru/cgi-bin/latex.cgi?Fy = \int_{0}^{L}\frac{kp(d-Yo)dx}{\sqrt{((d-Yo)^2+(x-Xo)^2})^3}
Координаты тут в моей система отсчета, не забудьте перевести куда надо, когда посчитаете интеграл.
L - длина пластины. Xo, Yo - координаты электрона. d - расстояние между пластинами. k = 9*10^9 насколько помню ... , p - линейная плотность заряда.
Для нижней:
https://www.cyberforum.ru/cgi-bin/latex.cgi?Fx = \int_{0}^{L}\frac{kp(Xo-x)dx}{\sqrt{((Yo)^2+(x-Xo)^2)^3}}
https://www.cyberforum.ru/cgi-bin/latex.cgi?Fy = \int_{0}^{L}\frac{kp(Yo)dx}{\sqrt{((Yo)^2+(x-Xo)^2})^3}

Ща спать, завтра с работы или вечером напишу - уж больно тут с оформлением геморройно, что там с магнитным, если никто не опередит)).
Изображения
 
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
09.06.2011, 23:53  [ТС] 5
у меня модель 3-х мерная =) но всеровно спасибо..
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
10.06.2011, 01:36 6
я делал также задачу нахождения компонент магнитного поля, там подробно расписывалось ур-ние био-савара-лапласа. и был какой-либо ток. а тут эта модель не применима. (тут силовые линии эллипсами приблизить и модуль индукции экспонентой убывающей от расстояния до магнита.как я и говорил.попытайся)
1
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
10.06.2011, 08:31 7
От z ничего не изменится принципиально, станет двойной интегральчик и все. Вечером набросаю. Можете сами, тут не сложно. По сути бьем пластину на много точечных зарядов, пишем напряженность которую создает элементарный зарядик и интегрируем по площади. У магнитов же надо знать намагниченность и форму. По Био-Савару вы считали магнитное поле, которое создает проводник с током. Про применимость спорить не стану, хотя упростило бы вам жизнь сильно.
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
11.06.2011, 12:59  [ТС] 8
мну тут на кафедре физики подсказали что можно заюзать уравнения Био — Савара — Лапласа для нахождения индукции магнитного поля относительно одного витка соленоида.. потом розбить мой магнит на много таких и сумировать..

Добавлено через 16 минут
http://ru.wikipedia.org/wiki/%... 1%81%D0%B0
вот это..
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
11.06.2011, 13:05 9
Цитата Сообщение от crazyone Посмотреть сообщение
мну тут на кафедре физики подсказали что можно заюзать уравнения Био — Савара — Лапласа для нахождения индукции магнитного поля относительно одного витка соленоида.. потом розбить мой магнит на много таких и сумировать..
да, поле магнита и соленоида можно считать почти эквивалентными.
только непонятно как твой кусок магнита можно аппроксимировать витками, тогда витки будут наворачиваться на что-то, вопрос в какое число витков

Цитата Сообщение от crazyone Посмотреть сообщение
да, я решал задачу нахождения индукции по био-с-л от сложного контура с током. только найти надо.
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
11.06.2011, 13:18  [ТС] 10
Цитата Сообщение от za5 Посмотреть сообщение
да, я решал задачу нахождения индукции по био-с-л от сложного контура с током. только найти надо.
чувак, былбы безмерно благодарен еслебы нашел =)
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
11.06.2011, 15:27 11
чтобы не нарушать авторские права препода как автора))), кинул ссылку в лс.
там решена задача нахождения компонент магнитного поля соленоида. и ещё doc файл полезный тоже кинул.

короче говоря, твоя задача решена, а вот перенести с мэпла на c# не так просто получится, численное интегрирование самому писать и т.д.
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
11.06.2011, 15:53  [ТС] 12
недавно на мепле нашел нечто подобное.. там моделирование взаимодействия заряженных частиц..

Код
>    	restart:

#=====================================================
move_particle := proc(M,S,T)
#=====================================================
  local num_frames,num_moves_per_frame,n,dt,
        movements,xmin,xmax,ymin,ymax,qmax,
        plot_background,plot_legend,plot_stationary,plot_movements;

  num_frames := 20;
  num_moves_per_frame := 5;
  n := num_frames*num_moves_per_frame;
  dt := T / n;

  movements := compute_movements(M,S,dt,n);
  compute_bounds(movements,M[2],S,
                 'radius','xmin','xmax','ymin','ymax','qmax');

  plot_background := draw_background(xmin,xmax,ymin,ymax);
  plot_legend     := draw_legend(xmin,xmax,ymin,ymax,qmax);
  plot_stationary := draw_stationary(S,radius,qmax);
  plot_movements  := draw_movements(movements,radius,qmax,M[2],num_moves_per_frame);

  plots[display]([plot_movements,plot_stationary,plot_legend,plot_background],
                 scaling=constrained,axes=none,
                 title=`Movement of a Charged Particle Under an Electric Field`,
                 titlefont=[TIMES,BOLD,12]);
end:

#=====================================================
compute_movements := proc(M,S,dt,n)
#=====================================================
  local m,q,config,movements,i;

  m  := M[1];
  q  := M[2];
  config     := M[3..6];
  movements  := config[1..2];

  for i from 1 by 1 to n do
    config    := compute_a_movement(q,m,config,S,dt);
    movements := movements,config[1..2];
  od;

  return [movements];
end:

#=====================================================
compute_a_movement := proc(q,m,C,S,dt)
#=====================================================
  local px,py,vx,vy,Enet,Fnetx,Fnety,
        ax,ay,dpx,dpy,new_px,new_py,new_vx,new_vy;

  px := C[1];
  py := C[2];
  vx := C[3];
  vy := C[4];

  Enet := compute_electric_field(px,py,S);

  Fnetx := Enet[1]*q;
  Fnety := Enet[2]*q;

  ax := Fnetx/m;
  ay := Fnety/m;

  dpx := vx*dt + 1/2*ax*dt*dt;
  dpy := vy*dt + 1/2*ay*dt*dt;

  new_px := px + dpx;
  new_py := py + dpy;

  new_vx := vx + ax*dt;
  new_vy := vy + ay*dt;

  return [new_px,new_py,new_vx,new_vy];
end:

#=====================================================
compute_electric_field := proc(px,py,S)
#=====================================================
  local Enetx,Enety,s,dx,dy,r,c;

  Enetx := 0.0;
  Enety := 0.0;

  for s in S do
    dx := px-s[2];
    dy := py-s[3];

    r  := sqrt(dx*dx + dy*dy);
    c  := 8.99E9*s[1] / (r*r*r);

    Enetx := Enetx + c * dx;
    Enety := Enety + c * dy;
  od;

  return [Enetx,Enety];
end:

#=====================================================
compute_bounds := proc(movements,q,S,radiusp,xminp,xmaxp,yminp,ymaxp,qmaxp)
#=====================================================
  local movement,s,side_length,xcenter,ycenter,
        radius,xmin,xmax,ymin,ymax,qmax;

  xmin := movements[1][1];
  xmax := movements[1][1];
  ymin := movements[1][2];
  ymax := movements[1][2];

  for movement in movements do
    xmin := min(xmin,movement[1]);
    xmax := max(xmax,movement[1]);
    ymin := min(ymin,movement[2]);
    ymax := max(ymax,movement[2]);
  od;

  for s in S do
    xmin := min(xmin,s[2]);
    xmax := max(xmax,s[2]);
    ymin := min(ymin,s[3]);
    ymax := max(ymax,s[3]);
  od;

  side_length  := max(abs(xmax-xmin),abs(ymax-ymin))/(1-4/30);
  radius       := side_length/30;
  xcenter      := (xmin+xmax)/2;
  ycenter      := (ymin+ymax)/2;
  xmin := xcenter-side_length/2;
  xmax := xcenter+side_length/2;
  ymin := ycenter-side_length/2;
  ymax := ycenter+side_length/2;

  qmax := abs(q);
  for s in S do
    qmax := max(qmax,abs(s[1]));
  od;

  radiusp := radius;
  xminp   := xmin;
  xmaxp   := xmax;
  yminp   := ymin;
  ymaxp   := ymax;
  qmaxp   := qmax;

  return;
end:

#=====================================================
draw_background := proc(xmin,xmax,ymin,ymax)
#=====================================================
  return plottools[rectangle]([xmin,ymax],[xmax,ymin],color=black);
end:

#=====================================================
draw_legend := proc(xmin,xmax,ymin,ymax,qmax)
#=====================================================
  local k,width,plot_legend,i,c;

  k := 18;
  width := (xmax-xmin)/k;

  plot_legend := TEXT([xmin-width,ymin-width],`-`,
                      FONT(COURIER,BOLD,11)),
                 TEXT([xmax+width,ymin-width],`+`,
                      FONT(COURIER,BOLD,11));

  for i from 1 to k do
    c := get_color(qmax,-qmax+2*qmax/(k-1)*(i-1));
    plot_legend := plot_legend,plottools[rectangle]([xmin+width*(i-1),ymin-width/2],
                                                    [xmin+width*i,    ymin-width/2*3],
                                                    color=c);
  od;

  return plot_legend;
end:

#=====================================================
draw_stationary := proc(S,radius,qmax)
#=====================================================
  local plot_stationary,s;

  plot_stationary := [];
  for s in S do
    plot_stationary := [op(plot_stationary),
                        plottools[disk]([s[2],s[3]],radius,color=get_color(qmax,s[1]))];
  od;

  return PLOT(op(plot_stationary));
end:

#=====================================================
draw_movements := proc(movements,radius,qmax,q,num_moves_per_frame)
#=====================================================
  local D,plot_movements,i;

  D := plottools[disk]([0,0],radius,color=get_color(qmax,q));
  plot_movements := [];

  for i from 1 by num_moves_per_frame to nops(movements) do
    plot_movements := [op(plot_movements),
                       [shift_disk(D,movements[i][1],movements[i][2])]];
  od;

  return PLOT(ANIMATE(op(plot_movements)));
end:

#=====================================================
shift_disk := proc(D,x,y)
#=====================================================
  return POLYGONS(map(xy -> [xy[1]+x,xy[2]+y],op(1,D)),op(2,D));
end:

#=====================================================
get_color := proc(qmax,q)
#=====================================================
  local color;

  if q > 0 then
    color := COLOR(RGB,1,1-q/qmax,0)
  else
    color := COLOR(RGB,0,1-abs(q)/qmax,1)
  fi;

  return color;
end:
потом

Код
>    	move_particle(M,S,T);
где
M: информация движущейся частицы = [маса, заряд, позиция по x, позиция поy, стартовая скорость по x, стартовая скорость по]
S: инфа об стационарных частицах = [[заряд 1 частицы, позиция по x 1 частицы, позиция по y 1 частицы], [заряд 2 частицы, позиция по x 2 частицы, позиция по y 2 частицы], ...]
T: время симуляции
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
11.06.2011, 17:57 13
Формулу для напрженности от одной пластины. Ось y перпендикулярна пластины и проходит через ее угол, оси x и z в одной плоскости с пластиной и лежит каждай на своей стороне.
https://www.cyberforum.ru/cgi-bin/latex.cgi?Ex = \int_{0}^{Xmax}\int_{0}^{Zmax}\frac{kp(x-Xo)dxdz}{\sqrt{((Yo)^2+(x-Xo)^2+(z-Zo)^2)^3}}
https://www.cyberforum.ru/cgi-bin/latex.cgi?Ez = \int_{0}^{Xmax}\int_{0}^{Zmax}\frac{kp(z-Zo)dxdz}{\sqrt{((Yo)^2+(x-Xo)^2+(z-Zo)^2)^3}}
https://www.cyberforum.ru/cgi-bin/latex.cgi?Ey = \int_{0}^{Xmax}\int_{0}^{Zmax}\frac{kpydxdz}{\sqrt{((Yo)^2+(x-Xo)^2+(z-Zo)^2)^3}}
Xmax, Zmax - линейные размеры пластины. p - поверхностная плотность заряда.
Добавлено через 49 секунд
Цитата Сообщение от za5 Посмотреть сообщение
да, поле магнита и соленоида можно считать почти эквивалентными.
только непонятно как твой кусок магнита можно аппроксимировать витками, тогда витки будут наворачиваться на что-то, вопрос в какое число витков
Тогде еще проще, можно взять просто магнитное поле магнитного диполя.

Добавлено через 3 минуты
Цитата Сообщение от za5 Посмотреть сообщение
чтобы не нарушать авторские права препода как автора))), кинул ссылку в лс.
там решена задача нахождения компонент магнитного поля соленоида. и ещё doc файл полезный тоже кинул.
короче говоря, твоя задача решена, а вот перенести с мэпла на c# не так просто получится, численное интегрирование самому писать и т.д.
Численное интегрирование тут зло, эти формулы находятся аналитически.
1
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
11.06.2011, 18:04 14
Цитата Сообщение от KuKu Посмотреть сообщение
Тогде еще проще, можно взять просто магнитное поле магнитного диполя.
а если у нас магнит - куб с рёбрами 1 метр) (с вырезом, например)

Цитата Сообщение от KuKu Посмотреть сообщение
Численное интегрирование тут зло, эти формулы находятся аналитически.
я знаю, что лучше аналитичеки, в примере, который я высылал автору этой темы, там это как раз делается в мэпле. если что, могу выслать.


я, кстати, по таким же формулам считал (компоненты E)
1
13 / 13 / 1
Регистрация: 08.06.2011
Сообщений: 52
11.06.2011, 18:08  [ТС] 15
я правильно понял?) єто формулы зависимости вектора напряженности электрического поля в точке (x,y,z) относительно абсолютно плоского конденсатора с длинной zmax и шириной xmax?
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
11.06.2011, 18:14 16
Цитата Сообщение от crazyone Посмотреть сообщение
я правильно понял?) єто формулы зависимости вектора напряженности электрического поля в точке (x,y,z) относительно абсолютно плоского конденсатора с длинной zmax и шириной xmax?
У вас нет конденсатора, в конденсаторе поле равномерное, тут далеко нет. Это поле которое создает одна пластина.

Добавлено через 1 минуту
Цитата Сообщение от za5 Посмотреть сообщение
а если у нас магнит - куб с рёбрами 1 метр) (с вырезом, например)
А вы знаете как накрутить соленоид чтобы он смог заменить намагниченный куб? И куб будет хоть как диполь.
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
11.06.2011, 18:20 17
Цитата Сообщение от KuKu Посмотреть сообщение
И куб будет хоть как диполь.
может быть, но тут ещё немало подумать надо, иначе так бы все и делали и забыли про эти соленоиды или просто контуры какие-либо, и лепили бы везде магнитные диполи
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
11.06.2011, 18:28 18
Обычные магниты, какие там токи и соленоиды - их там нет? А характеризуются они намагниченностью, что и есть диполь. Да и о чем тут говорить, когда вы рассчитываете поле соленоида по формуле Био-Савара, вы формально считаете поле суммарного диполь образуемоего контуром с током.
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
11.06.2011, 18:33 19
Цитата Сообщение от KuKu Посмотреть сообщение
Обычные магниты, какие там токи и соленоиды - их там нет? А характеризуются они намагниченностью, что и есть диполь. Да и о чем тут говорить, когда вы рассчитываете поле соленоида по формуле Био-Савара, вы формально считаете поле суммарного диполь образуемоего контуром с током.
да, но я говорю сейчас о применимости приближения реального магнита одним диполем, вместо приближения соленоида
0
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
11.06.2011, 18:38 20
А что по вашему такое магнит? Это сумма маленьких дипольчиков, образующих один большой. Не замечали в любом магните есть ярко выраженный север и ярко выраженный юг - чем вам не диполь?
0
11.06.2011, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2011, 18:38
Помогаю со студенческими работами здесь

Найти отношение индукции магнитного поля.
Правило 2.6. Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее...

Определить вектор индукции магнитного поля
Определить вектор индукции магнитного поля образованного системой тонких проводников в точке А,...

Записать формулу для индукции магнитного поля
Магнитное поле создано элементом тока Idl. Запишите формулу для индукции dB магнитного поля,...

Определение индукции и напряженности магнитного поля в точке
Ребята,помогите пожалуйста решить задачу: По двум длинным параллельным проводам, расстояние между...

Теорема о циркуляции векторов магнитной индукции и напряжённости магнитного поля
Сформулируйте пожалуйста теорему.

Найти вектор магнитной индукции магнитного поля в центре ромба.
В проводнике, имеющем вид ромба, течёт ток силой 1 А. Сторона ромба 1 см, углы 60° и 120°. Найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru