Skip to content
This repository has been archived by the owner on Oct 14, 2023. It is now read-only.

Commit

Permalink
Update_1_cr3bp_dj (#1490)
Browse files Browse the repository at this point in the history
* Add CR3BP functions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated add_cr3bp_DJ

* Incorporated feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Added node placement function

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Debugged tox

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Debug tox try2

* Debug tox try3

* Implemented single shooter

Succesfully tested for lyapunov, Halo, vertical

* JC targeter and periodicity targeter added

* successfully tested JC targeter with periodicity

* NPC, Lyapunov and Vertical orbit fam examples

* Numerical Continuation Schemes added

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* debugged whitespace errors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* debugged syntax and != None errors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Debugged most of the quality errors 2

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated setup leverages OOP

OOP prinicples are exploited to create 3 main Classes: sys_chars, cr3bp_model, periodic_orbit. Periodic orbit manifolds

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed white spaces

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Juan Luis Cano Rodríguez <hello@juanlu.space>
  • Loading branch information
3 people committed Jul 17, 2022
1 parent 8df4f06 commit efaf92f
Show file tree
Hide file tree
Showing 31 changed files with 4,675 additions and 0 deletions.
71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L1_Halo_family_PALC.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L1_Lyapunov_family.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L2_Halo_family_PALC.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L2_Vertical_family.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L2_Vertical_family_PALC.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L3_Axial_family_PALC.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L3_Halo_family_PALC.html

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L4_Northern_Axial_family.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions contrib/cr3bp_DhruvJ/EM_L4_Short_Period_to_L3_lyapunov_family.html

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions contrib/cr3bp_DhruvJ/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Dhruv Jain - Circular Restircted Three Body Problem

Goal: To add the capability to investiage the dynamical flows in CR3BP to Poliastro.

**Current Features:**
1. Compute the characterisitic quantities of a system in CR3BP: mu,l*, t* => _cr3bp_char_quant.py_
2. Computing the 5 libration points position => _cr3bp_lib_calc.py_
3. Numerical Integration of CR3BP EOMs (with the option of using events functions => _cr3bp_master.py_
4. Numerical Integration of CR3BP + State Transition Matrix EOMs (with the option of using events functions) => _cr3bp_model_master.py_
5. Compute Jacobi Cosntant => _cr3bp_model_master.py_
6. Computing the first derivative of pseudo potenial, second-derivative of pseudo potenial and acceleration terms => _cr3bp_master.py_
7. Periodic Orbit Single Shooter Targeter => _cr3bp_PO_master.py_
* Target states, time, JC, pseudo-arc length constraint
* Can exploit XZ plane symmetry, X-axis symmetry, Periodicity
* Phase constraint for PALC with Periodicity Targeter
* Compute local and global manifolds of a periodic orbit
9. Periodic Orbit Multiple Shooter node setup => _cr3bp_PO_master.py_
* Place nodes after equal time intervals, or equal number of integrated time-steps
10. Periodic Orbit Family Computation => _cr3bp_po_fam_continuation.py_
a. Natural Parameter Continuation:
* Use NPC to compute a family of Periodic Orbits
* line search: To update step size if targeter unable to converge with previous step size
* Capable of continuing in **'jc'** even if not expliclty defined as a constraint but stated as the _param_conti_
b. Pseudo-Arc Length Parameter Continuation:
* Use PALC to compute a family of Periodic Orbits
* line search: To update step size if targeter unable to converge with previous step size
9. Plots family of periodic orbtis => _cr3bp_po_plot_orbits.py_

There are multiple examples included in the PR. The examples are meant to showcase the various cases that the robust targeter and continuation methods can handle.

The current work requires the widely used numpy, scipy, plotly and matplotlib libraries.

## Future Work:
I hope to make a robuts setup for people to play with and understand periodic orbits and the general dynamical flows in CR3BP.

1. Extend single shooter to be a multiple shooter
2. Incorporate unit tests for regression testing
3. Stability analysis: Sorting Eigenevalues and Eigenvectors of Monodromy matrix, Stability Index plots, Broucke Stability Diagram
4. Heteroclinic transfer design using Tau-Alpha method

My long term goal is to build be a capable setup that can compute Quasi-Periodic Orbits(QPOs) in CR3BP, so that users can access the less investaged but more useful QPOs.

## About Me:
I am Dhruv Jain, dhruvj9922@gmail.com, pursuing Master of Science in Aeroanautics and Astronautics Engienering at Purdue University. I am part of the Multi-Body Dynamics Research Group and I am working on designing Quasi-Periodic Orbits in CR3BP. When I am not working, I like playing Badminton and cooking!

0 comments on commit efaf92f

Please sign in to comment.