mga_dsm.hpp
Go to the documentation of this file.
1 // ------------------------------------------------------------------------ //
2 // This source file is part of the 'ESA Advanced Concepts Team's //
3 // Space Mechanics Toolbox' software. //
4 // //
5 // The source files are for research use only, //
6 // and are distributed WITHOUT ANY WARRANTY. Use them on your own risk. //
7 // //
8 // Copyright (c) 2004-2007 European Space Agency //
9 // ------------------------------------------------------------------------ //
10 
11 #pragma once
12 
13 #include <vector>
14 #include "mga.hpp"
15 
17 {
18  int type; //problem type
19  std::vector<int> sequence; //fly-by sequence (ex: 3,2,3,3,5,is Earth-Venus-Earth-Earth-Jupiter)
20  double e; //insertion e (only in case total_DV_orbit_insertion)
21  double rp; //insertion rp in km (only in case total_DV_orbit_insertion)
22  customobject asteroid; //asteroid data (in case fly-by sequence has a final number = 10)
23  double AUdist; //Distance to reach in AUs (only in case of time2AUs)
24  double DVtotal; //Total DV allowed in km/s (only in case of time2AUs)
25  double DVonboard; //Total DV on the spacecraft in km/s (only in case of time2AUs)
26 
27  //Pre-allocated memory, in order to remove allocation of heap space in MGA_DSM calls
28  //The DV vector serves also as output containing all the values for the impulsive DV
29  std::vector<double *> r; // = std::vector<double*>(n);
30  std::vector<double *> v; // = std::vector<double*>(n);
31  std::vector<double> DV; // = std::vector<double>(n+1);
32 };
33 
34 int MGA_DSM(
35  /* INPUT values: */
36  std::vector<double> x, // it is the decision vector
37  mgadsmproblem &mgadsm, // contains the problem specific data, passed as reference as mgadsm.DV is an output
38 
39  /* OUTPUT values: */
40  double &J // J output
41 );
Definition: mga.hpp:26
std::vector< double > DV
Definition: mga_dsm.hpp:31
std::vector< double * > r
Definition: mga_dsm.hpp:29
double rp
Definition: mga_dsm.hpp:21
std::vector< int > sequence
Definition: mga_dsm.hpp:19
int MGA_DSM(std::vector< double > x, mgadsmproblem &mgadsm, double &J)
Definition: mga_dsm.cpp:373
double AUdist
Definition: mga_dsm.hpp:23
Definition: mga_dsm.hpp:16
customobject asteroid
Definition: mga_dsm.hpp:22
std::vector< double * > v
Definition: mga_dsm.hpp:30
int type
Definition: mga_dsm.hpp:18
double DVonboard
Definition: mga_dsm.hpp:25
double DVtotal
Definition: mga_dsm.hpp:24
double e
Definition: mga_dsm.hpp:20