2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3  След.
 
 Точки и гравитационная энергия.
Сообщение21.07.2011, 06:38 


23/04/11
8
Здравствуйте. Я не силен в физике, пожалуйста помогите разобраться со следующим:
Представим себе, что заданные точки фиксированы, а другие точки "ищут" положение статического равновесия, так, чтобы итоговая конфигурация удовлетворяла принципу максимума потенциальной гравитационной энергии (массы точек считаются равными, а потенциальна гравитационная энергия отрицательна).
. .
. .
. .

Черные точки фиксированы, а красные ищут положение равновесия. Я хочу это реализовать программно, но для этого надо разобраться в теории. Что почитать, где посмотреть? А каком принципе говорится и как это интерпретировать?
Заранее спасибо!

-- Чт июл 21, 2011 10:41:35 --

Схема на скорую руку не удачная получилась, но я думаю вы поняли смысл.

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 07:24 


07/06/11
1890
evg! в сообщении #470115 писал(а):
а другие точки "ищут" положение статического равновесия, так, чтобы итоговая конфигурация удовлетворяла принципу максимума потенциальной гравитационной энергии

Вообще-то любая система стремится к минимуму энергии.

evg! в сообщении #470115 писал(а):
Я хочу это реализовать программно, но для этого надо разобраться в теории

Я как-то пытался симулировать движение массивной частицы в поле, с потенциальной энергией, если хотите могу вам код привести, но тут думаю можно обойтись без сильной теории. Вам надо правильно написать функцию которая определяет напряженность поля в точке и после чего уже просто численно рассчитывать траекторию скажем методом конечных приращений.
Ну то есть если у вас есть начальные радиус-вектор точки и начальный импульс, то взяв интервал времени скажем $\Delta t=0.1$ вы можете сказать, что за это время радиус вектор точки $ \vec r_0 \to \vec r_0 + \frac{\Delta p}{\Delta t} * \Delta t $, а $ \frac{\Delta p}{\Delta t}=m* F(r_0) $, где $F(r)$ функция, возвращающая значение напряженности в токе, а m - масса частицы.

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 08:06 


23/04/11
8
Спасибо за ответ. Хотелось бы посмотреть код. Как я уже писал - в физике не силен, если что не ругайте. Я представляю себе так: заданы координаты фиксированных точек, мы рандомом кидаем куда то внутрь (между ними) несколько точек, которые под силой гравитации начинают движение, пока полученная система не придет в равновесие и точки не перестанут двигаться (или их движение замедлиться и станет относительно малым за единицу времени???). Правильно я думаю или нет? Какие формулы посмотреть, что бы организовать итерационный процесс?

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 08:32 


07/06/11
1890
Код:
type vec=array[1..2] of real;
var r,p:vec;
m,t,dt,tf:real;
i:integer;
input,output:text;

function f(r:vec):vec;
var i:integer;
begin
for i:=1 to 2 do
   if r[i]=0 then f[i]:=0 else f[i]:=-m/r[i];
end;

begin
assign(input,'input.dat');
assign(output,'output.dat');
reset(input);
rewrite(output);
for i:=1 to 2 do
read(input,r[i]);
for i:=1 to 2 do
read(input,p[i]);
readln(input,m,tf);
t:=0;dt:=0.1;
while t<=tf do
   begin
   for i:=1 to 2 do p[i]:=p[i]+f(r)[i]*dt;
   //writeln(output,f(r)[1]:0:5,' ',f(r)[2]:0:5);
   for i:=1 to 2 do r[i]:=r[i]+p[i];
   t:=t+dt;
   writeln(output,r[1]:0:0,' ',r[i]:0:0);
   end;

close(input);
close(output);
end.


evg! в сообщении #470131 писал(а):
Правильно я думаю или нет?

Правильно.

evg! в сообщении #470131 писал(а):
Какие формулы посмотреть, что бы организовать итерационный процесс?

