aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/extragalactic/clusters/emission.py
Commit message (Collapse)AuthorAgeFilesLines
* clusters/emission: improve description symbols :-)Aaron LI2018-01-211-4/+4
|
* clusters/halo: split emissivity/power/flux calculations into HaloEmissionAaron LI2018-01-031-1/+200
| | | | | Add emission.HaloEmission class to calculate halo emissivity, power, flux, brightness etc.
* clusters/emission: minor cleanupsAaron LI2018-01-021-14/+6
|
* clusters/halo: Use "lru_cache()", also improves some performanceAaron LI2017-10-231-0/+3
|
* clusters/emission: Assume electron pitch angle be pi/2Aaron LI2017-09-201-23/+17
| | | | And some cleanup and small changes
* clusters/emission: Rewrite synchrotron kernel functionAaron LI2017-09-201-9/+38
| | | | | | | | | | | Add asymptotic functions to calculate the values beyond the interpolation bounds (e.g., <1e-3 and >10), otherwise, the calculated synchrotron emissivity is overestimated at the higher frequencies. By rewrite this synchrotron kernel function, the calculated results is consistent with the theoretical/analytical results, e.g., the synchrotron radiation of a population of electrons of power-law index n is also a power-law with index (n-1)/2.
* clusters/emission.py: Make "F()" be class method, fixing memory hole!Aaron LI2017-08-011-22/+35
| | | | | | | | | | | For unknown reason! Each instance of "SynchrotronEmission" will cost ~5 MiB memory when interpolating the kernel function cached as "self._F_interp", which won't be collected/freed by GC, for UNKNOWN reason! Therefore, make the method "F()" be class-wide, to avoid the memory hole! Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Fix bug in "F()"Aaron LI2017-08-011-13/+14
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Remove methods and clean up parametersAaron LI2017-07-291-78/+2
| | | | | | | | * Methods "power()", "flux()" already moved to "halo.py"; * Method "brightness()" will also be moved over there; * Clean up thus unused parameters "z" and "radius", as well as imports. Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: support calc emissivity at multiple frequenciesAaron LI2017-07-291-17/+27
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Add property "B_gauss"Aaron LI2017-07-291-7/+11
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Cache kernel function interpolation resultsAaron LI2017-07-271-22/+22
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Fix units/dimensions problemAaron LI2017-07-261-1/+2
| | | | | | | | | | | NOTE: Since we just substitute ``p`` (electron momentum) for ``γ`` (electron Lorentz factor), i.e., N = int_p n(p) dp = int_γ n(γ) dγ , therefore the coefficient ``sqrt(3) e^3 B / (m c^2)`` does NOT need modification (e.g., multiply an extra ``m c``)! Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: explain more on Larmor frequencyAaron LI2017-07-261-4/+12
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Fix the calling to F(x)Aaron LI2017-07-261-9/+6
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Rewrite emissivity calculationAaron LI2017-07-261-15/+24
| | | | | | | | | | Use 2D grid of (discrete) samples to optimize integration speed, avoiding the more complicated integration w.r.t. functions. WARNING: Current calculation results seems wrong! Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Update argumentsAaron LI2017-07-261-28/+28
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* clusters/emission.py: Rewrite Synchrotron kernel function calculationAaron LI2017-07-261-3/+41
| | | | | | | Use interpolation to optimize the speed as well as to vectorize the function to ease calling. Signed-off-by: Aaron LI <aly@aaronly.me>
* Use all uppercase to identify the global CONFIGS and COSMOAaron LI2017-07-221-3/+3
| | | | | | Update to use the global CONFIGS and COSMO Signed-off-by: Aaron LI <aly@aaronly.me>
* Use the global "cosmo" instance for simplificationAaron LI2017-07-211-4/+3
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* Use [arcsec] as the unit for pixel size and resolutionAaron LI2017-07-191-2/+2
| | | | Signed-off-by: Aaron LI <aly@aaronly.me>
* emission.py: Add power(), flux(), brightness() methodsAaron LI2017-06-231-25/+111
|
* clusters: Move units.py and cosmology.py to utilsAaron LI2017-06-011-1/+1
|
* Add clusters/emission.py: Calculate synchrotron emissivityAaron LI2017-06-011-0/+117
Calculate the synchrotron emissivity from the given electron spectrum at specified frequency. Add the electron charge to units.Constants