pub trait AccelModel:
Send
+ Sync
+ Display {
// Required methods
fn eom(
&self,
osc: &Orbit,
almanac: Arc<Almanac>,
) -> Result<Vector3<f64>, DynamicsError>;
fn dual_eom(
&self,
osc_ctx: &Orbit,
almanac: Arc<Almanac>,
) -> Result<(Vector3<f64>, Matrix3<f64>), DynamicsError>;
}
Expand description
The AccelModel
trait handles immutable dynamics which return an acceleration. Those can be added directly to Orbital Dynamics for example.
Examples include spherical harmonics, i.e. accelerations which do not need to save the current state, only act on it.