StellarModel#

jeanspy.model.StellarModel

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.StellarModel(show_init=False, submodels=None, **params)#

Bases: jeanspy.model.Model

Base class for projected/deprojected stellar-density models.

Notes

Inputs and units. Subclasses define density_2d``(``R_pc), density_3d``(``r_pc) and required parameters. density(distance_from_center, dimension) dispatches on ‘2d’/’3d’. density_2d_truncated``(``R_pc, R_trunc_pc) requires a scalar positive cutoff in pc.

Returns and shape. Density in pc^-2/pc^-3; truncated surface density integrates to one within the cutoff and is zero outside. Shape follows radius input.

Validity. A 3-D density is required by a Jeans solver. The truncated surface-density helper also requires cdf_R in the concrete profile.

Errors. Abstract methods raise NotImplementedError; invalid dimension, radii or truncation raise ValueError.

Backend. NumPy/SciPy CPU; stateful components, with no JAX tracing.

Differentiation. No physical-parameter automatic differentiation on this API.

Examples. examples/docs_profiles.py

density(distance_from_center, dimension)[source]#

Dispatch to the projected or intrinsic normalized tracer density.

distance_from_center is a radius in pc. dimension must be ‘2d’ or ‘3d’, returning pc^-2 or pc^-3 respectively with the concrete profile’s input shape. An unsupported dimension raises ValueError.

abstractmethod density_2d(R_pc)[source]#

Evaluate normalized surface density in pc^-2 at projected R_pc in pc.

Subclasses define scalar/array support. This base method raises NotImplementedError.

density_2d_truncated(R_pc, R_trunc_pc)[source]#

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_pc is a nonnegative finite scalar/array in pc; R_trunc_pc is 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_2d and cdf_R with positive CDF at the cutoff.

abstractmethod density_3d(r_pc)[source]#

Evaluate normalized intrinsic density in pc^-3 at r_pc in pc.

Subclasses define scalar/array support. This base method raises NotImplementedError.

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.

name = 'stellar 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_name to retain role-qualified names.

property params_all_with_model_name#

Return a new Parameters mapping with submodel-role prefixes.

Nested names use role:parameter notation. Values retain their physical units; this operation copies the mapping, not nested mutable values.

required_models = {}#
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_params is 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_all returns the resulting flattened copy.