From 2d00d54b7ab22bf5f75085924b4dbca9c44944b4 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Mon, 21 Aug 2023 14:17:27 +0200 Subject: [PATCH 01/13] Removing pointing angles for now --- .../expose_environment.cpp | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp index 6ee51cb7..c5919e58 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp @@ -611,19 +611,19 @@ void expose_environment(py::module &m) { .def_property_readonly("pointing_angles_calculator", &tgs::GroundStation::getPointingAnglesCalculator ) .def_property_readonly("station_state", &tgs::GroundStation::getNominalStationState ); - - py::class_>(m, "PointingAnglesCalculator") - .def("calculate_elevation_angle", &tgs::PointingAnglesCalculator::calculateElevationAngle, - py::arg( "inertial_vector_to_target" ), - py::arg( "time" ) ) - .def("calculate_azimuth_angle", &tgs::PointingAnglesCalculator::calculateAzimuthAngle, - py::arg( "inertial_vector_to_target" ), - py::arg( "time" ) ) - .def("convert_inertial_vector_to_topocentric", - &tgs::PointingAnglesCalculator::convertVectorFromInertialToTopocentricFrame, - py::arg( "inertial_vector" ), - py::arg( "time" ) ); +// +// py::class_>(m, "PointingAnglesCalculator") +// .def("calculate_elevation_angle", &tgs::PointingAnglesCalculator::calculateElevationAngle, +// py::arg( "inertial_vector_to_target" ), +// py::arg( "time" ) ) +// .def("calculate_azimuth_angle", &tgs::PointingAnglesCalculator::calculateAzimuthAngle, +// py::arg( "inertial_vector_to_target" ), +// py::arg( "time" ) ) +// .def("convert_inertial_vector_to_topocentric", +// &tgs::PointingAnglesCalculator::convertVectorFromInertialToTopocentricFrame, +// py::arg( "inertial_vector" ), +// py::arg( "time" ) ); /*! From 4beff4a75b1d3ccbbfa9d2f4da133269714254f0 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Tue, 22 Aug 2023 09:29:17 +0200 Subject: [PATCH 02/13] Modified iterface for state transition interface --- .../kernel/expose_numerical_simulation/expose_estimation.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp index a269629b..87fbbb9a 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp @@ -392,12 +392,14 @@ void expose_estimation(py::module &m) { &tp::CombinedStateTransitionAndSensitivityMatrixInterface:: getCombinedStateTransitionAndSensitivityMatrix, py::arg("time"), + py::arg("add_central_body_dependency") = true, py::arg("arc_defining_bodies" ) = std::vector< std::string >( ), get_docstring("CombinedStateTransitionAndSensitivityMatrixInterface.state_transition_sensitivity_at_epoch").c_str() ) .def("full_state_transition_sensitivity_at_epoch", &tp::CombinedStateTransitionAndSensitivityMatrixInterface:: getFullCombinedStateTransitionAndSensitivityMatrix, py::arg("time"), + py::arg("add_central_body_dependency") = true, py::arg("arc_defining_bodies" ) = std::vector< std::string >( ), get_docstring("CombinedStateTransitionAndSensitivityMatrixInterface.full_state_transition_sensitivity_at_epoch").c_str() ) .def_property_readonly( From f9cacf919666c1a35d7fddda85e04a707bb27769 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Fri, 8 Sep 2023 17:00:40 +0200 Subject: [PATCH 03/13] Adding dependent variable id function --- .../expose_dependent_variable_setup.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp index e001078d..0fca2810 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp @@ -273,14 +273,16 @@ namespace dependent_variable { // py::arg("component_index") = -1); + m.def("get_dependent_variable_id", + &tp::getDependentVariableId, + py::arg("dependent_variable_settings"), + get_docstring("get_dependent_variable_id").c_str()); + + ////////////////////////////////////////////////////////////////////////////////////// /// FREE FUNCTIONS /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// -// m.def("create", -// &tp::createDependentVariableSaveSettings, -// py::arg("dependent_variable_list"), -// py::arg("print_variable_indices") = true); m.def("mach_number", &tp::machNumberDependentVariable, From 91cd63f5707c7363ac5e978ee42e5b223fb6b66b Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Mon, 11 Sep 2023 20:44:36 +0200 Subject: [PATCH 04/13] Added functions to check existing bodies --- .../expose_numerical_simulation/expose_environment.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp index c5919e58..9cd5c45d 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp @@ -677,6 +677,13 @@ void expose_environment(py::module &m) { py::arg("body_name"), py::arg("process_body") = 1, get_docstring("SystemOfBodies.create_empty_body").c_str()) + .def("does_body_exist", &tss::SystemOfBodies::doesBodyExist, + py::arg("body_name"), + get_docstring("SystemOfBodies.does_body_exist").c_str()) + .def("list_of_bodies", &tss::SystemOfBodies::getListOfBodies, + get_docstring("SystemOfBodies.list_of_bodies").c_str()) +// .def("get_body_dict", &tss::SystemOfBodies::getMap, +// get_docstring("SystemOfBodies.get_body_dict").c_str()) .def("add_body", &tss::SystemOfBodies::addBody, py::arg("body_to_add"), py::arg("body_name"), @@ -685,6 +692,7 @@ void expose_environment(py::module &m) { .def("remove_body", &tss::SystemOfBodies::deleteBody, py::arg("body_name"), get_docstring("SystemOfBodies.remove_body").c_str()); + // .def_property_readonly("number_of_bodies", &tss::SystemOfBodies::getNumberOfBodies, // get_docstring("number_of_bodies").c_str() ); From 06ff06ad708601f9d8f4f4dabc7f6f87fa6dbcd7 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Fri, 15 Sep 2023 17:02:20 +0200 Subject: [PATCH 05/13] Added global frame origin and orientation retrieval --- .../expose_numerical_simulation/expose_environment.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp index 9cd5c45d..ce68aadc 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_environment.cpp @@ -691,7 +691,11 @@ void expose_environment(py::module &m) { get_docstring("SystemOfBodies.add_body").c_str()) .def("remove_body", &tss::SystemOfBodies::deleteBody, py::arg("body_name"), - get_docstring("SystemOfBodies.remove_body").c_str()); + get_docstring("SystemOfBodies.remove_body").c_str()) + .def("global_frame_orientation", &tss::SystemOfBodies::getFrameOrientation, + get_docstring("SystemOfBodies.global_frame_orientation").c_str()) + .def("global_frame_origin", &tss::SystemOfBodies::getFrameOrigin, + get_docstring("SystemOfBodies.global_frame_origin").c_str()); // .def_property_readonly("number_of_bodies", &tss::SystemOfBodies::getNumberOfBodies, // get_docstring("number_of_bodies").c_str() ); From 97fe7d216611b37d4f02ffb720146160215c9160 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Sat, 16 Sep 2023 13:46:00 +0200 Subject: [PATCH 06/13] Bumping version --- .bumpversion.cfg | 2 +- version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index a7f576fb..f4b95545 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.7.3.dev18 +current_version = 0.7.3.dev20 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\.(?P[a-z]+)(?P\d+))? diff --git a/version b/version index e189e3c6..9f5f0607 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.7.3.dev18 +0.7.3.dev20 From b25f0858443f4fa3c885f16b97fa632e1b2ae54c Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Sat, 16 Sep 2023 21:17:47 +0200 Subject: [PATCH 07/13] Added new definition of weights --- .../expose_estimation.cpp | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp index 87fbbb9a..e3e6e3fa 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp @@ -511,21 +511,42 @@ void expose_estimation(py::module &m) { &tss::CovarianceAnalysisInput::setConstantWeightsMatrix, py::arg( "weight" ), get_docstring("CovarianceAnalysisInput.set_constant_weight").c_str() ) + .def( "set_constant_single_observable_weight", + &tss::CovarianceAnalysisInput::setConstantSingleObservableWeights, + py::arg( "observable_type" ), + py::arg( "weight" ), + get_docstring("CovarianceAnalysisInput.set_constant_single_observable_weight").c_str() ) + .def( "set_constant_single_observable_vector_weight", + &tss::CovarianceAnalysisInput::setConstantSingleObservableVectorWeights, + py::arg( "observable_type" ), + py::arg( "weight" ), + get_docstring("CovarianceAnalysisInput.set_constant_single_observable_vector_weight").c_str() ) + .def( "set_constant_single_observable_and_link_end_weight", + &tss::CovarianceAnalysisInput::setConstantSingleObservableAndLinkEndsWeights, + py::arg( "observable_type" ), + py::arg( "link_ends" ), + py::arg( "weight" ), + get_docstring("CovarianceAnalysisInput.set_constant_single_observable_and_link_end_vector_weight").c_str() ) + .def( "set_constant_single_observable_and_link_end_vector_weight", + &tss::CovarianceAnalysisInput::setConstantSingleObservableAndLinkEndsVectorWeights, + py::arg( "observable_type" ), + py::arg( "link_ends" ), + py::arg( "weight" ), + get_docstring("CovarianceAnalysisInput.set_constant_single_observable_and_link_end_vector_weight").c_str() ) + .def( "set_total_single_observable_and_link_end_vector_weight", + &tss::CovarianceAnalysisInput::setTabulatedSingleObservableAndLinkEndsWeights, + py::arg( "observable_type" ), + py::arg( "link_ends" ), + py::arg( "weight_vector" ), + get_docstring("CovarianceAnalysisInput.set_constant_single_observable_and_link_end_vector_weight").c_str() ) .def( "set_constant_weight_per_observable", &tss::CovarianceAnalysisInput::setConstantPerObservableWeightsMatrix, py::arg( "weight_per_observable" ), get_docstring("CovarianceAnalysisInput.set_constant_weight_per_observable").c_str() ) - .def( "set_constant_weight_per_observable", - &tss::CovarianceAnalysisInput::setTabulatedPerObservableAndLinkEndsWeights, + .def( "set_constant_vector_weight_per_observable", + &tss::CovarianceAnalysisInput::setConstantPerObservableVectorWeightsMatrix, py::arg( "weight_per_observable" ), get_docstring("CovarianceAnalysisInput.set_constant_weight_per_observable").c_str() ) - .def( "set_constant_weight_per_observable_and_link_end", - py::overload_cast< const tom::ObservableType, const tom::LinkEnds&, const double >( - &tss::CovarianceAnalysisInput::setConstantPerObservableAndLinkEndsWeights ), - py::arg( "observable_type" ), - py::arg( "link_ends" ), - py::arg( "weight_per_observable" ), - get_docstring("CovarianceAnalysisInput.set_constant_weight_per_observable_and_link_end").c_str() ) .def( "define_covariance_settings", &tss::CovarianceAnalysisInput::defineCovarianceSettings, py::arg( "reintegrate_equations_on_first_iteration" ) = true, From 9ef5c0e493101aca802ba946c59e4b40f0479ffb Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Wed, 20 Sep 2023 14:28:07 +0200 Subject: [PATCH 08/13] Added functions to retrieve more information on dependent variables --- .../expose_numerical_simulation/expose_propagation.cpp | 6 ++++++ .../expose_dependent_variable_setup.cpp | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation.cpp index 3a8f9fbe..12c4cede 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation.cpp @@ -267,6 +267,12 @@ void expose_propagation(py::module &m) .def_property_readonly("dependent_variable_ids", &tp::SingleArcSimulationResults::getDependentVariableId, get_docstring("SingleArcSimulationResults.dependent_variable_ids").c_str() ) + .def_property_readonly("ordered_dependent_variable_settings", + &tp::SingleArcSimulationResults::getOrderedDependentVariableSettings, + get_docstring("SingleArcSimulationResults.ordered_dependent_variable_settings").c_str() ) + .def_property_readonly("unordered_dependent_variable_settings", + &tp::SingleArcSimulationResults::getOriginalDependentVariableSettings, + get_docstring("SingleArcSimulationResults.unordered_dependent_variable_settings").c_str() ) .def_property_readonly("processed_state_ids", &tp::SingleArcSimulationResults::getProcessedStateIds, get_docstring("SingleArcSimulationResults.state_ids").c_str() ) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp index 0fca2810..42b8d32c 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp @@ -278,7 +278,15 @@ namespace dependent_variable { py::arg("dependent_variable_settings"), get_docstring("get_dependent_variable_id").c_str()); + m.def("get_dependent_variable_size", + &tp::getDependentVariableSaveSize, + py::arg("dependent_variable_settings"), + get_docstring("get_dependent_variable_size").c_str()); + m.def("get_dependent_variable_shape", + &tp::getDependentVariableShape, + py::arg("dependent_variable_settings"), + get_docstring("get_dependent_variable_shape").c_str()); ////////////////////////////////////////////////////////////////////////////////////// /// FREE FUNCTIONS /////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// From 8da163edf9df1f59d33a7f348b7c9ae10f5be8e0 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Wed, 20 Sep 2023 20:53:04 +0200 Subject: [PATCH 09/13] Corrected dependent variable saving --- .../expose_propagation_setup/expose_propagator_setup.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_propagator_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_propagator_setup.cpp index 39636933..47df6da9 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_propagator_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_propagator_setup.cpp @@ -110,8 +110,8 @@ void expose_propagator_setup(py::module &m) { &tp::PropagatorProcessingSettings::setClearNumericalSolutions, get_docstring("PropagatorProcessingSettings.clear_numerical_solution").c_str() ) .def_property("create_dependent_variable_interface", - &tp::PropagatorProcessingSettings::getCreateDependentVariablesInterface, - &tp::PropagatorProcessingSettings::setCreateDependentVariablesInterface, + &tp::PropagatorProcessingSettings::getUpdateDependentVariableInterpolator, + &tp::PropagatorProcessingSettings::setUpdateDependentVariableInterpolator, get_docstring("PropagatorProcessingSettings.create_dependent_variable_interface").c_str() ); py::class_ Date: Tue, 26 Sep 2023 21:15:10 +0200 Subject: [PATCH 10/13] Exposed yarkovsky acceleration and parameter --- .../expose_estimated_parameter_setup.cpp | 5 +++++ .../expose_propagation_setup/expose_acceleration_setup.cpp | 4 ++++ 2 files changed, 9 insertions(+) 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 07a40948..12a13bb5 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 @@ -388,6 +388,11 @@ void expose_estimated_parameter_setup(py::module &m) { py::arg("body_name"), get_docstring("scaled_longitude_libration_amplitude").c_str() ); + m.def("yarkovsky_parameter", + &tep::yarkovskyParameter, + py::arg("body_name"), + py::arg("central_body_name") = "Sun", + get_docstring("yarkovsky_parameter").c_str() ); // ############### Global (GR) Model Parameters ################################ m.def("ppn_parameter_gamma", diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_acceleration_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_acceleration_setup.cpp index 5854beb8..a829942f 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_acceleration_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_acceleration_setup.cpp @@ -248,6 +248,10 @@ void expose_acceleration_setup(py::module &m) { py::arg( "cosine_acceleration" ) = Eigen::Vector3d::Zero( ), get_docstring("empirical").c_str()); + m.def("yarkovsky", &tss::yarkovskyAcceleration, + py::arg( "yarkovsky_parameter" ), + get_docstring("yarkovsky").c_str()); + m.def("custom", &tss::customAccelerationSettingsDeprecated, py::arg( "acceleration_function" ) ); From 1d3874cead10020dc107e8a7d248592189e09b7e Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Tue, 26 Sep 2023 21:25:02 +0200 Subject: [PATCH 11/13] Added exposure of new estimation settings --- .../expose_environment_setup.cpp | 3 ++- .../expose_estimation.cpp | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp index 01e07536..569b465b 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_environment_setup.cpp @@ -44,6 +44,7 @@ namespace ta = tudat::aerodynamics; namespace trf = tudat::reference_frames; namespace tg = tudat::gravitation; namespace tcc = tudat::coordinate_conversions; +namespace tp = tudat::propagators; @@ -153,7 +154,7 @@ namespace environment_setup { py::arg("body_settings"), get_docstring("create_system_of_bodies").c_str()); - m.def("add_empty_tabulated_ephemeris", &tss::addEmptyTabulatedEphemeris, + m.def("add_empty_tabulated_ephemeris", &tp::addEmptyTabulatedEphemeris< double, TIME_TYPE >, py::arg("bodies"), py::arg("body_name"), py::arg("ephemeris_origin") = "", diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp index e3e6e3fa..07e4ca71 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp @@ -502,10 +502,12 @@ void expose_estimation(py::module &m) { .def(py::init< const std::shared_ptr< tom::ObservationCollection >&, const Eigen::MatrixXd, - const Eigen::MatrixXd >( ), + const Eigen::MatrixXd, + const double >( ), py::arg( "observations_and_times" ), py::arg( "inverse_apriori_covariance" ) = Eigen::MatrixXd::Zero( 0, 0 ), py::arg( "consider_covariance" ) = Eigen::MatrixXd::Zero( 0, 0 ), + py::arg( "limit_condition_number_for_warning" ) = 1.0E8, get_docstring("CovarianceAnalysisInput.ctor").c_str() ) .def( "set_constant_weight", &tss::CovarianceAnalysisInput::setConstantWeightsMatrix, @@ -568,12 +570,18 @@ void expose_estimation(py::module &m) { const Eigen::MatrixXd, std::shared_ptr< tss::EstimationConvergenceChecker >, const Eigen::MatrixXd, - const Eigen::VectorXd >( ), + const Eigen::VectorXd, + const double, + const bool, + const bool >( ), py::arg( "observations_and_times" ), py::arg( "inverse_apriori_covariance" ) = Eigen::MatrixXd::Zero( 0, 0 ), py::arg( "convergence_checker" ) = std::make_shared< tss::EstimationConvergenceChecker >( ), py::arg( "consider_covariance" ) = Eigen::MatrixXd::Zero( 0, 0 ), py::arg( "consider_parameters_deviations" ) = Eigen::VectorXd::Zero( 0 ), + py::arg( "limit_condition_number_for_warning" ) = 1.0E8, + py::arg( "condition_number_warning_each_iteration" ) = true, + py::arg( "apply_final_parameter_correction" ) = true, get_docstring("EstimationInput.ctor").c_str() ) .def( "define_estimation_settings", &tss::EstimationInput::defineEstimationSettings, From 28c4c05720e9156390dc51750d2f9bb8f2b2c2c9 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Sat, 30 Sep 2023 17:09:41 +0200 Subject: [PATCH 12/13] Small exposure updates; version bump --- examples | 2 +- .../expose_observation_setup.cpp | 7 +++++++ .../expose_dependent_variable_setup.cpp | 10 ++++++++++ version | 2 +- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/examples b/examples index 2cabc344..4ce9ef33 160000 --- a/examples +++ b/examples @@ -1 +1 @@ -Subproject commit 2cabc3446add1af915eeb8301a5d811caf9666be +Subproject commit 4ce9ef33919d2a685ec708f310a0b6e23a6d4236 diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_observation_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_observation_setup.cpp index 8c8a283e..35fc583f 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_observation_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation_setup/expose_observation_setup.cpp @@ -345,6 +345,13 @@ void expose_observation_setup(py::module &m) { py::arg("bias_settings") = nullptr, get_docstring("cartesian_position").c_str() ); + m.def("relative_cartesian_position", + &tom::relativePositionObservableSettings, + py::arg("link_ends"), + py::arg("bias_settings") = nullptr, + get_docstring("cartesian_position").c_str() ); + + m.def("cartesian_velocity", &tom::velocityObservableSettings, py::arg("link_ends"), diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp index 42b8d32c..cbfb7ee5 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_propagation_setup/expose_dependent_variable_setup.cpp @@ -708,6 +708,16 @@ namespace dependent_variable { py::arg("minimum_elevation_angle"), get_docstring("minimum_visible_station_body_distances").c_str()); + m.def("center_of_mass", + &tp::centerOfMassVariableSaveSettings, + py::arg("body"), + get_docstring("center_of_mass").c_str()); + + m.def("inertia_tensor", + &tp::inertiaTensorVariableSaveSettings, + py::arg("body"), + get_docstring("inertia_tensor").c_str()); + } diff --git a/version b/version index 9f5f0607..8bf29adc 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.7.3.dev20 +0.7.3.dev21 From c967acb83f43dc8b19c5bb44bdf338659d4e94a5 Mon Sep 17 00:00:00 2001 From: Dominic Dirkx Date: Sat, 30 Sep 2023 17:41:05 +0200 Subject: [PATCH 13/13] Added functionality fot tudatpy issue 113 --- .../kernel/expose_numerical_simulation/expose_estimation.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp index 07e4ca71..06f38d75 100644 --- a/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp +++ b/tudatpy/kernel/expose_numerical_simulation/expose_estimation.cpp @@ -343,6 +343,11 @@ void expose_estimation(py::module &m) { get_docstring("ObservationCollection.observation_vector_size").c_str() ) .def_property_readonly("sorted_observation_sets", &tom::ObservationCollection::getSortedObservationSets, get_docstring("ObservationCollection.sorted_observation_sets").c_str() ) + .def_property_readonly("link_definitions_per_observable", &tom::ObservationCollection::getLinkDefinitionsPerObservable, + get_docstring("ObservationCollection.link_definitions_per_observable").c_str() ) + .def("get_link_definitions_for_observables", &tom::ObservationCollection::getLinkDefinitionsForSingleObservable, + py::arg( "observable_type" ), + get_docstring("ObservationCollection.get_link_definitions_for_observables").c_str() ) .def("get_single_link_and_type_observations", &tom::ObservationCollection::getSingleLinkAndTypeObservationSets, py::arg( "observable_type" ), py::arg( "link_definition" ),