lamberthub.utils.assertions#

A collection of checkers for raising custom exceptions if required

Module Contents#

Functions#

assert_parameters_are_valid(mu, r1, r2, tof, M)

Checks if solver input parameters are safe.

assert_gravitational_parameter_is_positive(mu)

Checks if the gravitational parameter is positive.

assert_position_vector_is_valid(r)

Checks if position vector has proper dimensions and is not the null one.

assert_position_vectors_are_valid(r1, r2)

Checks if position vectors are safe in dimension and values.

assert_time_of_flight_is_positive(tof)

Checks if time of flight is positive.

assert_number_of_revolutions_not_negative(M)

Checks if the number of revolutions is zero or positive, that is, it does

assert_transfer_angle_not_zero(dtheta)

Checks if the transfer angle is the null value. If so, raises an exception.

assert_transfer_angle_not_pi(dtheta)

Checks if the transfer angle is pi radians or 180 degrees. If so, raises an

lamberthub.utils.assertions.assert_parameters_are_valid(mu, r1, r2, tof, M)#

Checks if solver input parameters are safe.

lamberthub.utils.assertions.assert_gravitational_parameter_is_positive(mu)#

Checks if the gravitational parameter is positive.

Parameters:

mu (float) – Gravitational parameter

lamberthub.utils.assertions.assert_position_vector_is_valid(r)#

Checks if position vector has proper dimensions and is not the null one.

Parameters:

r (np.array) – Initial position vector.

lamberthub.utils.assertions.assert_position_vectors_are_valid(r1, r2)#

Checks if position vectors are safe in dimension and values.

Parameters:
  • r1 (np.array) – Initial position vector.

  • r2 (np.array) – Final position vector.

lamberthub.utils.assertions.assert_time_of_flight_is_positive(tof)#

Checks if time of flight is positive.

Parameters:

tof (float) – Time of flight.

lamberthub.utils.assertions.assert_number_of_revolutions_not_negative(M)#

Checks if the number of revolutions is zero or positive, that is, it does not have a negative value.

Parameters:

M (int) – Number of revolutions

lamberthub.utils.assertions.assert_transfer_angle_not_zero(dtheta)#

Checks if the transfer angle is the null value. If so, raises an exception.

Parameters:

dtheta (float) – Transfer angle value.

lamberthub.utils.assertions.assert_transfer_angle_not_pi(dtheta)#

Checks if the transfer angle is pi radians or 180 degrees. If so, raises an exception.

Parameters:

dtheta (float) – Transfer angle value.