SynGenerator¶
- class sbpy.dynamics.syndynes.SynGenerator(source: State, betas: Iterable | Quantity, ages: Quantity, observer: State | None = None, solver: DynamicalModel | None = None)[source]¶
Bases:
objectSyndyne / synchrone generator for cometary dust.
Dust is parameterized with
beta, the ratio of the force from solar radiation pressure (\(F_r\)) to that from solar gravity (\(F_g\)):\[\beta = \frac{F_r}{F_g}\]For spherical dust grains,
betareduces to:\[\beta = \frac{0.57 Q_{pr}}{\rho a}\]where \(Q_{pr}\) is the radiation pressure efficiency averaged over the solar spectrum, \(\rho\) is the mass density of the grain (g/cm3), and \(a\) is the grain radius (μm) (Burns et al. 1979).
- Parameters:
- sourceState
State vector (i.e., position and velocity at time) of the object producing dust at the time of the observation. Must be with respect to the central mass (e.g., the Sun).
- betas~numpy.ndarray
Array of beta-parameters to be simulated (dimensionless).
- ages~astropy.units.Quantity
Array of particle ages (time).
- observerState, optional
State vector of the observer in the same reference frame as
source.- solver
DynamicalModel, optional Solve the equations of motion with this object. The default solver is
SolarGravityAndRadiationPressure.
Methods Summary
at_epochs(source, betas, epochs, **kwargs)An alternative constructor that ejects dust at specific times.
Generate the initial particle states.
solve()Generate test particle positions by solving the equations of motion.
source_orbit(dt)Calculate and observe the orbit of the dust source.
synchrone(i)Get a single synchrone.
Get a collection of all synchrones.
syndyne(i)Get a single syndyne.
syndynes()Get a collection of all syndynes.
Methods Documentation
- classmethod at_epochs(source: State, betas: Iterable | Quantity, epochs: Time, **kwargs: dict) Self[source]¶
An alternative constructor that ejects dust at specific times.
- Parameters:
- sourceState
State vector (i.e., position and velocity at time) of the object producing dust at the time of the observation. Must be with respect to the central mass (e.g., the Sun).
- betas~numpy.ndarray
Array of beta-parameters to be simulated (dimensionless).
- epochs~astropy.units.Time
Specific times to produce dust test particles. The times will be converted to particle ages.
- **kwargs
Any other
SynGeneratorkeyword argument.
- initialize_states() None[source]¶
Generate the initial particle states.
This method is automatically run on initialization.
- solve() None[source]¶
Generate test particle positions by solving the equations of motion.
This method is automatically run on initialization.
- source_orbit(dt: Quantity) State | tuple[State, SkyCoord][source]¶
Calculate and observe the orbit of the dust source.
- Parameters:
- dt
astropy.units.Quantity The times at which to calculate the orbit, relative to the observation time.
- dt
- Returns:
- orbitState
The orbital states.
- coordsSkyCoord, optional
The observed coordinates. Only returned when
.observeris defined.
- synchrone(i: int) Synchrone[source]¶
Get a single synchrone.
- Parameters:
- iint
Index of the synchrone (same index as the
agesarray).
- Returns:
- synchroneSynchrone
- synchrones() Synchrones[source]¶
Get a collection of all synchrones.
- Returns:
- synchronesSynchrones