PA081: Programování numerických výpočtů PA081: Programování numerických výpočtů 11. Simulace dynamických dějů Metody integrace jaro 2011 Silové interakce molekul 4 □ ► 4 rji ► 4 : PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Model interakce molekul Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 2/28 Model interakce molekul ► dvě molekuly ► pevná, velká - receptor ► menší, pohyblivá - ligand ► pohyblivou molekulu ovládáme ► myš a klávesnice, zařízení silové zpětné vazby ► molekuly silově interagují ► přitažlivé i odpudivé síly ► každý atom s každým ► význam ► nalezení místa, kde si ligand „sedne" ► pochopení vlastností interakce v okolí ► simulace musí působit důvěryhodně ► co nejdokonalejší iluze manipulace s reálnými objekty PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 3/28 Zařízení silové zpětné vazby ► vyvinula se z teleoperátorů ► manipulace na dálku, např. v nebezpečném prostředí ► manipulace s virtuálním prostředím ► impedanční (odporové) ► zařízení snímá polohu, případně rychlost ► působí vypočtenou silou ► modelovaný systém je vyjádřen jako „odpor" - silová reakce systému na změnu polohy ► admitanční (vodivostní) ► zařízení snímá silové působení ► přesune se do vypočtené polohy ► modelovaný systém je vyjádřen jako „vodivost" - ochota systému reagovat na vnější silové působení PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 4/28 Zařízení silové zpětné vazby ► v ideálním případě lze modelovat vše obojím ► vstupují nedokonalosti zařízení ► prakticky jsou impedanční zařízení lepší v modelu, kde převládá aktivita operátora Metody integrace Silové interakce molekul 5/28 Zařízení silové zpětné vazby ► v ideálním případě lze modelovat vše obojím ► vstupují nedokonalosti zařízení ► prakticky jsou impedanční zařízení lepší v modelu, kde převládá aktivita operátora ► hmat má výrazně nižší latenci než zrak ► nutná obnovovací frekvence 1 kHz ► vysoká náročnost na numerické vyhodnocení modelu PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 5/28 Přímé mapování síly ► model je de facto statický ► vstup (souřadnice zařízení) jsou přímo promítnuty do modelu ► na jejich základě je vypočtena silová interakce interakce ► síla je opět přímo aplikována na zařízení ► např. kolize dvou koulí, modelujeme tvrdou pružinou PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 6/28 Přímé mapování síly ► model je de facto statický ► vstup (souřadnice zařízení) jsou přímo promítnuty do modelu ► na jejich základě je vypočtena silová interakce interakce ► síla je opět přímo aplikována na zařízení ► např. kolize dvou koulí, modelujeme tvrdou pružinou ► jednoduché, přehledné, ale takhle reálný svět nefunguje ► veškeré dynamické chování (tj. jaký je efekt aplikované síly) jsme z modelu vyloučili ► zejména nedokážeme modelovat různé hmotnosti kolidujících objektů ► dynamicky se chová fyzické zařízení atd., ale to nestačí ► nezatracujeme úplně, na některé aplikace stačí Virtuální spojení ► „virtual coupling" ► manipulovaný objekt je k zařízení připojen viskoelastickým spojem paralelní pružina a tlumič F = fcAx + bAv ► silová zpětná vazba ► jakou silou má zařízení působit na operátora ► vstup pro model ► jak působí operátor na manipulovaný virtuální objekt ► tj. 3. Newtonův zákon v praxi Fyzikálně věrné modely ► cílem je modelovat virtuální svět ► ne vše se v takovém světě chová podle očekávání ► nemusíme mít ani odpovídající zkušenost ► chování modelu nemůže být zcela překvapivé ► musí odpovídat základním zkušenostem z reálného světa ► ty jsou vyjádřeny elementárními fyzikálními zákony ► platí obecně pro jakékoli modelování Fyzikálně věrné modely ► Newtonovy zákon, zejména druhý: F = ma PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 9/28 Fyzikálně věrné modely ► Newtonovy zákon, zejména druhý: F = ma ► 1. termodynamický zákon Celková energie izolovaného systému zůstává konstantní. Metody integrace Silové interakce molekul 9/28 Fyzikálně věrné modely ► Newtonovy zákon, zejména druhý: F = ma ► 1. termodynamický zákon Celková energie izolovaného systému zůstává konstantní. ► 2. termodynamický zákon Entropie izolovaného systému nikdy neklesá. ► vnímání spontánní změny, vnímání času ► každý systém má tendenci „zbavit se" své energie ► http://secondlaw.oxy.edu Kinematika a dynamika hmotného bodu Opakování středoškolské fyziky ► rovnoměrný pohyb x = vt ► rovnoměrně zrychlený pohyb v = at ► obecněji (nerovnoměrný pohyb, vektorové vyjádření) dx dv v = — a = — dt dt ► spolu s 2. Newtonovým zákonem a zavedením hybnosti P = mv dostaneme pohybové rovnice x = — = — P = — = F dt m dt ► postupné řešení (integrace) v ubíhajícím čase je simulace chování systému Kinematika a dynamika hmotného bodu Příklad - pružinový oscilátor ► hmotný bod na pružině, pohyb jen v jednom směru ► vše ostatní zanedbáno ► pohybové rovnice dy_ _ P_ dP_ dt m dt ► vede na diferenciální rovnici -ky d2y k + —y = 0 dt2 m ► řešením v R. ->■ R. je funkce Metody integrace Silové interakce molekul y (t) = c\ sin, — t + C2 cos, — t c\,C2 vyplývají z počátečních podmínek 4 ŕS ► 4 a > 4 * > Metody integrace ► ne vždy lze řešit pohybové rovnice analyticky ► nemožné, když na proces působí uživatelský vstup řešíme numerickou integrací ma~in(~int argc,char ** argv) { float km = l, p = 1, y = 0, t dt = atof(argv[l]); int i, max = 50*km/dt; for (i=0;i 0 a je konvexní, pro x e [tt, 2tt] sinx < 0 a je konkávni ► použitá derivace vždy nadhodnocuje ► výpočet do systému přidává energii pružinový oscilátor je velmi typickou komponentou modelovaných systémů je Metody integrace Silové interakce molekul Metody integrace Eulerova zpětná použijeme derivaci až v bodě t n+l yn+i = yn + At dy dt fn+l ► dosazením vede na řešení rovnice yn+i =yn + At/( ► implicitní metoda ► pro výpočet dalšího kroku musíme řešit rovnici nebo systém rovnic ► obecně nemusí být triviální Metody integrace Silové interakce molekul 15/28 Metody integrace Eulerova zpětná pro pružinový oscilátor At yn+l = y n + -Pn+1 m Pn+l = Pn- Atkyn+1 ► jednoduchý systém lineárních rovnic ► řešení lze vyjádřit analyticky a naprogramovat PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 16/28 Metody integrace Eulerova zpětná ► výstup pro At = 0.01 ► metoda také není numericky stabilní ► má sklon systém tlumit ► pro simulace v principu vyhovuje ► nutné řešení systému rovnic v každém kroku může být problém ► stabilní metody samozřejmě existují ► příliš komplikované pro naše použití Metody integrace Silové interakce molekul Kinematika a dynamika pevného tělesa ► hmotný bod je příliš zjednodušující abstrakce ► pevné těleso ► nenulový objem, nepodléhá žádným deformacím ► k popsání stavu systému jsou nutné další veličiny ► aktuální orientace (natočení) ► matice 3x3 nebo kvaternion ► úhlová rychlost ► vektor co ► velikost - rychlost rotace ► směr - osa rotace ► matice (tenzor) setrvačnosti ► analogie hmotnosti ► prostorové rozložení hmotnosti Matice setrvačnosti a úhlová hybnost ► lineární hybnost P = mv je relativně intuitivní veličina ► úhlová hybnost L = Mco už ne ► jednoduché vyjádření pohybové rovnice W) =T(t) ► analogie P(ř) = F(ř) ► pro volně rotující těleso zůstává L konstantní (co ne) ► matice setrvačnosti ► vychází z T = F x r / m(ry + rz) -mryrx ' x' y m(rx + rz) -mrzry mrxrz \ -mryrz ý m(r$ + ry) j V -mrzrx ► závisí na aktuální orientaci ► více viz http://www.cs.cmu.edu/~baraff/sigcourse/ Metody integrace Silové interakce molekul 19/28 Pohybové rovnice pevného tělesa ► stavový vektor y = (x, q, P, L)T ► x - poloha ► q - orientace ► P - lineární hybnost (vyjadřuje rychlost) ► L - úhlová hybnost (vyjadřuje úhlovou rychlost) ► rovnice ' m 1 F V ► úhlovou rychlost co vypočteme co = qíM^q-^L)) ► coq je vnoření co do prostoru kvaternionů Metody integrace Silové interakce molekul 20/28 Integrace pohybové rovnice ► složitější stabilní metody nestihneme spočítat ► dopředná Eulerova metoda nevyhovuje - nestabilní simulace ► zpětná Eulerova metoda vyžaduje řešení systému nelineárních rovnic Yn+l =Yn + Atýn+i ► semiimplicitní metoda (Otaduy, 2005) Integrace pohybové rovnice ► časovou derivaci ý chápeme jako funkci f (y) ► Taylorův rozvoj f(yw+i) = f(yJ + (V: n+l Yn) + Yn Metody integrace Silové interakce molekul 22/28 Integrace pohybové rovnice ► časovou derivaci ý chápeme jako funkci f (y) ► Taylorův rozvoj f(yw+i) = f(yJ + (Yn+l-Yn) + Yn ► zanedbáme nelineární členy a dosadíme do zpětné metody \ 3y Yn) (Yn+1 - Yn) = Atý^ Metody integrace Silové interakce molekul systém lineárních rovnic pro (yn+i - yn) 22/28 Integrace pohybové rovnice ► časovou derivaci ý chápeme jako funkci f (y) ► Taylorův rozvoj f(yw+i) = f(yJ + ay (V: n+l J n Yn) + Yn ► zanedbáme nelineární členy a dosadíme do zpětné metody \ ay Yn) (Yn+1 - Yn) = Atý„ ► systém lineárních rovnic pro (yn+1 - yn) ► musíme spočítat Jakobián df/dy ► v čase n, nikoli n+l, proto semiimplicitní metoda ► Otaduy vyjadřuje analyticky - omezené použití ► automatické derivování (příště) Metody integrace Silové interakce molekul 22/28 Silové interakce molekul ► molekulu ligandu modelujeme jako pevné těleso ► vzájemná poloha atomů se nemění ► hmotnosti atomů koncentrovány v jádrech ->• matice setrvačnosti ► silová interakce atomu vždy působí v místě jádra Silové interakce molekul ► molekulu ligandu modelujeme jako pevné těleso ► vzájemná poloha atomů se nemění ► hmotnosti atomů koncentrovány v jádrech ->• matice setrvačnosti ► silová interakce atomu vždy působí v místě jádra ► van der Waalsova - LJ potenciál 12A 6B ► elektrostatická Silové interakce molekul ► molekulu ligandu modelujeme jako pevné těleso ► vzájemná poloha atomů se nemění ► hmotnosti atomů koncentrovány v jádrech ->• matice setrvačnosti ► silová interakce atomu vždy působí v místě jádra ► van der Waalsova - LJ potenciál 12A 6B FlJ = ~~r~ři + ^7 ► elektrostatická ► n k 104 atomů receptoru, m « 100 atomů ligandu ► m x n interakcí nespočítáme lOOOx za vteřinu van der Waalsova interakce ► předvýpočet potenciálu na mřížce ► běžně používáno v chemickém software ► interpolace příliš vyhladí strmé stěny PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 24/28 van der Waalsova interakce ► předvýpočet potenciálu na mřížce ► běžně používáno v chemickém software ► interpolace příliš vyhladí strmé stěny ► díky vysokým exponentům relativně krátký dosah ► můžeme si dovolit ořez ► uvažujeme pouze dvojice atomů o vzájemné vzdálenosti menší než daná konstanta ► typicky 4-8 Á ► vypočítat m x n vzdáleností dvojic atomů je pořád příliš PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 24/28 van der Waalsova interakce ► prostor rozdělíme na pravidelné buňky ► tak, aby se „největší" atom receptoru vešel do jedné buňky ► při náhodné pozici zasahuje nanejvýš do 8 buněk ► hashovací funkce souřadnic buňky ► struktura připravená před simulací ► projdeme všechny atomy receptoru ► atomy, které padnou (i částečně) do buňky zařadíme do příslušného řádku PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 25/28 van der Waalsova interakce ► prostor rozdělíme na pravidelné buňky ► tak, aby se „největší" atom receptoru vešel do jedné buňky ► při náhodné pozici zasahuje nanejvýš do 8 buněk ► hashovací funkce souřadnic buňky ► struktura připravená před simulací ► projdeme všechny atomy receptoru ► atomy, které padnou (i částečně) do buňky zařadíme do příslušného řádku ► atom ligandu uměle zvětšíme o vzdálenost ořezu ► překryje « 10-500 buněk ► uvažujeme pouze atomy receptoru v příslušných řádcích van der Waalsova interakce ► i po ořezu zůstává příliš mnoho atomů receptoru silové působení (síla i točivý moment) jsou aditivní ► první derivace jsou také aditivní ► lze vše počítat paralelně a na závěr sečíst ► technicky používáme MPI ► musí běžet na jednom stroji nebo na velmi rychlé síti ► vysoké nároky na latenci ► rozeslání dat, výpočet, sesbírání výsledku za méně než lms Metody integrace Silové interakce molekul 26/28 Elektrostatická interakce ► nízký exponent (2) - dlouhý dosah ► nelze efektivně použít ořez ► vypočítáme silové pole na mřížce ► interpolace ořezává vysoké hodnoty ► v kombinaci s přesnou VdW interakcí to není problém ► extrémy jsou ve stejných místech ► VdW nedovolí tohoto stavu dosáhnout ► mřížka je příliš velká ► 2563 ■ 3 ■ 4B « 200MB ► adaptivní rozlišení mřížky PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 27/28 Proměnlivé tvary molekul ► statické molekuly příliš neodpovídají realitě ► při nenulové teplotě mění svůj tvar spontánně ► při vzájemné interakci se ovlivňují a mění tvar ► proměnlivý receptor ► změny tvaru nasimulovány dopředu ► hashovací struktura se musí průběžně upravovat ► mřížka elektrostatického pole jako 3D film - flac-like komprese ► proměnlivý ligand ► přidání stupňů volnosti do simulace ► vypsaná diplomová práce PA081: Programování numerických výpočtů Zařízení silové zpětné vazby Přímé mapování síly vs. dynamika Fyzikálně věrné modely Metody integrace Simulace pevného tělesa Silové interakce molekul Proměnlivé tvary molekul 28/28