wiki:u/bliu/MHDJets

Version 74 (modified by Baowei Liu, 5 years ago) ( diff )

Test runs with Small Box 4.15.2020

Try 1e-3 times small box (and jet radius) "Lx=Ly=Lz=3e-3 cm" since the Al cooling strength is high.

Common parameters:

rho_amb 1e18 1/cm3
T_amb 4320 K
rho_jet 6e18 1/cm3
T_jet 720 K
resolution no cooling log rhoAl cooling log rhoScaled Al cooling CoolingStrength/InternalEnergy*(Rjet/Vjet)

Cooling Strength 4.6.2020

Compare the Alcooling and DMcooling strength

DMcooling

 DMCoolingStrength=DMCoolingStrength*ScaleCool
}}

**Alcooling**

{{{
      ne = (6d0/7d0)*q(1)*nScale  ! number densities based on Z = 6
      nAl = (1d0/7d0)*q(1)*nScale
      logne = LOG10(ne)
      Temp = Temp/1.16045d4       ! K to eV
      logtemp = LOG10(Temp)
      AlCoolingStrength=ne*nAl*GetTableValue(AlTab, (/logtemp, logne/))/(nScale**2d0)
      AlCoolingStrength=AlCoolingStrength*ScaleCool
}}

|| Cooling Table comparison|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/Al_DM_coolingtable.png Al and DM cooling table] ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/Al_DM_coolingtable2.png Al and DM cooling table zoom] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/fiveRuns.png five runs on cooling table] ||

{{{
InternalEnergy = E-0.5*(px*px+py*py+pz*pz)/rho
ratio_CoolingStrength_InternalEnergy=CoolingStrength/InternalEnergy
ratio_CS_IE_rJet_vJet = ratio_CoolingStrength_InternalEnergy * (Rjet/Vjet/timeScale)

Rjet = 0.1 cm
Vjet = 15.69 km/s
timeScale = 2.594e-5
}}}


|| Cooling Strength ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DM_cl.png DMcooling rho=e18] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/coolingStrength.png Alcooling rho=e18] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling_coolingStrength_rho1e16.png Alcooling rho=e16] ||
|| CoolingStrength/InternalEnergy ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DMcooling_ratio_CS_InternalE_rho1e18.png DMcooling rho=e18] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling_ratio_CS_InternalE_rho1e18.png Alcooling rho=e18] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling_ratio_CS_InternalE_rho1e16.png Alcooling rho=e16] ||
|| CoolingStrength/InternalEnergy*(Rjet/Vjet)||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DMcooling_ratio_CS_IE_rjet_vjet_rho1e18.png DMcooling rho=e18]|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling_ratio_CS_IE_rjet_vjet_rho1e18.png Alcooling rho=e18] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling_ratio_CS_IE_rjet_vjet_rho1e16.png Alcooling rho=e16] ||

----

= lower density runs 4.1.2020 =
**Common parameters:**

|| rho_amb || 1e17 1/cm3 ||
|| T_amb || 4320 K ||
|| rho_jet || 6e17 1/cm3 ||
|| T_jet || 720 K ||  


----
** Resolution **
||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/res_jet.png resolution jet radius]||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/res_ps.png resolution shock]||

----


|| || T_ps (K) ||  Vjet (km/s)|| Mach ||  ||
|| Run1 || 23150 || 15.96 || 5.0528 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/mach5_compare.gif run1] ||
|| Run2 || 36700 || 20.093 || 6.3611 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/mach6_compare.gif run2] ||
|| Run3 || 58160 || 25.295 || 8.0081 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/mach8_compare.gif run3] ||
|| Run4 || 92180 || 31.845 || 10.0816 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/mach10_compare.gif run4] ||
|| Run5 || 183920 || 44.982 || 14.2407 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/mach15_compare.gif run5]||


----

= Cooling WaveLength 3.30.2020 =

Add CoolingWavenumber field

{{{
         CASE(CoolingWavenumber_Field)
            CALL cons_to_source(q)
            vg = SQRT(SUM(q(2:m_high)**2d0))
            GetField = GetCoolingStrength(q)/vg/q(iE)
            CALL source_to_cons(q)
}}}

Results:
|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DM_cooling.png DMcooling] ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Al_cooling.png Alcooling] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DM_cl.png DMcooling cooling strength] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/coolingStrength.png Alcooling cooling strength] ||

----

= Debugging Cooling Length Field 3.23.2020 =

