HI obálky jsou struktury v mezihvězdné hmotě v galaxiích. Vznikají při uvolnění velkého množství energie - řádově 1051-1054 ergů. Mechanismem může být např. činnost OB asociace (exploze supernov a hvězdný vítr), dopad trpasličí galaxie nebo vysokorychlostního plynného oblaku na galaktický disk, nebo událost, která vede ke vzniku gamma záblesku. Vznikne tak jakási bublina o poloměru 10-1000 pc vyplněná řídkým horkým plynem, téměř veškerá hmota je soustředěna na jejím povrchu. Obálka se rozpíná a akreuje na sebe další hmotu a může se stát gravitačně nestabilní a začít fragmentovat.
Článek se zabývá nelineární analýzou gravitačních nestabilit těchto obálek. Výsledkem úprav hydrodynamických rovnic a Poissonovy rovnice je soustava tří diferenciálních rovnic pro tři komplexní veličiny (amplitudy), které popisují časový vývoj tří nejméně stabilních modů povrchové hustoty, které mají všechny stejnou velikost a jsou vzájemně skloněny o 60 stupňů. Pro povrchovou hustotu tedy máme:
sigma(Theta) = sig(xi ) * exp(i*(eta,Theta)) + sig(xi+) * exp(i*(eta+,Theta)) + sig(xi-) * exp(i*(eta-,Theta))kde sig() je funkce, která přepočítává bezrozměrné komplexní amplitudy xi, xi+ a xi- na amplitudy hustoty, eta, eta+ a eta- jsou vlnové vektory (vzájemně skloněné o 60 stupňů) odpovídajících modů a Theta = (Thetax, Thetay) jsou souřadnice na povrchu obálky.
Výsledkem numerického řešení diferenciálních rovnic je soubor, který obsahuje časový vývoj amplitud jednotlivých modů (první sloupec čas, dalších šest sloupců hodnoty amplitud).
velocity(Theta) = vel(xi ) * exp(i*(eta,Theta)) + vel(xi+) * exp(i*(eta+,Theta)) + vel(xi-) * exp(i*(eta-,Theta))Veličiny mají podobný význam jako v případě povrchové hustoty, jen funkce vel() vrací 2D vektor.
Výpočet zajišťuje procedura vel_field, která podobně jako sig_surf nejdříve zavolá read_data, pak make_vel, která s pomocí funkcí get_v, get_v_eta, get_v_epl, get_v_emi vypočítá rychlostní pole v_field (tentokrát je čtyřrozměrné - čas, 2 souřadnice polohy, x nebo y složka rychlosti) a nakonec toto rychlostní pole vykreslí.
K vykreslení je tentokrát použita knihovní procedura velovect spolu s procedurou contour, která do obrázku přidá pro porovnání "vrstevnice" hustoty. Zde se objevil drobný problém se správným sesazením obrázků do sebe, protože procedura velovect, která se stará o nakreslení rychlostního pole, není zřejmě zcela standardní součástí IDL (alespoň verze 4) a nerozumí běžným grafickým klíčovým slovům jako např. [xy]range, [xy]style apod.
sigma(eta, t) ~ exp(omega(eta,t)*t)Pro expandující obálky se dá omega určit jako funkce poloměru R(t) a expanzní rychlosti V(t) a vlnového čísla eta.
Definuje se také tzv. fragmentační integrál:
kde tb je začátek nestability. Fragmentační integrál tedy znamená něco ve smyslu "jak
dlouho a jak hodně" byla obálka nestabilní. Jestliže tato bezrozměrná veličina dosáhne
pro určitou vlnovou délku jisté rozumné hodnoty (např. 1), můžeme říci, že fragmenty této
vlnové délky měly dostatek času se vyvinout. Jedním z cílů článku bylo prověřit toto poněkud
volněji definované kritérium přesnější nelineární analýzou. Proto bylo potřeba zobrazit
fragmentační integrál jako funkci eta a času.
Jeho výpočet a vykreslení provádí procedura i_frag. Nejdříve volá read_data, pak make_oe, která vypočítá z fyzikálních parametrů (R, V, apod) omega(eta, t) -> výsledek uloží do 2D pole omega_eta. Dále se volá procedura make_ifrag, která provede vlastní integraci s pomocí knihovní procedury IDL int_tabulated. Nakonec se pomocí procedury contour vykreslí výsledek.