solprop.modes.fill#
Share gas-fill resolution, freezing and loss policy across hollow-waveguide modes.
This class contributes methods only. Concrete frozen dataclasses declare their own fields, preserving the public Marcatili constructor and its arithmetic.
Module Attributes
Specify the model loss of any mode that mixes in |
|
Smallest real effective index the full model will return. |
Classes
Provide material and loss methods for frozen hollow-mode dataclasses. |
- class solprop.modes.fill.GasFillMixin[source]#
Bases:
DisplayedProvide material and loss methods for frozen hollow-mode dataclasses.
Subclasses declare gas, pressure, temperature, susceptibility, mixture, density and loss fields. The model attribute selects the evanescent floor:
"full"applies it and"reduced"does not. No dataclass fields or constructor are supplied here.- absorption_by_species(omega, z=0.0)[source]#
Attribute material intensity loss to populations to first order in chi.
Return
rho_s(z) omega Im(gamma_s(omega)) / cin mixture order. This dilute-material attribution excludes wall leakage and the higher-order square-root and waveguide corrections in the mode’s total attenuation.loss=Falseremoves it; a numeric loss scales it. A callable replaces total loss and therefore supplies no species attribution.- Parameters:
- omeganumpy.ndarray
Positive angular frequencies in rad/s, within each species’ support.
- zfloat, optional
Position in m at which to evaluate the component densities.
- Returns:
- numpy.ndarray
Non-negative intensity absorption in m^-1, shape
(n_species, n_omega). A legacy gas or vacuum has one row.
- Raises:
- ModeError
If omega is non-positive or non-finite, or loss is a callable whose total attenuation cannot be assigned to individual species.
- property fill_species: Species | None[source]#
Return the single species a fill without a mixture carries.
- Returns:
- Species or None
The species of the density path, whose equation of state gives the density and, for an optmat law, whose susceptibility is the fill’s;
Nonefor vacuum or a mixture.
- susceptibility: GasSusceptibility | None#
- with_mixture(mixture)[source]#
Return the same mode geometry with the supplied ordered gas mixture.
- Parameters:
- mixturesolprop.physdata.mixtures.Mixture
New populations, density paths and temperature: the mode’s gas, pressure and temperature are replaced by the mixture’s.
- Returns:
- GasFillMixin
A new instance of the same concrete dataclass.
- Raises:
- ModeError
If the concrete mode is not a dataclass.