== tests ==
|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/DMcooling.png DMcooling] ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling1.png Alcooling 1] ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling2.png Alcooling 2] ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/coolingLength/Alcooling3.png Alcooling 3] ||

== Codes ==
{{{
...
      ne = (6d0/7d0)*q(1)*nScale  ! number densities based on Z = 6
      nAl = (1d0/7d0)*q(1)*nScale
      logne = LOG10(ne)
      Temp = Temp/1.16045d4       ! K to eV
      logtemp = LOG10(Temp)
      AlCoolingStrength=ne*nAl*GetTableValue(AlTab, (/logtemp, logne/))/(nScale**2d0)
      AlCoolingStrength=AlCoolingStrength*ScaleCool

...
         CASE(CoolingLength_Field)
            CALL cons_to_source(q)
            vg = SQRT(SUM(q(2:m_high)**2d0))
            !cs = SQRT(gamma*(gamma-1d0)*q(iE)/q(1))
            !v_rel = ABS(-vg/3d0 + SQRT(4d0/9d0*vg**2d0-cs**2d0))
            !cs_floor = SQRT(gamma*FloorTemp/TempScale)
            !v = MAX(v_rel,cs_floor)
            GetField = vg*q(iE)/GetCoolingStrength(q)
            CALL source_to_cons(q)

...

   SUBROUTINE Cons_To_Source(q)
      REAL(KIND=qpREC), DIMENSION(:) :: q
      CALL ConvertTotalToInternalEnergy(q)
      !DIR$ NOUNROLL
      q(m_low:m_high)=q(m_low:m_high)/q(1)


}}}

== Alcooling functions and tables ==

See Fiducial Runs 2.6.2020 below


----

= Runs following cooling curve 2.24.2020 =

{{{

1 ev ~ 11604.5 K

points picked on the curve:
xp=[0.3 0.5 0.7 0.9 1.2]
yp=xp+log10(11604.5)

T_ps = 10^yp = 1.0e+05*[0.2315    0.3670    0.5816    0.9218    1.8392]

T_ps=0.75*M_H/K_B*Vjet^2 

M_H = 1.6733 * 1e-24;
KB = 1.380658 * 1e-16;

Vjet = sqrt(4*KB*T_ps/M_H/3);

Vjet =   1.0e+06 *[1.5960    2.0093    2.5295    3.1845    4.4982] cm/s
     = [15.96 20.093 25.295 31.845 44.982] km/s

T_jet = 720 K

mach=[5.0528    6.3611    8.0081   10.0816   14.2407]

Extend cooling table: low temperature: -> - inf
                      high temperature:  extend or flat
                      low and high density: extrapolate

}}}

|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment2/fiveRuns.png five runs on cooling table] ||

== Runs to do ==

**Common parameters:**

|| rho_amb || 1e18 1/cm3 ||
|| T_amb || 4320 K ||
|| rho_jet || 6e18 1/cm3 ||
|| T_jet || 720 K ||

**Runs:**

**!! Cooling length plot unavailable due to a bug in the function of calculating cooling length in AstroBEAR !!**
 
|| || T_ps (K) ||  Vjet (km/s)|| Mach ||  ||
|| Run1 || 23150 || 15.96 || 5.0528 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach5_exprun1.gif run1] ||
|| Run2 || 36700 || 20.093 || 6.3611 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach6_exprun2.gif run2] ||
|| Run3 || 58160 || 25.295 || 8.0081 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach8_exprun3.gif run3] ||
|| Run4 || 92180 || 31.845 || 10.0816 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach10_exprun4.gif run4] ||
|| Run5 || 183920 || 44.982 || 14.2407 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach15_exprun5.gif run5]||

== 3.4.2020 higher Temp ambient==

**!! the bug in cooling length calculation has been fixed in these runs!!**

|| rho_amb || 0.2e18 1/cm3 ||
|| T_amb || 21600 K ||
|| rho_jet || 6e18 1/cm3 ||
|| T_jet || 720 K ||

|| || T_ps (K) ||  Vjet (km/s)|| Mach || ||
|| Run6 || 23150 || 15.96 || 5.0528 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach5_higherTam_run6.gif run6] ||
|| Run7 || 36700 || 20.093 || 6.3611 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach6_higherTam_run7.gif run7] ||
|| Run8 || 58160 || 25.295 || 8.0081 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach8_higherTam_run8.gif run8] ||
|| Run9 || 92180 || 31.845 || 10.0816 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach10_higherTam_run9.gif  run9] ||
|| Run10 || 183920 || 44.982 || 14.2407 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach15_higherTam_run10.gif run10]||

