BaseSphericalRadialProfile#
- class profiles.base.BaseSphericalRadialProfile(**kwargs)[source]#
Abstract base class for spherically symmetric, 1D radial profiles.
This class provides standard conventions for radial profiles, defining:
A single independent variable
r
(radius)Automatic symbolic setup for
r
A derived profile for the radial derivative
Subclasses define specific profile behavior by implementing:
__function__
: returns the symbolic expression as a SymPy object__function_units__
: returns the dimensional units of the profile
Notes
This class is abstract. Concrete subclasses must set
__IS_ABSTRACT__ = False
.Units for
r
are propagated through the derivative profile.The radial derivative is accessible via
get_derived_profile()
.
Example
class DensityProfile(BaseRadialProfile): __IS_ABSTRACT__ = False __PARAMETERS__ = {"rho0": 1.0} def __function__(self, r, rho0): return rho0 / (r**2) def __function_units__( self, r_unit, rho0_unit ): return rho0_unit / r_unit**2
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.