Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Numeryczne symulacje przepływu i symulacje cząsteczkowe. Filmik.

0 views
Skip to first unread message

Jan Górski

unread,
Oct 5, 2009, 11:44:29 AM10/5/09
to
Ostatnio zauważyłem, że pojawiają się fajne symulacje cieczy bazujące
na cząsteczkach ( particles ). Ciekawi mnie jak to jest zrobione. Ktoś
próbował ?

http://www.youtube.com/watch?v=RSak5h7by74&feature=related

Ja ostatnio zmajstowałem podobną symulację opartą na punktach masowych
połączonych sprężynami. Tutaj, wydaje się, 'sprężyny' reagują tylko na
zbytnie zbliżenie obiektów. Jak realizuje się interakcję z punktami
otaczającymi ? Jakieś tablice indeksujące cząstki w okolicy? Bo
algorytm wyszukiwania N-najbliższych cząstek jest przecież za wolny. A
optymalizacja wydaje się niezła, zważywszy, że jest to java.

Z tym, że chyba żadnych skomplikowanych struktur charakterystycznych
dla cieczy się nie uzyska, jak na przykład karman vortex, co da się
łatwo napisać warunkując spełnienie równania ciągłości (metoda
SIMPLE).

http://www.youtube.com/watch?v=ib-jo-nFxgM

arturbac

unread,
Oct 5, 2009, 2:15:10 PM10/5/09
to
Jan G�rski pisze:
> Jak realizuje siďż˝ interakcjďż˝ z punktami
> otaczaj�cymi ? Jakie� tablice indeksuj�ce cz�stki w okolicy? Bo
> algorytm wyszukiwania N-najbli�szych cz�stek jest przecie� za wolny.

R-Tree ?


Mateusz Loskot

unread,
Oct 5, 2009, 3:11:23 PM10/5/09
to
arturbac wrote:
> Jan Górski pisze:

>> Jak realizuje się interakcję z punktami
>> otaczającymi ? Jakieś tablice indeksujące cząstki w okolicy? Bo
>> algorytm wyszukiwania N-najbliższych cząstek jest przecież za wolny.
>
> R-Tree ?

Ogólniej?

http://gist.cs.berkeley.edu/gist1.html

Pozdrawiam
--
Mateusz Loskot, http://mateusz.loskot.net
Charter Member of OSGeo, http://osgeo.org

Mariusz Marszałkowski

unread,
Oct 5, 2009, 4:00:29 PM10/5/09
to
arturbac <artur_no_spam@no_spam.ebasoft.com.pl> napisaďż˝(a):

Chyba zale�y jak "g�sto" s� u�o�one cz�stki. Je�li cz�stki s� umieszczone w
dwuwymiarowej tablicy NxM i du�o (np. 90%) element�w tablicy jest zajmowanych
przez jak�� cz�stk�, to indeksowanie nie wiele pomo�e.

Pozdrawiam


--
Wys�ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Szymon Malinowski

unread,
Oct 6, 2009, 2:58:09 AM10/6/09
to
Jan G�rski pisze:
> Ostatnio zauwa�y�em, �e pojawiaj� si� fajne symulacje cieczy bazuj�ce
> na cz�steczkach ( particles ). Ciekawi mnie jak to jest zrobione. Kto�
> pr�bowa� ?
>
> http://www.youtube.com/watch?v=RSak5h7by74&feature=related
>
> Ja ostatnio zmajstowa�em podobn� symulacj� opart� na punktach masowych
> po��czonych spr�ynami. Tutaj, wydaje si�, 'spr�yny' reaguj� tylko na
> zbytnie zbli�enie obiekt�w. Jak realizuje si� interakcj� z punktami

> otaczaj�cymi ? Jakie� tablice indeksuj�ce cz�stki w okolicy? Bo
> algorytm wyszukiwania N-najbli�szych cz�stek jest przecie� za wolny. A
> optymalizacja wydaje si� niez�a, zwa�ywszy, �e jest to java.
>
> Z tym, �e chyba �adnych skomplikowanych struktur charakterystycznych
> dla cieczy si� nie uzyska, jak na przyk�ad karman vortex, co da si�
> �atwo napisa� warunkuj�c spe�nienie r�wnania ci�g�o�ci (metoda
> SIMPLE).
>
> http://www.youtube.com/watch?v=ib-jo-nFxgM

Og�lnie podejsc czasteczkowych (lagraznzowakch)jest mnostwo i nie sa
bynajmniej dzielem oststnich lat, choc w wiekszosci zastosowan
"klasyczne" rozwiazywanie numeryczne rownan hydrodynamiku metodami
eulerowskimi i (semi)lagranzowskimi jest nie do zastapienia.
Poczytaj np. http://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics
http://en.wikipedia.org/wiki/Dissipative_particle_dynamics
a nawet
http://en.wikipedia.org/wiki/Molecular_dynamics

