2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
18
19
20
22#ifndef MODELS_ENVIRONMENT_ASPHERICAL_GRAVITY_MODEL_H
23#define MODELS_ENVIRONMENT_ASPHERICAL_GRAVITY_MODEL_H
25#include "core/macros.h"
26#include "simulation/Model.h"
27#include "six_dof_dynamics/Frame.hpp"
28#include "six_dof_dynamics/Node.hpp"
29#include "utils/frameutils.hpp"
30#include "utils/planetdefaults.h"
35 const double PC_15_2 = 0.5*15.0;
36 const double PC_3_2 = 0.5*3.0;
37 const double PC_35_2 = 0.5*35;
40
41
42
43
44
53
54 SIGNAL(
mu,
double, clockwerk::earth_wgs84.mu)
56
57 SIGNAL(
J2,
double, clockwerk::earth_wgs84.J2)
59
60 SIGNAL(
J3,
double, clockwerk::earth_wgs84.J3)
64
89 AsphericalGravityModel();
90 AsphericalGravityModel(
Model &pnt,
const std::string &m_name=
"aspherical_gravity");
91 AsphericalGravityModel(
SimulationExecutive &e,
const std::string &m_name=
"aspherical_gravity");
92 AsphericalGravityModel(
Model &pnt,
int schedule_slot,
const std::string &m_name=
"aspherical_gravity");
93 AsphericalGravityModel(
SimulationExecutive &e,
int schedule_slot,
const std::string &m_name=
"aspherical_gravity");
94 ~AsphericalGravityModel() {}
Aspherical gravity model with J2 and J3 effects.
Definition AsphericalGravityModel.h:45
int start()
Function to perform task startup activities (step once after creation)
Definition AsphericalGravityModel.cpp:35
int execute()
Function to execute the task. All math and calculations should be here.
Definition AsphericalGravityModel.cpp:44
Base model class for derived implementation.
Definition Model.h:56
Implementation of the executive class for simulation.
Definition SimulationExecutive.h:63
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition macros.h:87
#define START_PARAMS
Definition macros.h:96
#define CartesianVector3D
Definition macros.h:54
#define END_OUTPUTS
Definition macros.h:90
#define END_PARAMS
Definition macros.h:98
#define START_OUTPUTS
Definition macros.h:88
#define END_INPUTS
Definition macros.h:94
#define START_INPUTS
Definition macros.h:92
Class to propagate CR3BP dynamics in characteristic units.
Definition ConfigurationWriter.cpp:18
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > grav_mu
Definition AsphericalGravityModel.h:81
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > grav_J3
Definition AsphericalGravityModel.h:85
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > grav_J2
Definition AsphericalGravityModel.h:83
clockwerk::DataIO< clockwerk::CartesianVector< double, 3 > > grav_force__f
Definition AsphericalGravityModel.h:79
clockwerk::DataIO< double > J3
Definition AsphericalGravityModel.h:60
clockwerk::DataIO< double > mu
Definition AsphericalGravityModel.h:54
clockwerk::DataIO< double > r_planet
Definition AsphericalGravityModel.h:62
clockwerk::DataIO< double > J2
Definition AsphericalGravityModel.h:57
clockwerk::DataIO< double > body_mass
Definition AsphericalGravityModel.h:65