Skip to main content

Crate assist_rs

Crate assist_rs 

Source
Expand description

High-level domain layer for ASSIST + REBOUND solar-system propagation.

The raw FFI bindings and safe RAII wrappers live in the companion libassist-sys crate (which itself depends on librebound-sys for the REBOUND C ABI). This crate adds:

  • Orbit + NonGravParams + Origin + AssistData: domain types for orbital states, non-gravitational coefficients, coordinate origins, and the bundled (ephemeris + observatory table) data handle.
  • ObservatoryTable + earth_orientation: MPC observatory lookups and Earth-orientation kernel handling for topocentric observations.
  • propagate: single-orbit + batched + rayon-parallel propagators, PropagatorPool for reusing simulations across many orbits, and STM
    • covariance propagation.
  • ephemeris: topocentric ephemeris generation with light-time iteration.
  • data (feature data): a data::DataManager that fetches + caches ephemeris and Earth-orientation kernels.

All of libassist-sys’s public surface is re-exported here so downstream consumers can keep a single assist_rs import.

Re-exports§

pub use coordinates::ecliptic_to_equatorial;
pub use coordinates::equatorial_to_ecliptic;
pub use ephemeris::EphemerisResult;
pub use ephemeris::Observer;
pub use ephemeris::assist_generate_ephemeris;
pub use ephemeris::assist_generate_ephemeris_single;
pub use propagate::PropagatedState;
pub use propagate::PropagatorConfig;
pub use propagate::PropagatorPool;
pub use propagate::assist_propagate;
pub use propagate::assist_propagate_single;
pub use libassist_sys;
pub use librebound_sys;

Modules§

coordinates
Coordinate frame transformations.
data
Data file management for ASSIST.
earth_orientation
Binary PCK reader for Earth orientation (ITRF93 ↔ ICRF/J2000).
ephemeris
assist_generate_ephemeris_single — Propagate orbit to observer epochs with light-time correction and topocentric spherical output.
ffi
Raw FFI bindings to the ASSIST C library.
propagate
assist_propagate_single — N-body propagation of a test particle.

Structs§

AssistData
Bundle of the data resources the high-level assist_* functions need.
AssistSim
A REBOUND simulation with ASSIST ephemeris forces attached.
BodyState
State vector result from assist_get_state.
Ephemeris
Owned ASSIST ephemeris data. Freed on drop.
IntegratorConfig
Per-call IAS15 integrator knobs. None for any field leaves the REBOUND default in place.
NonGravParams
Marsden-Sekanina non-gravitational force parameters.
ObservatoryTable
Lookup table from MPC observatory code to parallax coefficients.
Orbit
A test particle orbit: state vector + epoch + optional non-gravitational parameters.
Simulation
Owned REBOUND simulation. Freed on drop.

Enums§

Error
Error type for assist-rs operations.
Ias15AdaptiveMode
IAS15 timestep-adaptation rule. REBOUND default since 2024-01 is Self::Prs23; older code used Self::Global.
Origin
An origin point in the solar system: a named body, barycenter, or MPC observatory.

Functions§

assist_get_state
Get the heliocentric ecliptic J2000 state of a body or observatory at one or more epochs.

Type Aliases§

Result