8.10.2020 1D tests: Mach 15
7.28.2020 Analytic Cooling scales =
Analytic cooling
REAL(KIND=qPrec) :: Temp, T0
T0 = Temp/TempScale
AnalyticCoolingStrength=q(1)**2 * A_alpha*T0**A_beta*ScaleCool
New analytic cooling
Temp0 = 360000 ! Kelvin
T0 = Temp/Temp0
!! AnalyticCoolingStrength2=(q(1)-q(9))**2 * A_alpha*T0**A_beta*ScaleCool
AnalyticCoolingStrength2=q(1)**2 * A_alpha*T0**A_beta*ScaleCool
7.26.2020 1D tests: Mach 6
7.17.2020
New analytic cooling 6.20.2020
- Code
gamma=alpha*(T/T0)^beta
alpha = 1e-21
beta = [-2.5 -0.2 0 -.2 2.5]
T0=10^5 K
Cooling only applies to Ambient trailer < 1/3 which is the initial ambient density
Current version of code -- need better ways of handling Temp0 and trailer!!!
FUNCTION AnalyticCoolingStrength2(q, Temp)
REAL(KIND=qPREC) :: AnalyticCoolingStrength2
REAL(KIND=qPrec) :: q(:)
! Local declarations
REAL(KIND=qPrec) :: Temp, Temp0, T0
Temp0 = 100000 !10^5 Kelvin
T0 = Temp/Temp0
AnalyticCoolingStrength2=(q(1)-q(9))**2 * A_alpha*T0**A_beta*ScaleCool
!! only for ambient tracer > 1/3 which is the scaless value for initial ambient density
!! Jet density is the initial jet density
if( (q(1)-q(9)) <= 2d0 ) AnalyticCoolingStrength2=0d0
END FUNCTION AnalyticCoolingStrength2
rho_amb | 1e17 1/cm3
|
T_amb | 4320 K
|
rho_jet | 6e17 1/cm3
|
T_jet | 720 K
|
T_ps | 183920 K
|
V_jet | 44.982 km/s
|
Mach | 14.2404
|
T_floor | 720 K
|
- results
Summaries 5.4.2020
- Current version of code/Alcooling curve works or need to make a new curve?
Smoothing Ratio of Cooling Strength/Internal Energy
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)
softened_ratio_CS_IE_rJet_vJet = mean_filter(ratio_CS_IE_rJet_vJet)
- Post-processing/projection density
- MHD runs with Alcooling
- Code for Rob
Test runs with Small Box 4.15.2020
Try 1e-3 times small box (and jet radius) so "Lx=Ly=Lz=3e-3 cm" and "Rjet=0.1e-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
|
Cooling Strength 4.6.2020
Compare the Alcooling and DMcooling strength
DMcooling
nH=q(1)/(1d0+HeFrac+ZFrac) !assumes XMU is consistent with number abundance.
DMCoolingStrength=nH**2*10d0**GetTableValue(DM_eqTab, log10(Temp))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
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
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
| T_ps (K) | Vjet (km/s) | Mach |
|
Run1 | 23150 | 15.96 | 5.0528 | run1
|
Run2 | 36700 | 20.093 | 6.3611 | run2
|
Run3 | 58160 | 25.295 | 8.0081 | run3
|
Run4 | 92180 | 31.845 | 10.0816 | run4
|
Run5 | 183920 | 44.982 | 14.2407 | run5
|
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:
Debugging Cooling Length Field 3.23.2020
tests
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
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 | run1
|
Run2 | 36700 | 20.093 | 6.3611 | run2
|
Run3 | 58160 | 25.295 | 8.0081 | run3
|
Run4 | 92180 | 31.845 | 10.0816 | run4
|
Run5 | 183920 | 44.982 | 14.2407 | 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 | run6
|
Run7 | 36700 | 20.093 | 6.3611 | run7
|
Run8 | 58160 | 25.295 | 8.0081 | run8
|
Run9 | 92180 | 31.845 | 10.0816 | run9
|
Run10 | 183920 | 44.982 | 14.2407 | 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 | run11
|
Run12 | 36700 | 20.093 | 6.3611 | run12
|
Run13 | 58160 | 25.295 | 8.0081 | run13
|
Run14 | 92180 | 31.845 | 10.0816 | run14
|
Run15 | 183920 | 44.982 | 14.2407 | 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
|
- 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
|
- 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
|
- 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
|
- Al cooling function from Eddie
cooling.f90;
AlCooling.f90;
Alcooling.tab;
new format Al Cooling table;
boundary condition def;
cooling function plot |
|
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
|
problem.f90;
global.data;
physics.data;
problem.data;
outflow objects
No Cooling, B=0, Tjet=100k, open_angle=15 | no cooling 100k
|
No Cooling, B=0, Tjet=100k, open_angle=0 | no cooling 100k thin
|
No Cooling, B=0, Tjet=100k, open_angle=0 | no cooling 100k wide
|
No Cooling, B=0, Tjet=1000k | 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
|
problem.f90;
global.data;
physics.data;
problem.data;
No Cooling, B=0, Tjet=100k | no cooling 100k | wrong time scale, should be 100 larger
|
No Cooling, B=0, Tjet=10000k | no cooling 10000K | wrong time scale, should be 100 larger
|
Analytic Cooling, B=0, Tjet=10000k | ana cooling 10000k | wrong time scale, should be 100 larger
|
Z Cooling, B=0, Tjet=10000k | 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 | | rho
|
No Cooling, B=0, Tjet=1000k | | rho
|
DM Cooling, B=0, Tjet=10k | | rho
|
DM Cooling, B=0, Tjet=1000k | | rho
|
No Cooling, toroidal B=1e-5, Tjet=10k | ;;
|
DM Cooling, toroidal B=1e-5, Tjet=1000k | ; | rho;
|
No Cooling, toroidal B=1e-6, Tjet=10k | ;; |
|
DM Cooling, toroidal B=1e-5, Tjet=10k | ;; | rho;Bx;By
|
2.5D
different problem module
reference
- Suzuki15
- Remington06
- Ryutov99
- Ryutov00
- Ryutov01
- Adam's write up