Spacecraft Control Framework 1.0
Spacecraft Control Library
sc_multi_body_central_hub.h
Go to the documentation of this file.
1
3
4#ifndef __MULTI_BODY_CENTRAL_HUB__
5#define __MULTI_BODY_CENTRAL_HUB__
6
7#ifdef AS_OS_WINDOWS
8 #include "matrixlib.h"
9#else
10 #include <MatrixLib/MatrixLib.h>
11#endif
12
21{
22
23 private:
25 ml_matrix inr;
27 ml_matrix m;
29 ml_matrix lambda;
31 ml_matrix u;
33 ml_matrix rho;
35 ml_matrix x;
37 ml_matrix x_dot;
39 int n;
41 ml_matrix h;
43 ml_matrix torque0;
45 int momentum_only;
47 ml_matrix inr_core;
48
49 public:
50
54 void add_central_body( const ml_matrix& inr6x1, double m, const ml_matrix& rho );
56 void add_body( const ml_matrix& inr6x1, double m, const ml_matrix& lambda, const ml_matrix& rho, const ml_matrix& u );
58 void initialize_state( const ml_matrix& x );
60 ml_matrix state_derivative( const ml_matrix& x, const ml_matrix& torque );
62 ml_matrix get_inertial_angular_momentum( void ){return h;};
64 ml_matrix get_inertia( void ){return inr_core;};
66 int get_number_of_bodies( void ){return n;};
68 void set_hub_torque( const ml_matrix& torque ){torque0 = torque;};
70 void set_compute_momentum_only( void ){momentum_only = 1;};
72 void set_compute_rhs( void ){momentum_only = 0;};
73};
74
75
76#endif
Definition: sc_multi_body_central_hub.h:21
ml_matrix get_inertia(void)
Angular momentum.
Definition: sc_multi_body_central_hub.h:64
ml_matrix state_derivative(const ml_matrix &x, const ml_matrix &torque)
Update the state.
Definition: sc_multi_body_central_hub.cc:81
void add_body(const ml_matrix &inr6x1, double m, const ml_matrix &lambda, const ml_matrix &rho, const ml_matrix &u)
Initialize all state matrices.
Definition: sc_multi_body_central_hub.cc:48
void add_central_body(const ml_matrix &inr6x1, double m, const ml_matrix &rho)
Initialize all state matrices.
Definition: sc_multi_body_central_hub.cc:24
void initialize_state(const ml_matrix &x)
Initialize pitch matrices.
Definition: sc_multi_body_central_hub.cc:74
ml_matrix get_inertial_angular_momentum(void)
Angular momentum.
Definition: sc_multi_body_central_hub.h:62
int get_number_of_bodies(void)
Number of bodies.
Definition: sc_multi_body_central_hub.h:66
void set_compute_rhs(void)
Momentum only.
Definition: sc_multi_body_central_hub.h:72
void set_hub_torque(const ml_matrix &torque)
Hub torque.
Definition: sc_multi_body_central_hub.h:68
multi_body_central_hub(void)
Constructor.
Definition: sc_multi_body_central_hub.cc:17
void set_compute_momentum_only(void)
Momentum only.
Definition: sc_multi_body_central_hub.h:70