dynamicObject#

Object that is to be used by an integrator. This holds the equations of motion, integrate state, energy and momentum calculations. dynamicObject is what puts all of the pieces together for your system

class DynamicObject : public SysModel#

A DynamicObject is a Basilisk model with states that must be integrated

Subclassed by Spacecraft

Public Functions

virtual void updateState(uint64_t callTime) = 0#

Hooks the dyn-object into Basilisk architecture

virtual void equationsOfMotion(double t, double timeStep) = 0#

Computes F = Xdot(X,t)

virtual void preIntegration(double callTime) = 0#

Performs pre-integration steps

virtual void postIntegration(double callTime) = 0#

Performs post-integration steps

inline virtual void initializeDynamics()#

Initializes the dynamics and variables

inline virtual void computeEnergyMomentum(double t)#

Computes energy and momentum of the system

void integrateState(double t)#

Prepares the dynamic object to be integrated, integrates the states forward in time, and finally performs the post-integration steps.

This is only done if the DynamicObject integration is not sync’d to another DynamicObject

void setIntegrator(StateVecIntegrator *newIntegrator)#

Sets a new integrator in use

void syncDynamicsIntegration(DynamicObject *dynPtr)#

Connects the integration of a DynamicObject to the integration of this DynamicObject.

Public Members

DynParamManager dynManager#

Dynamics parameter manager for all effectors

StateVecIntegrator *integrator#

Integrator used to propagate state forward

BSKLogger bskLogger#

BSK Logging

bool isDynamicsSynced = false#

flag indicating that another spacecraft object is controlling the integration

double timeStep#

[s] integration time step

double timeBefore#

[s] prior time value