Можно самую простую, известную из школьного курса физики.
$ x = x_0 + \frac{p}{m} t + \frac{e(x)}{2} t^2 $
И так для каждой координаты.
$e$ это буде функция, возвращающая значение напряженности поля в точке, $p$ - проеэкция импульса на данную ось, $m$ - масса частицы.
Тогда можно реализовать такой алгоритм.
Код:
read(x, p); // считали начальную координату и импульс
dt:=0.1; // задали шаг времени
t:=0; // и счётчик времени
while t<100 do
   begin
   x:=x+p/m*dt+e(x)/2 *dt*dt; // сдвинули точку
   p:=p+m*e(x); // импульс точки тоже изменился
   t:=t+dt; // увеличили время
   writteln(x); // ну и выдали результат
   end;


-- 21.07.2011, 11:44 --

В принципе можно и более обще подойти к решению.
Напишем выражение для энергии частицы в поле одной частицы, для простоты
$ E= \frac{m}{2} v^2 + \frac{a}{r} $, $a$ - это будет параметр поля, который вообще говоря равен $ a = G M$. Скорость $ v= \frac{dr}{dt} $, и $ v^2 =\frac{dr^2}{dt^2}=\frac{dx^2+dy^2}{dt^2} $, а в полярных координатах $ v^2 = \frac{dr^2}{dt^2} + r^2 \frac{d\phi^2}{dt^2}=\dot r^2 + r^2 \dot \phi^2 $. Так ка сила, не зависит от угла, то $ \dot phi^2= const= \psi$ и тогда $ E= \frac{m}{2}(\dor r^2 + \psi^2 r^2) + \frac{a}{r} $ это дифференциальное уравнение. Преобразуем его
$$  E - \frac{m}{2} r^2 \psi^2 - \frac{a}{r}= \left( \frac{dr}{dt} \right )^2 $$
$$  \sqrt{ E- \frac{m}{2} r^2 \psi ^2 - \frac{a}{r} }= \frac{dr}{dt} $$
$$ \int\limits_0^t dt=\int\limits_{r_0}^r dr \left(E- \frac{m}{2} r^2 \psi ^2 - \frac{a}{r} \right)^{-\frac{1}{2}} $$
Сможете численно его решить - получите зависимость расстояния от центра поля до точки. Если поле задают несколько закреплённых точек, то дифур куда сложнее
$$ E= \frac{m}{2}(\dot r^2 + r^2 \dot \phi^2) + \sum\limits_{k=1}^{n} \frac{a_n}{\lvert \vec r - \vec r_n \rvert} $$, где $ \vec r_n $ радиус вектор n-ной точки, И обощая на случай непрерывного распределения
$$ E= \frac{m}{2}(\dot r^2 + r^2 \dot \phi^2) + \int\limits_{V} \frac{\rho(\vec r)}{\lvert \vec r - \vec r_n \rvert} dr $$, и интегрирование идёт по всей области, где $ \rho(\vec r) \not =0 $

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 10:41 


14/04/11
521
Я так понял человеку нужно не движение а положение равновесия. Тогда надо искать максимум$\sum\frac{m_i}{|\vec{r_i}|}$ тут $|\vec{r_i}|$ - расстояние от пробной точки до i-й массы. Можете действительно просто рандомно перебирать точки и вычислять для них эту функцию.

Если вы хотите анимировать процесс поиска равновесия, то помимо того, что описал EvilPhysicist
надо добавить силу трения, иначе пробные точки будут двигатся по орбитам проскакивая положения равновесия

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 11:07 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Проблема только в том, что для гравитационного притяжения положения равновесия (устойчивого) не будет, а скорости при моделировании будут не уменьшаться, а только возрастать. Приятного моделирования!

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 12:53 


