Skip to content

Commit

Permalink
doc: migrate everything to README
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgepiloto committed Sep 8, 2024
1 parent fc1e248 commit 20e5272
Show file tree
Hide file tree
Showing 14 changed files with 35 additions and 865 deletions.
82 changes: 33 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,65 +15,65 @@ A collection of Lambert's problem solvers implemented using modern Python.
**Install the latest stable release by running:**

```bash
pip install lamberthub
python -m pip install lamberthub
```

Just in case you are interested on knowing what the problem is about, how to
solve it or which applications it has, please check the [official lamberthub
documentation]. For further information about software internals, refer to [API
documentation].
## Available solvers


## Which solvers are available?

Once installed, you can start by checking which solvers `lamberthub` ships with
by running:
Verify available solvers by running:

```python
from lamberthub import ALL_SOLVERS


print([solver.__name__ for solver in ALL_SOLVERS])
```

At this moment, the following algorithms are available:

```bash
>>> ['gauss1809', 'battin1984', 'gooding1990', 'avanzini2008', 'arora2013', 'vallado2013', 'izzo2015']
```pycon
>>> [
'gauss1809', 'battin1984', 'gooding1990', 'avanzini2008', 'arora2013',
'vallado2013', 'izzo2015'
]
```

## How can I use a solver?
## Using a solver

Any Lambert's problem algorithm implemented in `lamberthub` is a Python function
which accepts the following parameters:

```python
# Import a solver of your choice from the ones listed above
from lamberthub import authorYYYY
v1, v2 = authorYYYY(mu, r1, r2, tof, prograde=True, low_path=True, maxiter=35, atol=1e-5, rtol=1e-7, full_output=False)


v1, v2 = authorYYYY(
mu, r1, r2, tof, M, prograde=True, low_path=True, maxiter=35,
atol=1e-5, rtol=1e-7, full_output=False
)
```

where `author` is the name of the author which developed the solver and `YYYY`
the year of publication. Any of the solvers hosted by the `ALL_SOLVERS` macro
can be used.

**Parameters**
* `mu`: the gravitational parameter, that is the mass of the attracting body
times the gravitational constant.
* `r1`: initial position vector.
* `r2`: final position vector.
* `tof`: time of flight between initial and final vectors.
- `mu`: the gravitational parameter, that is the mass of the attracting body
- times the gravitational constant.
- `r1`: initial position vector.
- `r2`: final position vector.
- `tof`: time of flight between initial and final vectors.

**Additional parameters**
* `M`: the number of desired revolutions. If zero, direct transfer is assumed.
* `prograde`: this parameter controls the inclination of the final orbit. If set
to `True`, the transfer will have an inclination between 0 and 90 degrees
while if `False` inclinations between 90 and 180 are provided.
* `low_path`: selects the type of path when more than two solutions are available.
There is no actual advantage on one or another solution, unless you have
particular constrains on your mission.
* `maxiter`: maximum number of iterations allowed when computing the solution.
* `atol`: absolute tolerance for the iterative method.
* `rtol`: relative tolerance for the iterative method.
* `full_output`: if `True`, it returns additional information such us the number
- `M`: the number of revolutions. If zero (default), direct transfer is assumed.
- `prograde`: this parameter controls the inclination of the final orbit. If set
- to `True`, the transfer will have an inclination between 0 and 90 degrees
- while if `False` inclinations between 90 and 180 are provided.
- `low_path`: selects the type of path when more than two solutions are available.
- There is no actual advantage on one or another solution, unless you have
- particular constrains on your mission.
- `maxiter`: maximum number of iterations allowed when computing the solution.
- `atol`: absolute tolerance for the iterative method.
- `rtol`: relative tolerance for the iterative method.
- `full_output`: if `True`, it returns additional information such us the number
of iterations.

**Returns**
Expand All @@ -83,19 +83,3 @@ can be used.
**Additional returns**
* `numiter`: number of iterations. Only if `full_output` has been set to `True`.
* `tpi`: time per iteration. Only if `full_output` has been set to `True`.

## Documentation and performance comparison tools

The [official lamberthub documentation] contains different how-to guides,
explanations, tutorials and references related to the package.

If you are interested in the performance comparison tools provided, please refer
to [performance comparison section]. Here you can find a brief tutorials on how
to use those tools.


<!-- Links and References -->

[official lamberthub documentation]: https://jorgemartinez.space/projects/lamberthub/index.html
[API documentation]: https://jorgemartinez.space/projects/lamberthub/autoapi/lamberthub/index.html
[performance comparison section]: https://jorgemartinez.space/projects/lamberthub/explanations/performance_comparison.html
186 changes: 0 additions & 186 deletions doc/Makefile

This file was deleted.

18 changes: 0 additions & 18 deletions doc/source/_autoapi_templates/index.rst

This file was deleted.

Loading

0 comments on commit 20e5272

Please sign in to comment.