Procedures

ProcedureLocationProcedure TypeDescription
add_point_to_trajectory halo_module Subroutine

Add a point to a trajectory variable.

apparent_position halo_utilities_module Subroutine

Return the position of a target body relative to an observer, corrected for light time and stellar aberration.

Read more…
ballistic_derivs halo_module Subroutine

Equations of motion for a ballistic segment.

Read more…
cache halo_module Subroutine

Cache all the data in a segment.

close_config_file config_file_module Subroutine

Open the file.

constraint_violations halo_module Subroutine

Computes the constraint violation vector for the mission.

cubic_shadow_model halo_utilities_module Subroutine

The "circular cubic" shadow model.

Read more…
define_problem_size halo_module Subroutine

Returns the size variables for the "forward-backward" formulation of the problem.

Read more…
destroy_body_eph splined_ephemeris_module Subroutine
destroy_body_eph_interface splined_ephemeris_module Subroutine
destroy_trajectory halo_module Subroutine

Destroy a trajectory (deallocate the data arrays).

export_trajectory_json_file halo_module Subroutine

Export the trajectory JSON file.

Read more…
from_j2000moon_to_j2000ssb halo_utilities_module Subroutine

convert from a j2000-moon frame to a j2000-ssb frame.

generate_eclipse_data halo_module Subroutine

Propagate all the segments with a dense time step and export the Eclipsing data w.r.t. Earth. In this file, any point <0 is in eclipse.

Read more…
generate_patch_points halo_module Subroutine

Generates the patch points (unnormalized, moon-centered) from the CR3BP normalized guess.

get_case_name halo_module Function

Returns a string that can be used for file names, etc. (read the values of the global variables).

Read more…
get_char config_file_module Subroutine

Get a character variable from the config file.

get_int config_file_module Subroutine

Get an integer variable from the config file.

get_logical config_file_module Subroutine

Get a logical variable from the config file.

get_pos halo_utilities_module Subroutine

ephemeris wrapper to just return position vector see also: ballistic_derivs

get_problem_arrays halo_module Subroutine

Get the arrays for the problem

get_r splined_ephemeris_module Function
get_r_splined splined_ephemeris_module Subroutine
get_real config_file_module Subroutine

Get a real variable from the config file.

get_real_vec config_file_module Subroutine

Get a real vector from the config file.

get_rv splined_ephemeris_module Function
get_rv_splined splined_ephemeris_module Subroutine
get_scales_from_segs halo_module Subroutine

Populate the xscale and fscale problem arrays from the segment data.

get_segment_inputs halo_module Subroutine

Gets the initial states of a segment

get_segment_outputs halo_module Subroutine

After propagating a segment, this gets the outputs.

get_sparsity_pattern halo_module Subroutine

Returns the sparsity pattern for the "forward-backward" Halo problem.

get_sun_fraction halo_utilities_module Function

Compute the "sun fraction" using the circular cubic shadow model.

get_x_from_json_file halo_module Subroutine

