CoreSersicProfile#
- class profiles.density.CoreSersicProfile(**kwargs)[source]#
Core-Sérsic Surface Density Profile.
Models galaxies with depleted cores and outer Sérsic-like falloff:
\[\Sigma(R) = \Sigma_b \left[1 + \left( \frac{R_b}{R} \right)^\alpha \right]^{\gamma/\alpha} \exp\left( -b_n \left( \left( \frac{R^\alpha + R_b^\alpha}{R_e^\alpha} \right)^{1/(\alpha n)} - \left( \frac{R_b}{R_e} \right)^{1/n} \right) \right)\]where:
\(\Sigma_b\) is the surface density at the break radius.
\(R_b\) is the break radius between core and outer profile.
\(\gamma\) controls the inner power-law slope.
\(\alpha\) controls sharpness of transition.
\(R_e\) is the effective radius of the outer Sérsic portion.
\(n\) is the Sérsic index.
\(b_n\) is the usual Sérsic constant.
Parameters
Name
Symbol
Description
Sigma_b
\(\Sigma_b\)
Surface density at break radius
R_b
\(R_b\)
Break radius
R_e
\(R_e\)
Sérsic effective radius
n
\(n\)
Sérsic index
gamma
\(\gamma\)
Inner slope
alpha
\(\alpha\)
Transition sharpness
Example
>>> from pisces.profiles.density import ( ... CoreSersicProfile, ... ) >>> import matplotlib.pyplot as plt >>> R = np.linspace(0.1, 20, 300) >>> profile = CoreSersicProfile( ... Sigma_b=1.0, ... R_b=2.0, ... R_e=5.0, ... n=4.0, ... gamma=0.5, ... alpha=5.0, ... ) >>> Sigma = profile(R) >>> plt.semilogy(R, Sigma) >>> plt.xlabel("Radius (R)") >>> plt.ylabel("Surface Density (Sigma)") >>> plt.title("Core-Sérsic Surface Profile") >>> plt.grid(True) >>> plt.show()
(
Source code
,png
,hires.png
,pdf
)Methods
__init__
(**kwargs)Initialize a profile instance with specific parameter values.
from_dict
(data)Reconstruct a profile instance from a dictionary.
from_hdf5
(h5obj[, name])Reconstruct a profile from HDF5 attributes.
from_json
(filepath)Reconstruct a profile from a JSON file.
from_yaml
(filepath)Reconstruct a profile from a YAML file.
get_derived_profile
(profile_name, **kwargs)Access and instantiate a derived profile by name.
get_expression_latex
([substitute])Return the LaTeX representation of the profile's symbolic expression.
get_output_units
(*argu)Determine the output units of the operation given some set of input units.
Return a LaTeX table of the profile parameters.
lambdify_expression
(expression)Convert a symbolic expression into a callable function.
List all available derived profiles for this instance.
substitute_expression
(expression)Replace symbolic parameters with numerical values in an expression.
to_dict
()Serialize this profile to a minimal dictionary representation.
to_hdf5
(h5obj[, name])Store profile metadata into an HDF5 object as attributes.
to_json
(filepath, **kwargs)Serialize the profile to a JSON file.
to_yaml
(filepath, **kwargs)Serialize the profile to a YAML file.
Attributes
Get the available derived profile classes for this instance.
Get the symbolic representations of the coordinate system parameters.
The parameters of this coordinate system.
The symbols representing each of the coordinate axes in this coordinate system.
The axes names present in this coordinate system.