== 3.6.2020 lower Temp ambient==

ambient temperature and density are the same as jets

|| rho_amb || 6e18 1/cm3 ||
|| T_amb || 720 K ||
|| rho_jet || 6e18 1/cm3 ||
|| T_jet || 720 K ||

|| || T_ps (K) ||  Vjet (km/s)|| Mach || ||
|| Run11 || 23150 || 15.96 || 5.0528 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach5_lowerTam_run11.gif run11] ||
|| Run12 || 36700 || 20.093 || 6.3611 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach6_lowerTam_run12.gif run12] ||
|| Run13 || 58160 || 25.295 || 8.0081 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach8_lowerTam_run13.gif run13] ||
|| Run14 || 92180 || 31.845 || 10.0816 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach10_lowerTam_run14.gif  run14] ||
|| Run15 || 183920 || 44.982 || 14.2407 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/experiment/mach15_lowerTam_run15.gif run15]||

----
**!! Plots for cooling length or ratio of cooling length/jet radius is not correct due to a bug in the function of calculating cooling length in AstroBEAR !!**

= Fiducial Runs 2.6.2020 =

|| runs || njet || Tjet || vjet || njet*vjet || njet*vjet*vjet  || Pjet  ||namb || Tamb || Pamb ||
|| 1 || n1=6e18 1/cm3 || T1=1.4e4 K || V1=70 km/s || n1*V1 || n1*V1*V1 || n1*T1 || n1/6 || 6*T1 || n1*T1 ||
|| 2 || n1/36 || 36*T1 || 36*V1 || n1*V1 || 36*n1*V1*V1 || n1*T1 || n1/6 || 6*T1 || n1*T1 ||
|| 3 || n1/36 || 36*T1 || 6*V1 || n1*V1/6 || n1*V1*V1 || n1*T1 || n1/6 || 6*T1 || n1*T1 ||


1. Mach 5 Heavy Jets 

|| rho_amb || 1e18 1/cm3 ||
|| T_amb || 8.4e4 K ||
|| rho_jet || 6e18 1/cm3 ||
|| T_jet || 1.4e4 K ||
|| vel_jet || 70 km/s ||

|| no cooling || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/heavy_no_cooling.gif heavy jets no cooling] ||
|| Al cooling || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/heavyJets_AlCooling_short.gif heavy jets Al cooling short run] ||

2. Mach 30 light Jets 
|| rho_amb || 1e18 1/cm3 ||
|| T_amb || 8.4e4 K ||
|| rho_jet || 0.167e18 1/cm3 ||
|| T_jet || 50.4e4 K ||
|| vel_jet || 2520 km/s ||

|| no cooling || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach30_no_cooling_2.gif mach 30 light jets no cooling] ||
|| Al cooling || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach30_Al_cooling.gif mach 30 light jets Al cooling] ||
|| || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach30_AlCooling_vs_noCooling.gif compare] ||

3. Mach 5 light Jets 
|| rho_amb || 1e18 1/cm3 ||
|| T_amb || 8.4e4 K ||
|| rho_jet || 0.167e18 1/cm3 ||
|| T_jet || 50.4e4 K ||
|| vel_jet || 420 km/s ||

|| no cooling ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach5_no_cooling.gif mach 5 light jets no cooling] ||
|| Al cooling ||[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach5_Al_cooling.gif mach 5 light jets Al cooling] ||
|| || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/fiducial_runs/mach5_Alcooling_vs_noCooling.gif compare] ||

4. Al cooling function from Eddie
[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/cooling.f90 cooling.f90];
[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/AlCooling.f90 AlCooling.f90];
[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/Alcooling.tab Alcooling.tab];
[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/newAlcooling.tab new format Al Cooling table];
[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/tables.f90 boundary condition def];
|| cooling function plot || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/FromEddie/AlCooling.png,width=250)]] ||

----

