DynamicModel#
- class DynamicModel#
Bases:
objectAbstract base class for all force models in the dynamic simulation.
Every concrete force model inherits from this class and implements
compute_acceleration(), which returns the non-gravitational or gravitational acceleration contribution for a given spacecraft state and epoch. The equation of motion integrated by the propagator is:\[\ddot{\mathbf{r}} = \sum_i \mathbf{a}_i(\mathbf{r},\,\dot{\mathbf{r}},\,\mathbf{p},\,t)\]where each \(\mathbf{a}_i\) is the acceleration contribution from force model \(i\), \(\mathbf{p}\) is the vector of solve-for or consider parameters, and \(t\) is the current epoch.
Sub-classes also expose
_compute_partial_by_*methods that return \(\partial \mathbf{a}_i / \partial \mathbf{p}\), the Jacobian of the acceleration with respect to each solve-for parameter. These partials drive the variational equations\[\dot{\mathbf{S}} = F\,\mathbf{S} + \frac{\partial \mathbf{f}}{\partial \mathbf{p}}\]whose solution \(\mathbf{S}\) maps parameter uncertainty into state uncertainty and is required by the orbit-determination filter.
- Parameters:
None
Notes
Concrete sub-classes must implement
compute_acceleration()and optionally_compute_partial_by_position()and the relevant_compute_partial_by_*methods for any solve-for parameters they support.See also
scarabaeus.CannonballSRPSolar radiation pressure (cannonball model).
scarabaeus.FiniteBurnContinuous finite-duration thrust model.
scarabaeus.ImpulsiveBurnInstantaneous delta-v model.
scarabaeus.nPlateSRPMulti-plate solar radiation pressure model.
scarabaeus.PointMassGravitySingle-body Newtonian gravity.
scarabaeus.SphericalHarmonicsGravityGravity field expansion model.
scarabaeus.ThreeBodyGravityThird-body perturbation model.