W dwuwymiarowej hydrodynamice stosuje sie tez fajna forme modelowania
przeplywow pray pomocu specyficznych "czastek", tzw. wirow punktowych,
nazywa sie to "vortex methods" alo "discrete vortex methods", np:
http://www.cambridge.org/us/catalogue/catalogue.asp?isbn=9780521061704
Pozdrawiam
SM

mgk

unread,
Oct 7, 2009, 3:53:45 AM10/7/09
to

> R-Tree ?

Nie bylbym pewien. R-Tree jest dobre dla statycznej geometri gdzie raz
budujemy drzewo. Tutaj przy kazdej iteracji musimy drzewo przebudowac.
Ale z drugiej strony nie widze tez nic sensowniejszego. I tak
zbudowanie za kazdym razem drzewa bedzie szybsze niz liczenie tego
jakims brute forcem. Ale np moze juz nie byc szybsze niz poprostu
podzielenie przestrzeni na MxNxK sektorow. Gorsze niz R-tree ale nie
wymaga generowaniad drzewa. Trzeba by potestowac oba podejscia i
zobaczyc ktore szybsze.

Jan Górski

unread,
Oct 7, 2009, 7:55:47 AM10/7/09
to

Cząsteczka mogłaby być strukturą zawierającą masę,pozycje i prędkość.

Wydaje się, że indeksowanie w tabeli będzie szybsze. Zwłaszcza, że
indeksuje się w zasadzie tylko liczbę cząsteczek w danej przestrzeni
(gęstość). Problemem tu jest wykonanie operacji dzielenia i
'rzutowania' współrzędnych symulacji, na komórki tabeli. Dalej na tym
operuje się kernelem konwolucyjnym znajdując gradienty.

Dzielenie typu int można zastąpić przesunięciem bitowym, dlatego
dobrze, aby wielkość symulacji podzielona przez wielkość tabeli była
potęgą 2, podobnie dobrze, aby wymiary tabeli były potęgami 2, a
dostęp do nich był sekwencyjny.


Spotkałem się ze stwierdzeniem, że dla dużych tablic wymiar będący
potęgą 2 jest obarczony dużym zwolnieniem prędkości. Czy ktoś wie
dlaczego ?

Jeśli chodzi o to podejście to postaram się napisać algorytm w c++ i
podrzucić tu kod. Może uda się to jakoś wspólnie zoptymalizować.

Mariusz Marszałkowski

unread,
Oct 7, 2009, 3:10:54 PM10/7/09
to
On 7 Paź, 13:55, Jan Górski <janlgor...@gmail.com> wrote:

> Jeśli chodzi o to podejście to postaram się napisać algorytm w c++ i
> podrzucić tu kod. Może uda się to jakoś wspólnie zoptymalizować.

Fajne zadanie, sam bym się pobawił gdybym miał czas :)
Na początku optymalizacją zapisu się nie przejmuj za bardzo, napisz
porządnie, bez błędów, żeby był ładny efekt. Jak zacznie działać
to dopiero wtedy można pomyśleć o optymalizacji.

Pozdrawiam

Jan Górski

unread,
Oct 18, 2009, 1:30:08 PM10/18/09
to
Napisałem, narazie na kartce krótki artykulik jak możnaby to zrobić.
Dostępny tutaj :

http://gdlpogoda.republika.pl/ParticleSimulation.pdf


Po części jest to coś przeczytane ( PIC - particle in cell ), po
części powymyślane. Proszę o sugestie, co tu pozmieniać i czy to się
nadaje na implementację, czy może należy coś dopracować w teorii.

Mariusz Marszałkowski

unread,
Oct 18, 2009, 5:26:39 PM10/18/09
to

Zazdroszczę zabawy efektami cząsteczkowymi :) Niestety nie mam czasu
aby samemu coś napisać :)

Pozdrawiam

Mateusz Loskot

unread,
Oct 21, 2009, 5:33:41 AM10/21/09
to
"Jan G�rski" <janlg...@gmail.com> wrote in message
news:8aae97b1-7b7d-4d4a...@k17g2000yqb.googlegroups.com...
> Napisa�em, narazie na kartce kr�tki artykulik jak mo�naby to zrobi�.
> Dost�pny tutaj :
>
> http://gdlpogoda.republika.pl/ParticleSimulation.pdf
>


tabele vs tablice

Pozdrawiam
--
Mateusz Loskot, http://mateusz.loskot.net

pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ
C++ FAQ: http://parashift.com/c++-faq-lite

Jan Górski

unread,
Oct 21, 2009, 9:10:30 AM10/21/09
to
> tabele vs tablice

Racja, ale jesli tylko to rzucilo sie w oczy jako blad, to w takim
razie nie jest zle.

Mateusz Loskot

unread,
Oct 22, 2009, 5:40:14 AM10/22/09
to
"Jan Górski" <janlg...@gmail.com> wrote in message
news:d79fa699-375a-483c...@d23g2000vbm.googlegroups.com...

>> tabele vs tablice
>
> Racja, ale jesli tylko to rzucilo sie w oczy jako blad, to w takim
> razie nie jest zle.


Przeleciałem tekst szybko do kawy, nie analizowalem głebiej,
więc ostrożnie ;-)

0 new messages