PlummerModel#
jeanspy.model.PlummerModel
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.PlummerModel(show_init=False, submodels=None, **params)#
Bases:
jeanspy.model.StellarModelUnit-integral Plummer tracer; re_pc is its projected half-light radius.
Notes
Inputs and units.
re_pc(pc). Other constructor arguments follow Model.Returns and shape.
density_2danddensity_3dreturn pc^-2 and pc^-3 with input shape.cdf_Rreturns the dimensionless projected radial CDF;half_light_radiusreturns pc.mean_density_2dis mean surface density within R.logdensity_2dis the natural log of the surface density, not the radial PDF.density_2d_normalized_reis the dimensionless ratio Sigma(R)/Sigma(re).Validity. Supply positive finite scales and real nonnegative radii. Use NumPy arrays for array inputs. The central density is finite; elementary formulas do not uniformly validate domains.
Errors. Unknown parameter names raise ValueError in Model.update. Invalid values in elementary profile formulas can produce NaN/inf; successful construction alone does not validate a physical profile.
Backend. NumPy/SciPy CPU; stateful components, with no JAX tracing.
Differentiation. No physical-parameter automatic differentiation on this API.
Examples.
examples/docs_profiles.py- cdf_R(R_pc)[source]#
Return \(\int_0^R 2\pi R'\Sigma(R')\,dR'\).
Notes
Inputs and units.
R_pcis a scalar or NumPy array of projected radii in pc.Returns and shape. Dimensionless cumulative probability with input radius shape.
- density(distance_from_center, dimension)#
Dispatch to the projected or intrinsic normalized tracer density.
distance_from_centeris a radius in pc.dimensionmust be ‘2d’ or ‘3d’, returning pc^-2 or pc^-3 respectively with the concrete profile’s input shape. An unsupported dimension raises ValueError.
- density_2d(R_pc)[source]#
Evaluate normalized projected tracer density.
Notes
Inputs and units.
R_pcis a scalar or NumPy array of projected radii in pc.Returns and shape. pc^-2 with input radius shape.
- density_2d_normalized_re(R_pc)[source]#
Return the dimensionless ratio Sigma(R)/Sigma(re).
R_pcis a scalar or NumPy array of projected radii in pc. Output shape follows the input; the stored re_pc must be positive.
- density_2d_truncated(R_pc, R_trunc_pc)#
Return the normalized 2-D density truncated at
R_trunc_pc.The normalization satisfies
\[\int_0^{R_\mathrm{trunc}} 2\pi R\,\Sigma_\mathrm{trunc}(R)\,dR = 1.\]Notes
Inputs and units.
R_pcis a nonnegative finite scalar/array in pc;R_trunc_pcis a positive finite scalar cutoff in pc.Returns and shape. Normalized surface density in pc^-2 with radius shape, zero for R>``R_trunc_pc``.
Validity. Requires a concrete
density_2dandcdf_Rwith positive CDF at the cutoff.
- density_3d(r_pc)[source]#
Evaluate the unit-normalized intrinsic tracer density.
- Parameters:
r_pc (float or numpy.ndarray) – Nonnegative intrinsic radius in pc; NumPy array inputs keep their shape.
- Returns:
float or numpy.ndarray – Density in pc^-3 with the input radius shape.
Notes
The Plummer central density is finite. Stored tracer scales must be positive. This elementary NumPy formula does not uniformly validate input domains; no JAX physical-parameter differentiation is supported.
- half_light_radius()[source]#
Return the projected half-light radius.
Notes
Inputs and units. No arguments; reads the stored tracer scales.
Returns and shape. Scalar radius in pc, equal to the stored
re_pc.
- is_required_param_names(param_names_candidates)#
Test a sequence of names against this component’s required parameters.
Returns a list of bool with the same length and order as
param_names_candidates. Submodel requirements are not included.
- logdensity_2d(R_pc)[source]#
Evaluate natural log projected density.
Notes
Inputs and units.
R_pcin pc; scalar or NumPy array.Returns and shape. Natural log of the numerical surface density in pc^-2, with input shape. This excludes the radial Jacobian 2*pi*R.
- mean_density_2d(R_pc)[source]#
Average surface density inside a circular aperture.
Notes
Inputs and units. Nonnegative projected radius
R_pcin pc, scalar or NumPy array.Returns and shape.
1/(pi*(R_pc**2 + re_pc**2)), in pc^-2 with radius shape. This expression has a finite value at R_pc=0.Validity. Nonnegative radii and a positive stored re_pc.
- name = 'Plummer Model'#
- property params_all#
Return a flattened Parameters copy of this model and its submodels.
Values retain their physical units. Later submodels overwrite duplicate names; use
params_all_with_model_nameto retain role-qualified names.
- property params_all_with_model_name#
Return a new Parameters mapping with submodel-role prefixes.
Nested names use
role:parameternotation. Values retain their physical units; this operation copies the mapping, not nested mutable values.
- required_models = {}#
- required_param_names = ['re_pc']#
- property required_param_names_combined#
Return this model’s and all nested submodels’ required parameter names.
The result is a list in traversal order; duplicate names are retained.
- sampling_identity(sampled_names=())#
Configuration and fixed parameters, excluding changing MCMC coordinates.
- update(new_params=None, **kwargs)#
Replace named parameters in the owning components.
Notes
Inputs and units.
new_paramsis an optional mapping/Parameters/Series; keyword values are additional replacements. Names are physical names declared by this model and its components. Unknown names raise ValueError before any parameters are changed.Returns and shape. None; mutates component parameters.
params_allreturns the resulting flattened copy.