Skip to content

Commit

Permalink
Added full empirical acceleration estimation
Browse files Browse the repository at this point in the history
  • Loading branch information
DominicDirkx committed Nov 20, 2023
1 parent 5092b4a commit 14a6661
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,7 @@ namespace environment_setup {

m.def("add_radiation_pressure_interface",
&tss::addRadiationPressureInterface,
py::arg("bodies"), py::arg("body_name"), py::arg("radiation_pressure_settings"),
get_docstring("add_radiation_pressure_interface").c_str());
py::arg("bodies"), py::arg("body_name"), py::arg("radiation_pressure_settings"));


m.def("add_radiation_pressure_target_model",
Expand All @@ -215,10 +214,16 @@ namespace environment_setup {
py::arg("bodies"), py::arg("body_name"), py::arg("rotation_model_settings"),
get_docstring("add_rotation_model").c_str());


m.def("add_mass_properties_model",
&tss::addRigidBodyProperties,
py::arg("bodies"), py::arg("body_name"), py::arg("mass_property_settings"),
get_docstring("add_mass_properties_model").c_str());
py::arg("bodies"), py::arg("body_name"), py::arg("mass_property_settings"));

m.def("add_rigid_body_properties",
&tss::addRigidBodyProperties,
py::arg("bodies"), py::arg("body_name"), py::arg("rigid_body_property_settings"),
get_docstring("add_rigid_body_properties").c_str());


m.def("add_engine_model",
&tss::addEngineModel,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,42 @@ namespace tep = tudat::estimatable_parameters;
namespace tss = tudat::simulation_setup;
namespace tp = tudat::propagators;

namespace tudat
{
namespace estimatable_parameters
{
inline std::shared_ptr< EstimatableParameterSettings > empiricalAccelerationMagnitudesFull(
const std::string associatedBody,
const std::string centralBody )
{
std::map< basic_astrodynamics::EmpiricalAccelerationComponents,
std::vector< basic_astrodynamics::EmpiricalAccelerationFunctionalShapes > > componentsToEstimate;
componentsToEstimate[ basic_astrodynamics::radial_empirical_acceleration_component ].push_back(
basic_astrodynamics::constant_empirical );
componentsToEstimate[ basic_astrodynamics::radial_empirical_acceleration_component ].push_back(
basic_astrodynamics::sine_empirical );
componentsToEstimate[ basic_astrodynamics::radial_empirical_acceleration_component ].push_back(
basic_astrodynamics::cosine_empirical );
componentsToEstimate[ basic_astrodynamics::along_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::constant_empirical );
componentsToEstimate[ basic_astrodynamics::along_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::sine_empirical );
componentsToEstimate[ basic_astrodynamics::along_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::cosine_empirical );
componentsToEstimate[ basic_astrodynamics::across_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::constant_empirical );
componentsToEstimate[ basic_astrodynamics::across_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::sine_empirical );
componentsToEstimate[ basic_astrodynamics::across_track_empirical_acceleration_component ].push_back(
basic_astrodynamics::cosine_empirical );

return std::make_shared< EmpiricalAccelerationEstimatableParameterSettings >(
associatedBody, centralBody, componentsToEstimate );
}


}
}
namespace tudatpy {
namespace numerical_simulation {
namespace estimation_setup {
Expand Down Expand Up @@ -135,6 +171,12 @@ void expose_estimated_parameter_setup(py::module &m) {
py::arg("centralBody"),
get_docstring("constant_empirical_acceleration_terms").c_str() );

m.def("full_empirical_acceleration_terms",
&tep::empiricalAccelerationMagnitudesFull,
py::arg("body"),
py::arg("centralBody"),
get_docstring("empirical_accelerations").c_str() );

m.def("empirical_accelerations",
&tep::empiricalAccelerationMagnitudes,
py::arg("body"),
Expand Down

0 comments on commit 14a6661

Please sign in to comment.