Skip to main content

A Python wrapper for ivlam

Project description

pypi License: GPL v3

Python Wrapper for ivlam

This is a python wrapper of the Fortran code of Russell's Lambert Solver.

Install

pip install ivlam

Usage

Initialize

from ivlam import *

infoload = ivlam.initialize(-1)
if(infoload!=0):
    print('Error in ivlam_initialize')

Solve the Problem

r1vec=np.array([1.0,2.0,3.0])  
r2vec=np.array([2.0,-3.0,-4.0])
tof=450.0

prograde=True
direction=ivlam.getdirection(prograde,r1vec,r2vec)

dimensionV=10
v1vec,v2vec,uptonhave,inforeturnstatusn,infohalfrevstatus = ivlam.thrun(r1vec,r2vec,tof,direction,dimensionV,dimensionV)
if(inforeturnstatusn!=0):
    print('Error in ivlam_thrun')
if(infohalfrevstatus!=0):
    print('This example is very close to the nPi transfer')
print(v1vec[:,dimensionV-uptonhave:dimensionV+uptonhave+1])
print(v2vec[:,dimensionV-uptonhave:dimensionV+uptonhave+1])

License

GNU General Public License v3 or later (GPLv3+)

Reference

[1] Russell, Ryan P., "On the Solution to Every Lambert Problem," Celestial Mechanics and Dynamical Astronomy, Vol. 131, Article 50, 2019, pp. 1-33, https://dx.doi.org/10.1007/s10569-019-9927-z

[2] Russell, Ryan P., "Complete Lambert Solver Including Second-Order Sensitivities," Journal of Guidance, Control, and Dynamics, accepted 2021, https://doi.org/10.2514/1.G006089

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ivlam-0.1.10.tar.gz (908.3 kB view hashes)

Uploaded Source

Built Distributions

ivlam-0.1.10-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

ivlam-0.1.10-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

ivlam-0.1.10-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

ivlam-0.1.10-cp312-cp312-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

ivlam-0.1.10-cp312-cp312-musllinux_1_1_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

ivlam-0.1.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

ivlam-0.1.10-cp311-cp311-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

ivlam-0.1.10-cp311-cp311-musllinux_1_1_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

ivlam-0.1.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

ivlam-0.1.10-cp310-cp310-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

ivlam-0.1.10-cp310-cp310-musllinux_1_1_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

ivlam-0.1.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

ivlam-0.1.10-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

ivlam-0.1.10-cp39-cp39-musllinux_1_1_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

ivlam-0.1.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

ivlam-0.1.10-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

ivlam-0.1.10-cp38-cp38-musllinux_1_1_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

ivlam-0.1.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ivlam-0.1.10-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page