26#ifndef MODELS_SUPPORT_SIX_DOF_DYNAMICS_MODEL
27#define MODELS_SUPPORT_SIX_DOF_DYNAMICS_MODEL
113 int16
start()
override;
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition appmacros.h:27
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
Class for inter-object communication.
Definition DataIO.hpp:60
Wrapper to manage and convert time as timespce.
Definition Time.h:53
Base app class for derived implementation.
Definition App.h:55
Executive derivation specifically to run flight systems.
Definition FlightExecutive.h:46
Definition ForwardEulerIntegrator.hpp:34
Definition RK4Integrator.hpp:33
Definition FrameDynamics.h:34
Frame class definition.
Definition Frame.h:96
warpos::ForwardEulerIntegrator< NUM_INTEGRATED_STATES > * _fe_ptr
Definition SixDOFDynamicsModel.h:139
virtual ~SixDOFDynamicsModel()
Definition SixDOFDynamicsModel.h:108
std::array< double, NUM_INTEGRATED_STATES > _tmp_state
Definition SixDOFDynamicsModel.h:146
void reset()
Function to reset our integrator for next step.
Definition SixDOFDynamicsModel.h:111
clockwerk::Time _half_step_size
Temporary variable for time calculation in RK4.
Definition SixDOFDynamicsModel.h:150
int16 execute() override
Definition SixDOFDynamicsModel.cpp:65
unsigned int _integrator_steps_per_step
Definition SixDOFDynamicsModel.h:133
int _recurseRefreshFrameIntegratorSet(Frame *frame_ptr)
Function to recursively loop through frames and set their integrators.
Definition SixDOFDynamicsModel.cpp:250
warpos::RK4Integrator< NUM_INTEGRATED_STATES > * _rk4_ptr
Definition SixDOFDynamicsModel.h:138
std::vector< GraphTreeObject * > _frame_children
Definition SixDOFDynamicsModel.h:147
int _integrateRecursiveRk4(Frame *frame_ptr)
Function to recursively integrate the frame tree via RK4.
Definition SixDOFDynamicsModel.cpp:160
std::list< warpos::ForwardEulerIntegrator< NUM_INTEGRATED_STATES > > _fe_integrators
Vectors of integrators – allows for dynamic integrator numbers.
Definition SixDOFDynamicsModel.h:136
FrameDynamics _frame_dynamics
Our dynamics model for frames.
Definition SixDOFDynamicsModel.h:142
SixDOFDynamicsModel(warpos::FlightExecutive &executive)
Definition SixDOFDynamicsModel.cpp:26
int _integrateRecursiveForwardEuler(Frame *frame_ptr)
Function to recursively integrate the frame tree via forward euler.
Definition SixDOFDynamicsModel.cpp:117
std::list< warpos::RK4Integrator< NUM_INTEGRATED_STATES > > _rk4_integrators
Definition SixDOFDynamicsModel.h:137
int16 start() override
Definition SixDOFDynamicsModel.cpp:31
unsigned int _integrator_step_num
Variables to track integrator type and steps.
Definition SixDOFDynamicsModel.h:132
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
integrator_type_e
Definition SixDOFDynamicsModel.h:46
@ FORWARD_EULER
Definition SixDOFDynamicsModel.h:47
@ RK4
Definition SixDOFDynamicsModel.h:48
clockwerk::DataIO< clockwerk::Time > current_time
Definition SixDOFDynamicsModel.h:102
clockwerk::DataIO< Frame * > root_frame_ptr
Definition SixDOFDynamicsModel.h:86
clockwerk::DataIO< int > integrator_type
Definition SixDOFDynamicsModel.h:83