#include "pass_bits/helper/astro_problems/astro_functions.hpp"#include "pass_bits/helper/astro_problems/lambert.hpp"#include "pass_bits/helper/astro_problems/mga_dsm.hpp"#include "pass_bits/helper/astro_problems/pl_eph_an.hpp"#include "pass_bits/helper/astro_problems/propagate_kep.hpp"
Functions | |
| void | vector_normalize (const double in[3], double out[3]) |
| void | get_celobj_r_and_v (const mgadsmproblem &problem, const double T, const int i_count, double *r, double *v) |
| void | precalculate_ers_and_vees (const std::vector< double > &t, const mgadsmproblem &problem, std::vector< double *> &r, std::vector< double *> &v) |
| double | get_celobj_mu (const mgadsmproblem &problem, const int i_count) |
| void | first_block (const std::vector< double > &t, const mgadsmproblem &problem, const std::vector< double *> &r, std::vector< double *> &v, std::vector< double > &DV, double v_sc_nextpl_in[3]) |
| void | intermediate_block (const std::vector< double > &t, const mgadsmproblem &problem, const std::vector< double *> &r, const std::vector< double *> &v, int i_count, const double v_sc_pl_in[], std::vector< double > &DV, double *v_sc_nextpl_in) |
| void | final_block (const mgadsmproblem &problem, const std::vector< double *> &v, const double v_sc_pl_in[], std::vector< double > &DV) |
| double | time2distance (const double *r0, const double *v0, double rtarget) |
| int | MGA_DSM (std::vector< double > t, mgadsmproblem &problem, double &J) |
Variables | |
| const double | MU [9] |
| const double | RPL [6] |
Function Documentation
◆ final_block()
| void final_block | ( | const mgadsmproblem & | problem, |
| const std::vector< double *> & | v, | ||
| const double | v_sc_pl_in[], | ||
| std::vector< double > & | DV | ||
| ) |


◆ first_block()
| void first_block | ( | const std::vector< double > & | t, |
| const mgadsmproblem & | problem, | ||
| const std::vector< double *> & | r, | ||
| std::vector< double *> & | v, | ||
| std::vector< double > & | DV, | ||
| double | v_sc_nextpl_in[3] | ||
| ) |
t - decision vector problem - problem parameters r - planet positions v - planet velocities DV - [output] velocity contributions table v_sc_pl_in - [output] next hop input speed


◆ get_celobj_mu()
| double get_celobj_mu | ( | const mgadsmproblem & | problem, |
| const int | i_count | ||
| ) |
Get gravitational constant of an celestial object of interest.
problem - concerned problem i_count - hop number (starting from 0)

◆ get_celobj_r_and_v()
| void get_celobj_r_and_v | ( | const mgadsmproblem & | problem, |
| const double | T, | ||
| const int | i_count, | ||
| double * | r, | ||
| double * | v | ||
| ) |
Compute velocity and position of an celestial object of interest at specified time.
problem - concerned problem T - time i_count - hop number (starting from 0) r - [output] object's position v - [output] object's velocity


◆ intermediate_block()
| void intermediate_block | ( | const std::vector< double > & | t, |
| const mgadsmproblem & | problem, | ||
| const std::vector< double *> & | r, | ||
| const std::vector< double *> & | v, | ||
| int | i_count, | ||
| const double | v_sc_pl_in[], | ||
| std::vector< double > & | DV, | ||
| double * | v_sc_nextpl_in | ||
| ) |


◆ MGA_DSM()
| int MGA_DSM | ( | std::vector< double > | t, |
| mgadsmproblem & | problem, | ||
| double & | J | ||
| ) |


◆ precalculate_ers_and_vees()
| void precalculate_ers_and_vees | ( | const std::vector< double > & | t, |
| const mgadsmproblem & | problem, | ||
| std::vector< double *> & | r, | ||
| std::vector< double *> & | v | ||
| ) |
Precomputes all velocities and positions of celestial objects of interest for the problem. Before calling this function, r and v verctors must be pre-allocated with sufficient amount of entries.
problem - concerned problem r - [output] array of position vectors v - [output] array of velocity vectors


◆ time2distance()
| double time2distance | ( | const double * | r0, |
| const double * | v0, | ||
| double | rtarget | ||
| ) |


◆ vector_normalize()
| void vector_normalize | ( | const double | in[3], |
| double | out[3] | ||
| ) |


Variable Documentation
◆ MU
| const double MU[9] |
◆ RPL
| const double RPL[6] |