This repository has been archived by the owner on Oct 14, 2023. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 276
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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
1 parent
8df4f06
commit efaf92f
Showing
31 changed files
with
4,675 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
71 changes: 71 additions & 0 deletions
71
contrib/cr3bp_DhruvJ/EM_L4_Northern_Axial_family_continued_vertical.html
Large diffs are not rendered by default.
Oops, something went wrong.
71 changes: 71 additions & 0 deletions
71
contrib/cr3bp_DhruvJ/EM_L4_Short_Period_to_L3_lyapunov_family.html
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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! |
Oops, something went wrong.