14/04/11
521
нда если немного подумать, то глобальный максимум та функция не может достигнуть т.к. при стремлении $ r_i$ к нулю она будет возрастать неограниченно =) равновесие которое вы ищите будет всегда перегибом такой функции, но не максимумом или минимумом. беда=( придется просто вычислять градиент в каждой точке и искать где он близок к нулю!

Если пытатся моделировать движение с трением, то тело будет всегда падать на массы и почти невероятно, что оно останется в локальном равновесии

-- Чт июл 21, 2011 13:58:36 --

Чтобы визуализировать можно сделать вот: что взять функцию "модуль градиента той функции". И методом градиентного спуска искать его нулевое значение. Перемещая точку на экране соответственно. К реальному движению тела это не будет иметь, правда никакого отношения=)

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:08 


07/06/11
1890
Можно вычислить потенциал поля и сравнивать его с начальной энергией частицы. В тех областях, где он будет не больше начальной энергии - там частица будет совершать движение.
В той конфигурации, что вы указали вначале, даже при маленьких энергиях частицы будут разлетаться.
А если разместить источники поля в точках скажем (0,0),(1,0),(0,1),(1,1), то у частицы с малой начальной скоростью, с начальными координатами, близкими к точке (0.5,0.5) будут совершать колебания в небольшой области между этими точками.

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:26 


14/04/11
521
EvilPhysicist в сообщении #470186 писал(а):
В тех областях, где он будет не больше начальной энергии - там частица будет совершать движение.
А причем здесь тогда равновесие?=)

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:29 


01/06/11
65
EvilPhysicist в сообщении #470186 писал(а):
А если разместить источники поля в точках скажем (0,0),(1,0),(0,1),(1,1), то у частицы с малой начальной скоростью, с начальными координатами, близкими к точке (0.5,0.5) будут совершать колебания в небольшой области между этими точками.

А у вас точно силы притяжения, а не отталкивания действуют? Точка (0.5,0.5) для системы с притяжением - точка неустойчивого равновесия и никаких колебаний там быть не может

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:32 


14/04/11
521
DenisKolesnikov
я уже понял что даже с положительными и отрицательными закрепленными зарядами не может существовать устойчивого равновесия ни в какой конфигурации(не в точках самих зарядов, конечно). могу доказать если хотите, но это будет оффтоп

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:39 


07/06/11
1890
Morkonwen в сообщении #470189 писал(а):
А причем здесь тогда равновесие?=)

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

DenisKolesnikov в сообщении #470191 писал(а):
Точка (0.5,0.5) для системы с притяжением - точка неустойчивого равновесия и никаких колебаний там быть не может

Только если у неё не будет скорости. Иначе она будет колебаться.

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:39 


01/06/11
65
Morkonwen

(Оффтоп)

Не, доказывать мне не надо, эт я знаю:)


EvilPhysicist в сообщении #470196 писал(а):
Только если у неё не будет скорости. Иначе она будет колебаться.

Если у нее будет скорость, то она упадет на одну из закрепленных точек. Ну или будет вращаться вокруг нее. Обратно в центр исследуемая точка уже не вернется

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 13:52 


07/06/11
1890
DenisKolesnikov в сообщении #470197 писал(а):
Если у нее будет скорость, то она упадет на одну из закрепленных точек

Может и не упасть. Например при малой массе закрепленных точек или при большой скорости незакрепленной точки.

 Профиль  
                  
 
 Re: Точки и гравитационная энергия.
Сообщение21.07.2011, 14:04 
Заслуженный участник
Аватара пользователя


30/01/06
72407
EvilPhysicist в сообщении #470196 писал(а):
При том, что состояние равновесия если и будет возможно то только на границах этих областей и оно будет не устойчиво. По этому разумнее рассматривать ещё и положения, в которых точки будут совершать колебания.

Вы правильно понимаете, что экстремумы не будут положениями устойчивого равновесия. Но дальше ошибаетесь, считая, что вокруг положений неустойчивого равновесия возможны малые колебания. Помедитируйте над уравнением $\ddot{x}=kx,$ $k>0.$ Какой вид имеют его решения?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2, 3  След.

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group