aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/extragalactic/clusters/halo.py
Commit message (Collapse)AuthorAgeFilesLines
* clusters/halo: calc_acc_factor() no longer usedAaron LI2019-02-271-38/+0
|
* clusters/halo: Support merger-disabled calculationAaron LI2019-02-221-16/+20
| | | | | | | | | | Change the 'is_end' parameter in tau_acceleration() method to 'has_merger', which describes whether or not the merger-induced turbulence is enabled. Update the fp_diffusion() method to properly calculate the acceleration timescale (tau) in all supported situations (e.g., with merger disabled to derive the fiducial results).
* clusters/halo: Rename '_acceleration_disabled' to '_merger_disabled'Aaron LI2019-02-211-11/+12
| | | | | | | | Since there may be base turbulence that can (gentlely) accelerate the electrons, the original name '_acceleration_disabled' is no longer accurate. Change it to '_merger_disabled', which better describes that we disable the *merger-induced* turbulence that can greatly accelerate the electrons.
* clusters/halo: Clean up _is_turb_active()Aaron LI2019-02-211-7/+4
| | | | | | | Do not check 'self._acceleration_disabled'. This will be reworked in a moment. Clean up the code.
* clusters/halo: Minor tweaksAaron LI2019-02-211-4/+5
|
* clusters/halo: Update fp_diffusion() against base turbulenceAaron LI2019-02-211-2/+8
| | | | | | When the (merger-induced) turbulence is not active, invoke the tau_acceleration() with 'is_end=True' to calculate the acceleration timescale w.r.t. the base turbulence.
* clusters/halo: Extend tau_acceleration() against base turbulenceAaron LI2019-02-211-10/+32
| | | | | | Add new parameter 'is_end' to this method. If it is True, then calculate the acceleration timescale using velocity_turb_base(), i.e., the situation without active merger-induced turbulence.
* clusters/halo: Update velocity_turb() against base turbulenceAaron LI2019-02-211-13/+16
| | | | | Take into account the base turbulence by using the newly added velocity_turb_base() method.
* clusters/halo: Remove unused mach_turb() methodAaron LI2019-02-211-10/+0
|
* clusters/halo: Add velocity_turb_base() methodAaron LI2019-02-211-0/+41
| | | | | | | | | | This method calculates the velocity dispersion of the base turbulence, i.e., the turbulence existing in a relaxed system without the merger injection. Add new configuration option 'extragalactic/halos/x_turb' to parameterize the energy fraction of the base turbulence w.r.t. the ICM thernal energy.
* clusters/halo: Implement _merger_end_time() methodAaron LI2019-02-211-0/+18
| | | | | Determine the ending time of the most recent merger happened before the given time.
* clusters/halo: Several minor improvementsAaron LI2019-02-211-4/+5
|
* clusters/halo: Reorder '_is_turb_active()' a bitAaron LI2019-02-211-11/+11
|
* clusters/halo: Reorder the '_energy_loss()' methodAaron LI2019-02-211-33/+21
|
* clusters/halo: Clean up fp_advection()Aaron LI2019-02-211-7/+2
| | | | | The check of _is_turb_active() is not needed, which is actually a bit wrong, since the calculation of 'electron_spec_init' was updated.
* clusters/halo: Extends _validate_time() with 'include_end' parameterAaron LI2019-02-211-6/+8
| | | | | | | Check the time against the merge end time only if 'include_end' is True (the default). Specify 'include_end=False' in duration_turb() method.
* clusters/halo: Apply @property and @lru_cache() to _time_adjust()Aaron LI2019-02-211-1/+3
|
* clusters/halo: Update _validate_t_merger() to also check end timeAaron LI2019-02-211-11/+12
| | | | | Rename '_validate_t_merger()' to '_validate_time()' and update this method to also check the end time of a merger.
* clusters/halo: Add 't_merger_end' propertyAaron LI2019-02-211-9/+30
|
* clusters/halo: Further extend the halo radius calculationAaron LI2019-02-181-13/+10
|
* clusters/halo: Improve the halo radius calculationAaron LI2019-02-161-2/+23
|
* clusters/halo: Clean up the magnetic field calculation a bitAaron LI2019-02-161-3/+4
|
* clusters: Use radius_cluster() accordinglyAaron LI2019-01-311-2/+2
|
* clusters: Minor cleanups (rename 'comp' to 'sec')Aaron LI2019-01-301-19/+19
|
* clusters/halo: Add options bolo_freq_{min,max,num}Aaron LI2019-01-291-2/+9
| | | | Update the default bolometric frequency band to: 10 MHz -- 100 GHz.
* clusters/halo: Do not rescale density in _adjust_spectrum()Aaron LI2019-01-281-5/+0
| | | | | | Since there is continuous electron injection, the electron density may keep increasing. Therefore, it's bad to rescale the density to match the beginning value.
* clusters/halo: calc_acc_factor() accepts the fiducial spectrumAaron LI2019-01-281-3/+7
|
* clusters/halo: Fix minor errors along the refactoringAaron LI2019-01-271-5/+4
|
* clusters/halo: Tweak radius_turb() calculationAaron LI2019-01-271-4/+3
|
* clusters/halo: Rewrite is_genuine() to be calc_acc_factor()Aaron LI2019-01-271-16/+10
| | | | | | | Calculate the bolometric emissivity instead of the emissivity at a certain frequency. This should capture the acceleration effect more effectively. In addition, remove the now obsolete config options "fiducial_freq" and "fiducial_factor".
* clusters/halo: Delete the RadioHalo wrapper classAaron LI2019-01-271-92/+0
|
* clusters/halo: Implement calc_electron_spectrum() for multiple mergersAaron LI2019-01-271-0/+118
| | | | | | | For a cluster with multiple mergers, each merger has a different turbulence radius, so the accelerated spectrum needs appropriate adjustment to take the (may be significant) variation of turbulence radius into account.
* clusters/halo: Implement radius_turb_eff() methodAaron LI2019-01-271-0/+27
|
* clusters/halo: Add 'radius_turb_max' propertyAaron LI2019-01-271-2/+10
|
* clusters/halo: Tweak {duration,velocity}_turb()Aaron LI2019-01-261-8/+7
|
* clusters/halo: Reimplement the 'radius' propertyAaron LI2019-01-261-6/+11
|
* clusters/halo: Reorder radius_{strip,turb}()Aaron LI2019-01-261-35/+35
| | | | | Rename radius_stripping() to radius_strip() and radius_turbulence() to radius_turb().
* clusters/halo: Clean up mass_main() methodAaron LI2019-01-261-12/+3
|
* clusters/halo: Rewrite _merger_time() to get the effective mergerAaron LI2019-01-261-8/+24
| | | | | If the acceleration durations of multiple mergers overlap, the one with the largest efficiency (i.e., smallest tau_acc) is chosen.
* clusters/halo: Replace "age" with "t" (time)Aaron LI2019-01-261-31/+31
|
* clusters/halo: Fold _merger_idx() into _merger_event()Aaron LI2019-01-261-18/+11
| | | | Update _merger_time() accordingly.
* clusters/halo: Move and rename _velocity_turb() to _velocity_turb()Aaron LI2019-01-261-57/+57
|
* clusters/halo: Rename _merger() to _merger_event()Aaron LI2019-01-261-4/+4
|
* clusters/halo: Remove *_avg and *_fraction methodsAaron LI2019-01-261-50/+0
|
* clusters/halo: Use t_merger for duration_turb() and mach_turb()Aaron LI2019-01-261-4/+6
| | | | Rename mach_turbulence() to mach_turb().
* clusters/halo: Simplify tau_acceleration() methodAaron LI2019-01-261-45/+14
| | | | Move the turbulence activity check into the fp_diffusion() method.
* clusters/halo: Some cleanupsAaron LI2019-01-261-28/+15
|
* clusters/halo: Use t_merger to be more explicitAaron LI2019-01-261-13/+25
| | | | | Add _validate_t_merger() method to validate the given time to be an merger time.
* clusters/halo: Rename time_turbulence() to duration_turb()Aaron LI2019-01-261-10/+9
|
* clusters/halo: Fold _rho_gas_f() into _velocity_turb()Aaron LI2019-01-251-20/+8
|