aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2017-12-30 20:18:50 +0800
committerAaron LI <aly@aaronly.me>2017-12-30 20:18:50 +0800
commit0478a88558f75d3afc6ecfc3e1af232520cb2bc8 (patch)
treed4a6eb8ad9af25ea9c47e953e13f703305ee3725 /fg21sim
parent229139f4c3d326828d6ce4d4b2497c67643e96f8 (diff)
downloadfg21sim-0478a88558f75d3afc6ecfc3e1af232520cb2bc8.tar.bz2
cluster/halo: Estimate halo radius ~ 0.33*R_vir (main cluster)
Diffstat (limited to 'fg21sim')
-rw-r--r--fg21sim/configs/20-extragalactic.conf.spec5
-rw-r--r--fg21sim/extragalactic/clusters/halo.py2
-rw-r--r--fg21sim/extragalactic/clusters/helper.py23
3 files changed, 20 insertions, 10 deletions
diff --git a/fg21sim/configs/20-extragalactic.conf.spec b/fg21sim/configs/20-extragalactic.conf.spec
index 69db5c8..7d52de4 100644
--- a/fg21sim/configs/20-extragalactic.conf.spec
+++ b/fg21sim/configs/20-extragalactic.conf.spec
@@ -149,8 +149,9 @@
[[halos]]
# The turbulence is generally injected at the cluster center during
# a merger. This option parameterize the turbulence injection scale
- # to be a fraction of the virial radius of the (main) cluster.
- f_lturb = float(default=0.5, min=0.1, max=1.0)
+ # to be a fraction of the virial radius of the (main) cluster, which
+ # is also used to determine the radio halo radius.
+ f_lturb = float(default=0.33, min=0.1, max=1.0)
# The custom option to tune the turbulent acceleration timescale, which
# controls the relativistic particle acceleration efficiencies.
diff --git a/fg21sim/extragalactic/clusters/halo.py b/fg21sim/extragalactic/clusters/halo.py
index 0b8446a..1d9c9aa 100644
--- a/fg21sim/extragalactic/clusters/halo.py
+++ b/fg21sim/extragalactic/clusters/halo.py
@@ -238,7 +238,7 @@ class RadioHalo:
Unit: [kpc]
"""
r_halo = helper.radius_halo(self.M_main, self.M_sub,
- self.z_merger)
+ self.z_merger, configs=self.configs)
return r_halo
@property
diff --git a/fg21sim/extragalactic/clusters/helper.py b/fg21sim/extragalactic/clusters/helper.py
index 2ce3e4a..cac6401 100644
--- a/fg21sim/extragalactic/clusters/helper.py
+++ b/fg21sim/extragalactic/clusters/helper.py
@@ -30,6 +30,10 @@ References
Murgia et al. 2009, A&A, 499, 679
http://adsabs.harvard.edu/abs/2009A%26A...499..679M
+.. [vazza2011]
+ Vazza et al. 2011, A&A, 529, A17
+ http://adsabs.harvard.edu/abs/2011A%26A...529A..17V
+
.. [zandanel2014]
Zandanel, Pfrommer & Prada 2014, MNRAS, 438, 124
http://adsabs.harvard.edu/abs/2014MNRAS.438..124Z
@@ -81,16 +85,18 @@ def radius_virial(mass, z=0.0):
return R_vir
-def radius_halo(M_main, M_sub, z=0.0):
+def radius_halo(M_main, M_sub, z=0.0, configs=CONFIGS):
"""
- Calculate the (predicted) radius of (giant) radio halo for a cluster.
+ Calculate the (predicted) radius of (giant) radio halo.
NOTE
----
- It can be intuitively assumed that a merger will generate turbulences
- within a region of size of the falling sub-cluster. And this
- estimation can agree with the currently observed radio halos, which
- generally have a angular diameter size ~2-7 [arcmin].
+ The halo radius is estimated to be the same as the turbulence
+ injection scale, i.e.:
+ R_halo ≅ L ≅ R_vir / 3
+ where R_vir the virial radius of the main cluster.
+
+ Reference: [vazza2011],Sec.(3.6)
Parameters
----------
@@ -107,7 +113,10 @@ def radius_halo(M_main, M_sub, z=0.0):
Radius of the (simulated/predicted) giant radio halo
Unit: [kpc]
"""
- R_halo = radius_virial(mass=M_sub, z=z) # [kpc]
+ # Turbulence injection scale factor
+ key = "extragalactic/halos/f_lturb"
+ f_lturb = configs.getn(key)
+ R_halo = f_lturb * radius_virial(mass=M_main, z=z) # [kpc]
return R_halo