Read the JSON solution file and put the x vector in the mission. Can be used to restart a solution from a previous run (e.g., with different settings, as long as the fundamental problem isn't changed).

Read more…
halo_export halo_module Subroutine

export an iteration from the solver

halo_func halo_module Subroutine

Compute the solver function (all the constraint violations)

halo_grad halo_module Subroutine

Compute the gradient of the solver function (Jacobian matrix). Dense version.

halo_grad_info halo_module Subroutine

Info function for the gradients.

Read more…
halo_grad_sparse halo_module Subroutine

Compute the gradient of the solver function (Jacobian matrix). Sparse version.

halo_solver_main halo_module Subroutine

Main program to solve the Halo targeting problem.

Read more…
initialize_globals splined_ephemeris_module Subroutine

initialize the earth and sun ephemeris.

initialize_splinded_ephemeris splined_ephemeris_module Subroutine

the ephemeris must be initialized before this is called

initialize_the_mission halo_module Subroutine

Initialize the mission.

initialize_the_solver halo_module Subroutine

Initialize the mission.

Read more…
my_func halo_module Subroutine

Wrapper for the constraint violation function (use by NumDiff)

open_config_file config_file_module Subroutine

Open the file.

plot_trajectory halo_module Subroutine

Plot the trajectory using matplotlib and/or generate a text file (for MKSPK)

Read more…
print_constraint_defects halo_module Subroutine

Print the r and v constraint defect norms for each segment constraint.

propagate_segment halo_module Subroutine

Propagate a segment (assumes the inputs have already been populated)

put_data_in_segment halo_module Subroutine

Set all the data in a segment.

put_x_in_segments halo_module Subroutine

Take the x vector from the solver, and use it to populate all the segments

qrm_solver halo_module Subroutine

Custom solver that uses QR_MUMPS

Read more…
read_config_file halo_module Subroutine

Read the config file that defines the problem to be solved and set all the global variables.

Read more…
read_epoch halo_module Subroutine

Read the epoch info from a config file.

segs_to_propagate halo_module Subroutine

Given the functions to be computed, returns the segments that need to be propagated.

set_segment_inputs halo_module Subroutine

Sets all the info in a segment for it to be propagated.

set_segment_outputs halo_module Subroutine

Set the outputs of a segment, assuming it has been propagated elsewhere

trajectory_export_func halo_module Subroutine

Export a trajectory point during propagation.

Read more…
uncache halo_module Subroutine

Restore all the segment data form the cache.

update_epoch halo_module Subroutine

Update the variables for the reference epoch in the mission class. Either computes the et from the calendar state, or vice versa.

write_optvars_to_file halo_module Subroutine

Write the current x variables to a file (compatible with the Copernicus optvar file).

call~~graph~~CallGraph none~get config_file%get proc~get_char config_file%get_char none~get->proc~get_char proc~get_int config_file%get_int none~get->proc~get_int proc~get_logical config_file%get_logical none~get->proc~get_logical proc~get_real config_file%get_real none~get->proc~get_real proc~get_real_vec config_file%get_real_vec none~get->proc~get_real_vec proc~add_point_to_trajectory trajectory%add_point_to_trajectory proc~apparent_position apparent_position proc~get_pos get_pos proc~apparent_position->proc~get_pos axis_angle_rotation axis_angle_rotation proc~apparent_position->axis_angle_rotation cross cross proc~apparent_position->cross unit unit proc~apparent_position->unit proc~ballistic_derivs ballistic_derivs get_acc get_acc proc~ballistic_derivs->get_acc get_r get_r proc~ballistic_derivs->get_r get_rv get_rv proc~ballistic_derivs->get_rv icrf_to_iau_moon icrf_to_iau_moon proc~ballistic_derivs->icrf_to_iau_moon third_body_gravity third_body_gravity proc~ballistic_derivs->third_body_gravity proc~cache segment%cache proc~close_config_file config_file%close_config_file destroy destroy proc~close_config_file->destroy proc~constraint_violations mission_type%constraint_violations proc~get_problem_arrays mission_type%get_problem_arrays proc~constraint_violations->proc~get_problem_arrays proc~propagate_segment segment%propagate_segment proc~constraint_violations->proc~propagate_segment proc~put_x_in_segments mission_type%put_x_in_segments proc~constraint_violations->proc~put_x_in_segments proc~segs_to_propagate mission_type%segs_to_propagate proc~constraint_violations->proc~segs_to_propagate proc~cubic_shadow_model cubic_shadow_model acosd acosd proc~cubic_shadow_model->acosd asind asind proc~cubic_shadow_model->asind proc~cubic_shadow_model->unit wrap_angle wrap_angle proc~cubic_shadow_model->wrap_angle proc~define_problem_size mission_type%define_problem_size proc~destroy_body_eph body_eph%destroy_body_eph proc~destroy_body_eph_interface body_eph_interface%destroy_body_eph_interface proc~destroy_trajectory trajectory%destroy_trajectory proc~export_trajectory_json_file mission_type%export_trajectory_json_file proc~export_trajectory_json_file->proc~destroy_trajectory proc~export_trajectory_json_file->proc~propagate_segment add add proc~export_trajectory_json_file->add create_array create_array proc~export_trajectory_json_file->create_array create_object create_object proc~export_trajectory_json_file->create_object proc~export_trajectory_json_file->destroy initialize initialize proc~export_trajectory_json_file->initialize insert_after insert_after proc~export_trajectory_json_file->insert_after proc~from_j2000moon_to_j2000ssb from_j2000moon_to_j2000ssb icrf_frame icrf_frame proc~from_j2000moon_to_j2000ssb->icrf_frame transform transform proc~from_j2000moon_to_j2000ssb->transform proc~generate_eclipse_data mission_type%generate_eclipse_data proc~generate_eclipse_data->proc~destroy_trajectory proc~get_case_name mission_type%get_case_name proc~generate_eclipse_data->proc~get_case_name proc~get_sun_fraction get_sun_fraction proc~generate_eclipse_data->proc~get_sun_fraction proc~generate_eclipse_data->proc~propagate_segment proc~generate_eclipse_data->add proc~generate_eclipse_data->icrf_frame proc~generate_eclipse_data->initialize proc~generate_eclipse_data->transform two_body_rotating_frame two_body_rotating_frame proc~generate_eclipse_data->two_body_rotating_frame proc~generate_patch_points mission_type%generate_patch_points compute_crtpb_parameter compute_crtpb_parameter proc~generate_patch_points->compute_crtpb_parameter first_call first_call proc~generate_patch_points->first_call proc~generate_patch_points->initialize integrate integrate proc~generate_patch_points->integrate get get proc~get_char->get proc~get_int->get proc~get_logical->get proc~get_pos->get_r proc~get_pos->get_rv fill_vector fill_vector proc~get_problem_arrays->fill_vector proc~get_r body_eph_interface%get_r db1val db1val proc~get_r->db1val proc~get_r_splined jpl_ephemeris_splined%get_r_splined proc~get_r_splined->proc~get_r proc~get_real->get proc~get_real_vec->get proc~get_rv body_eph_interface%get_rv proc~get_rv->db1val proc~get_rv_splined jpl_ephemeris_splined%get_rv_splined proc~get_rv_splined->proc~get_rv proc~get_scales_from_segs mission_type%get_scales_from_segs proc~get_scales_from_segs->proc~define_problem_size proc~get_scales_from_segs->fill_vector proc~get_segment_inputs segment%get_segment_inputs proc~get_segment_outputs segment%get_segment_outputs proc~get_sparsity_pattern mission_type%get_sparsity_pattern proc~get_sparsity_pattern->proc~define_problem_size proc~get_sun_fraction->proc~apparent_position proc~get_sun_fraction->proc~cubic_shadow_model proc~get_sun_fraction->proc~from_j2000moon_to_j2000ssb proc~get_x_from_json_file mission_type%get_x_from_json_file proc~get_x_from_json_file->get get_child get_child proc~get_x_from_json_file->get_child info info proc~get_x_from_json_file->info load load proc~get_x_from_json_file->load proc~halo_export halo_export proc~halo_func halo_func constraint_violations constraint_violations proc~halo_func->constraint_violations proc~halo_grad halo_grad cache cache proc~halo_grad->cache compute_jacobian_dense compute_jacobian_dense proc~halo_grad->compute_jacobian_dense uncache uncache proc~halo_grad->uncache proc~halo_grad_info halo_grad_info proc~halo_grad_info->uncache proc~halo_grad_sparse halo_grad_sparse proc~halo_grad_sparse->cache compute_jacobian compute_jacobian proc~halo_grad_sparse->compute_jacobian proc~halo_grad_sparse->uncache proc~halo_solver_main halo_solver_main proc~halo_solver_main->proc~constraint_violations proc~halo_solver_main->proc~define_problem_size proc~halo_solver_main->proc~export_trajectory_json_file proc~halo_solver_main->proc~generate_eclipse_data proc~halo_solver_main->proc~get_case_name proc~halo_solver_main->proc~get_segment_inputs proc~halo_solver_main->proc~get_x_from_json_file proc~initialize_the_solver my_solver_type%initialize_the_solver proc~halo_solver_main->proc~initialize_the_solver proc~plot_trajectory mission_type%plot_trajectory proc~halo_solver_main->proc~plot_trajectory proc~print_constraint_defects mission_type%print_constraint_defects proc~halo_solver_main->proc~print_constraint_defects proc~halo_solver_main->proc~put_x_in_segments proc~write_optvars_to_file mission_type%write_optvars_to_file proc~halo_solver_main->proc~write_optvars_to_file solve solve proc~halo_solver_main->solve status status proc~halo_solver_main->status proc~initialize_globals jpl_ephemeris_splined%initialize_globals proc~initialize_globals->proc~destroy_body_eph_interface db1ink db1ink proc~initialize_globals->db1ink proc~initialize_globals->get_rv proc~initialize_splinded_ephemeris jpl_ephemeris_splined%initialize_splinded_ephemeris proc~initialize_splinded_ephemeris->proc~initialize_globals proc~initialize_splinded_ephemeris->initialize proc~initialize_the_mission mission_type%initialize_the_mission proc~initialize_the_mission->proc~define_problem_size proc~initialize_the_mission->proc~get_problem_arrays proc~initialize_the_mission->proc~get_scales_from_segs proc~initialize_the_mission->proc~get_sparsity_pattern proc~set_segment_inputs segment%set_segment_inputs proc~initialize_the_mission->proc~set_segment_inputs proc~initialize_the_mission->initialize initialize_splinded_ephemeris initialize_splinded_ephemeris proc~initialize_the_mission->initialize_splinded_ephemeris magnitude magnitude proc~initialize_the_mission->magnitude set_dpert set_dpert proc~initialize_the_mission->set_dpert set_sparsity_pattern set_sparsity_pattern proc~initialize_the_mission->set_sparsity_pattern proc~initialize_the_solver->proc~define_problem_size proc~initialize_the_solver->proc~get_sparsity_pattern proc~initialize_the_solver->proc~initialize_the_mission proc~read_config_file my_solver_type%read_config_file proc~initialize_the_solver->proc~read_config_file proc~initialize_the_solver->initialize proc~initialize_the_solver->status proc~my_func my_func proc~my_func->constraint_violations proc~open_config_file config_file%open_config_file failed failed proc~open_config_file->failed proc~open_config_file->load proc~plot_trajectory->proc~destroy_trajectory proc~plot_trajectory->proc~get_case_name proc~plot_trajectory->proc~propagate_segment add_3d_plot add_3d_plot proc~plot_trajectory->add_3d_plot add_sphere add_sphere proc~plot_trajectory->add_sphere proc~plot_trajectory->initialize savefig savefig proc~plot_trajectory->savefig proc~print_constraint_defects->proc~define_problem_size proc~print_constraint_defects->proc~get_problem_arrays proc~set_segment_outputs segment%set_segment_outputs proc~propagate_segment->proc~set_segment_outputs proc~propagate_segment->first_call proc~propagate_segment->icrf_frame proc~propagate_segment->integrate proc~propagate_segment->transform proc~propagate_segment->two_body_rotating_frame proc~put_data_in_segment segment%put_data_in_segment proc~put_x_in_segments->proc~define_problem_size proc~put_x_in_segments->proc~set_segment_inputs extract_vector extract_vector proc~put_x_in_segments->extract_vector proc~qrm_solver qrm_solver proc~read_config_file->none~get proc~read_config_file->proc~generate_patch_points proc~read_epoch read_epoch proc~read_config_file->proc~read_epoch proc~update_epoch mission_type%update_epoch proc~read_config_file->proc~update_epoch evaluate evaluate proc~read_config_file->evaluate proc~read_config_file->initialize proc~read_epoch->none~get jd_to_et jd_to_et proc~read_epoch->jd_to_et julian_date julian_date proc~read_epoch->julian_date proc~set_segment_inputs->icrf_frame proc~set_segment_inputs->transform proc~set_segment_inputs->two_body_rotating_frame proc~trajectory_export_func trajectory_export_func proc~trajectory_export_func->add proc~trajectory_export_func->icrf_frame proc~trajectory_export_func->transform proc~trajectory_export_func->two_body_rotating_frame proc~uncache segment%uncache et_to_jd et_to_jd proc~update_epoch->et_to_jd proc~update_epoch->jd_to_et proc~update_epoch->julian_date julian_date_to_calendar_date julian_date_to_calendar_date proc~update_epoch->julian_date_to_calendar_date proc~write_optvars_to_file->proc~get_case_name proc~write_optvars_to_file->add proc~write_optvars_to_file->create_array proc~write_optvars_to_file->create_object proc~write_optvars_to_file->destroy proc~write_optvars_to_file->initialize proc~write_optvars_to_file->insert_after
Help