AxisymmetricZhaoModel#
jeanspy.model.AxisymmetricZhaoModel
See methods and properties for individual lookup pages, or the alphabetical API dictionary to search all classes. The full class contract and existing member anchors are retained below.
- class jeanspy.model.AxisymmetricZhaoModel(rs_pc, rhos_Msunpc3, Q=1.0, alpha=1.0, beta=3.0, gamma=1.0, r_t_pc=inf)[source]#
Bases:
jeanspy.axisymmetric.AxisymmetricDMModelrho=rhos_Msunpc3 (m/rs_pc)^(-gamma) [1+(m/rs_pc)^alpha]^((gamma-beta)/alpha).
m²=R²+z²/Q². Q may be oblate or prolate. rhos_Msunpc3 is a density scale, not the density at rs_pc. Finite central potential: 0 <= gamma < 2; finite outer potential: beta > 2. Total mass may diverge (e.g. NFW). Hayashi 2015 eq. 4 is alpha=2, beta=3, gamma=-alpha_paper.
Notes
Inputs and units.
rhos_Msunpc3(Msun/pc^3),rs_pc(pc), Q>0, alpha>0, beta>2, 0<=gamma<2;r_t_pc > 0is an ellipsoidal cutoff and can be infinite for the forward model. Intrinsic R>=0 and signed z, or signed sky x/y, are finite and broadcast to one shape (pc).Returns and shape. density is Msun/pc^3 and zero outside
r_t_pc.potential_gradientreturns (dPhi/dR,dPhi/dz) in (km/s)^2/pc, opposite gravitational acceleration.enclosed_mass(m_pc)is Msun inside the ellipsoidR^2 + z^2/Q^2 <= m_pc^2. J/D are scalar factors. Array outputs follow the broadcast shape, including scalar output.Validity. Force and factor quadrature orders require convergence checks. Annihilation factors additionally require gamma < 1.5 and a finite cutoff. Force evaluation exactly at a cusped origin is unsupported.
Errors. Invalid scales, slopes, coordinates, geometry or quadrature orders raise ValueError. This halo component does not calculate velocity moments or select tracer/anisotropy components.
Backend. NumPy/SciPy CPU, frozen dataclasses.
Differentiation. No physical-parameter automatic differentiation on this API.
Examples.
examples/docs_axisymmetric.py- Parameters:
- density(R, z)[source]#
Evaluate halo density in Msun/pc^3 at cylindrical coordinates R,z in pc.
Coordinates broadcast and must be finite/nonempty with R>=0, otherwise ValueError is raised. Density is zero beyond the ellipsoidal cutoff; a positive central cusp diverges at the origin.
- enclosed_mass(m_pc, *, n_steps=128)[source]#
Mass inside the spheroid m <= m_pc, truncated at r_t_pc, in Msun.
- potential_gradient(R, z, n=96)[source]#
Return (dPhi/dR, dPhi/dz), opposite to gravitational acceleration.
- jfactor(dist_pc, roi_deg, *, inclination=1.5707963267948966, **quadrature)[source]#
Finite-cone annihilation factor in GeV^2 cm^-5; finite r_t_pc required.