= Lab runs 2.5.2020 =
== parameters ==
|| rho_amb || 1e18 1/cm3 ||
|| rho_jet || 6e18 1/cm3 ||
|| vel_jet 1 || 60 km/s ||
|| vel_jet 2 || 80 km/s ||

 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/problem.f90 problem.f90]; 
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/global.data global.data]; 
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/physics.data physics.data];
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/problem.data problem.data];
 [https://astrobear.pas.rochester.edu/trac/wiki/OutflowObjects outflow objects]

|| No Cooling, B=0, Tjet=100k, open_angle=15 || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/newLab_noCooling_B0_T100k.gif no cooling 100k] ||
|| No Cooling, B=0, Tjet=100k, open_angle=0|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/newLab_noCooling_B0_T100k_0angle.gif no cooling 100k thin] ||
|| No Cooling, B=0, Tjet=100k, open_angle=0|| [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/wide_noCooling_B0_T100k_0angle.gif no cooling 100k wide] ||
|| No Cooling, B=0, Tjet=1000k || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/newLab_noCooling_B0_T1000k.gif no cooling 1000k] ||

----

= Lab runs before 2.5.2020 =
== parameters ==
|| rho_amb || || 1e18 1/cm3 ||
|| rho_jet || || 6e18 1/cm3 ||
|| vel_jet 1 || || 60 km/s ||
|| vel_jet 2 || || 80 km/s ||

 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/problem_old.f90 problem.f90]; 
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/global.data global.data]; 
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/physics.data physics.data];
 [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/problem_old.data problem.data];

|| No Cooling, B=0, Tjet=100k || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/lab_noCooling_B0_T100k.gif no cooling 100k] || wrong time scale, should be 100 larger ||
|| No Cooling, B=0, Tjet=10000k || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/lab_noCooling_B0_T1e4.gif no cooling 10000K] ||wrong time scale, should be 100 larger ||
|| Analytic Cooling, B=0, Tjet=10000k || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/lab_anaCooling_B0_T1e4k.gif ana cooling 10000k] ||wrong time scale, should be 100 larger ||
|| Z Cooling, B=0, Tjet=10000k || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/lab_runs/lab_zCooling_B0_T1e4k.gif z cooling 10000k] ||wrong time scale, should be 100 larger ||

----

= Test Runs before 1.29.2020 =
== 3D MHD Colliding Jets ==
|| rho_amb || 0.01 || 1/cm3 ||
|| rho_jet || 70000 || 1/cm3 ||
|| vel_jet 1 || 80 || km/s ||
|| vel_jet 2 || 60 || km/s ||

----


|| No Cooling, B=0, Tjet=10k || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/noCooling_B0_23.png,width=200)]] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/noCooling_B0.gif rho] ||
|| No Cooling, B=0, Tjet=1000k || || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/logRho_noCooling_B0_T1000K.gif rho] ||
|| DM Cooling, B=0, Tjet=10k|| [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/DMCooling_B0_24.png,width=200)]] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/DMCooling_B0.gif rho] ||
|| DM Cooling, B=0, Tjet=1000k || || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/logRho_DMCooling_B0_T1000K.gif rho] ||
|| No Cooling, toroidal B=1e-5, Tjet=10k || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/noCooling_B1e-5_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/Bx_noCooling_B1e-5_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/By_noCooling_B1e-5_18.png,width=200)]] ||
||DM Cooling, toroidal B=1e-5, Tjet=1000k || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/DMCooling_B1e-5_T1000K_40.png,width=200)]]; || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/DMCooling_B1e-5_T1000K.gif rho]; ||
|| No Cooling, toroidal B=1e-6, Tjet=10k || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/noCooling_B1e-6_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/Bx_noCooling_B1e-6_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/By_noCooling_B1e-6_18.png,width=200)]] ||  ||
||DM Cooling, toroidal B=1e-5, Tjet=10k || [[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/noCooling_B1e-5_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/Bx_noCooling_B1e-5_18.png,width=200)]];[[Image(http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/By_noCooling_B1e-5_18.png,width=200)]] || [http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/DMCooling_B1e-5.gif rho];[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/Bx_DMCooling_B1e-5.gif Bx];[http://www.pas.rochester.edu/~bliu/MHDCollidingFlows/By_DMCooling_B1e-5.gif By] ||


== 2.5D ==
[https://astrobear.pas.rochester.edu/trac/blog/bliu11252019 different problem module]

== reference ==
 1. [https://iopscience.iop.org/article/10.1088/0004-637X/815/2/96/pdf Suzuki15]
 2. [https://journals.aps.org/rmp/pdf/10.1103/RevModPhys.78.755 Remington06]
 3. [https://iopscience.iop.org/article/10.1086/307293/pdf Ryutov99]
 4. [https://iopscience.iop.org/article/10.1086/313320/pdf Ryutov00]
 5. [https://aip.scitation.org/doi/pdf/10.1063/1.1344562?class=pdf Ryutov01]
}}}
Note: See TracWiki for help on using the wiki.