diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp index 287a52dd..aa8d204c 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp @@ -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", @@ -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, diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_estimated_parameter_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_estimated_parameter_setup.cpp index eef00718..41b27f44 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_estimated_parameter_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_estimated_parameter_setup.cpp @@ -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 { @@ -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"),