Skip to content

Commit

Permalink
Merge pull request #163 from larshinueber/develop
Browse files Browse the repository at this point in the history
Minor fixes
  • Loading branch information
DominicDirkx authored Jan 23, 2025
2 parents 85b44eb + b780e13 commit 2c2130d
Show file tree
Hide file tree
Showing 15 changed files with 242 additions and 224 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,9 @@ This repository will be automatically updated from the [Sync tudat-space submodu

## Contributing to the website

If you see anything on the website you would like to improve, you can leave your thoughts on our [discussion board](https://github.com/orgs/tudat-team/discussions/categories/ideas-and-suggestions) or make the modifications yourself and open a pull request. Detailed instruction for developing and building the website (locally or online) are provide on our [wiki](https://github.com/tudat-team/tudat-space/wiki)
If you see anything on the website you would like to improve, you can leave your thoughts on our [discussion board](https://github.com/orgs/tudat-team/discussions/categories/ideas-and-suggestions) or make the modifications yourself and open a pull request. Detailed instruction for developing and building the website (locally or online) are provide on our [wiki](https://github.com/tudat-team/tudat-space/wiki).
In short, run the following command with the provided `tudat-docs` conda environment:
```bash
sphinx-build -b html docs/source docs/build
```
You can then open the `docs/build/index.html` file with your preferred browser.
2 changes: 1 addition & 1 deletion docs/source/_src_getting_started/_src_examples/pygmo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Optimization using PyGMO
Optimization with PyGMO
***********************

Below, a number of examples of Tudat applications used the Pygmo optimization toolbox are shown. Note that a number of additional related examples are given on the page for :ref:`trajectory_optimization_examples`
Below, a number of examples of Tudat applications used the Pygmo optimization toolbox are shown. Note that a number of additional related examples are given on the page for :ref:`trajectory_optimization_examples`.

.. nbgallery::

Expand Down
21 changes: 11 additions & 10 deletions docs/source/_src_getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ package manager, such as Miniconda or Anaconda.
**Windows users** must install the Windows Subsystem for Linux (WSL) and install Tudat(Py) in a ``conda`` environment inside WSL.
For a guide on how to setup WSL and configure it to work with an IDE, see the :ref:`getting_started_with_wsl` guide.

To install Anaconda or Miniconda on your system, see the `Anaconda Installation`_ of `Miniconda Installation`_ guide provided in their documentation
To install Anaconda or Miniconda on your system, see the `Anaconda Installation`_ of `Miniconda Installation`_ guide provided in their documentation.

.. _`Anaconda Installation`: https://docs.anaconda.com/anaconda/install/
.. _`Miniconda Installation`: https://docs.conda.io/en/latest/miniconda.html
Expand All @@ -31,40 +31,41 @@ Installing Tudat(Py)
####################

To install Tudat(Py), we recommend the use of a terminal (command line) interface. On Unix system (Linux and Mac), ``conda`` should already be available within the terminal; you can open your terminal directly. Open a terminal. Then first verify that ``conda`` is installed by executing the following command:

.. On Windows, you can find a program called ``Anaconda Prompt`` in the Windows search. Using ``conda`` in the ``Anaconda Prompt`` is equivalent to the terminal use of ``conda`` on Unix. Some Unix commands are made available in this prompt, although most usage is equivalent to the Windows shell (see below for some useful terminal commands).
.. code-block::
.. code-block:: bash
conda --version
Next ensure that ``conda`` is up-to-date.

.. code:: bash
.. code-block:: bash
conda update conda
Download this ``environment.yaml`` (:download:`yaml <_static/environment.yaml>`). Then, in your terminal navigate to the directory containing this file and execute the following command (see below for tips on using the command line):

.. code:: bash
.. code-block:: bash
conda env create -f environment.yaml
With the ``conda`` environment now installed, you can activate it to work in it using:

.. code:: bash
.. code-block:: bash
conda activate tudat-space
conda activate tudat-space
.. note::
At this point, you may choose to install the **development version of TudatPy**, which is a conda package that is updated as soon as changes are merged to the development branch of the code on GitHub.
To do so, you can download the ``environment-dev.yaml`` (:download:`yaml <_static/environment-dev.yaml>`), and use:

.. code:: bash
.. code-block:: bash
conda env create -f environment-dev.yaml
conda activate tudat-space-dev
to install and activate the tudat-space-dev environment.
to install and activate the ``tudat-space-dev`` environment.


For more help on getting started with the command-line interface (CLI), you could start with a `tutorial`_.
Expand All @@ -73,7 +74,7 @@ For more help on getting started with the command-line interface (CLI), you coul

Congratulations! You have now installed Tudat and TudatPy and are ready to start running your simulations and analyses! We recommend you get started by having a look at our :ref:`getting_started_examples`.

If there are any issues with the installation, the examples, or if you have any question or comments on Tudat, please use our `Github discussion forum <https://github.com/orgs/tudat-team/discussions>`_
If there are any issues with the installation, the examples, or if you have any question or comments on Tudat, please use our `Github discussion forum <https://github.com/orgs/tudat-team/discussions>`_.

.. _`tudatpy-feedstock`: https://github.com/tudat-team/tudatpy-feedstock
.. _`tudatpy`: https://github.com/tudat-team/tudatpy
Expand All @@ -86,7 +87,7 @@ If you would prefer to not use a conda package, but instead build your own tudat

.. note::

This workflow is not recommended for new users
This workflow is not recommended for new users.



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To define an observation model, the various bodies, spacecraft, ground stations,
Ground Station Creation
~~~~~~~~~~~~~~~~~~~~~~~

Often, you will need to define the positions of ground stations on celestial bodies to/from which observations are made. Note that in Tudat, a planetary lander is treated identically to a terrestrial ground station. The creation of a ground station is done when creating the environment, as one of the properties of a body. See the entry on ground stations in :ref:`available_environment_models`.
Often, you will need to define the positions of ground stations on celestial bodies to/from which observations are made. Note that in Tudat, a planetary lander is treated identically to a terrestrial ground station. The creation of a ground station is done when creating the environment, as one of the properties of a body. See the entry on ground stations in :ref:`ground_station_models`.

For reference, we give example code to create settings for a ground station name ``Graz`` to the settings of body ``Earth``:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Even though the primary role of the environment is in numerical state propagatio
it is also used to define properties of celestial bodies in, for instance, (semi-)analytical trajectory design
(see :ref:`transfer_trajectory`).

There are many different types of environment models in Tudat. See :ref:`available_environment_models` for
There are many different types of environment models in Tudat. See :ref:`environment_model_overview` for
a comprehensive list. The overall architecture of the environment in Tudat is described in more
detail on a dedicated page on :ref:`environment_architecture`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ in a larger object defining the settings for the full bodies, and for all bodies
here we use the environment model settings *one at a time*. For each supported environment model, an ``add....``
function is provided in the :mod:`~tudatpy.numerical_simulation.environment_setup` module.

Note that a similar approach is typically taken to add ground stations to a body (see :ref:`ground_stations`)
Note that a similar approach is typically taken to add ground stations to a body (see :ref:`groundStationCreation`)

.. seealso::
An overview of model types, as well as some special considerations to keep in mind when using them, can be found in :ref:`available_environment_models`.
An overview of model types, as well as some special considerations to keep in mind when using them, can be found in :ref:`environment_model_overview`.
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Below we show each manner to modify the settings with a representative example.

.. seealso::
A comprehensive list of *all* environment models, and how their settings can be defined and overridden as above, is
given in the page about :ref:`available_environment_models`.
given in the page about :ref:`environment_model_overview`.

.. _override_body_settings:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,10 @@ Tudat contains a number of functions to directly interact with SPICE, listed :do
SPICE relies on a set of user-supplied input files (kernels) to perform its calculations. A number of these kernels are installed automatically with Tudat, and loaded when calling the :func:`~tudatpy.interface.spice.load_standard_kernels` function (see this API docs entry for list of kernels).
To extend the standard kernels, a user can download additional kernels from other sources such as `NAIF directly <https://naif.jpl.nasa.gov/naif/data_generic.html>`_ or the `JPL Horizons System <https://ssd.jpl.nasa.gov/horizons/app.html#/>`_ for small-body objects, and then load them using the :func:`~tudatpy.interface.spice.load_kernel` function.

When using the default kernels/body settings, we have introduced one small difference for the sake of expediency. For the cases of Uranus, Neptune and Pluto, where we only have the ephemeris of the barycenter of the planetary system loaded, the planet is placed at the barycenter of the planetary system. This introduces a minor offset in the position of this planet (Mercury and Venus have no moons, and therefore their state coincides with their planetary system barycenter; dedicated planetary system ephemerides are loaded for the Earth, Mars, Jupiter and Saturn system). For Uranus, for example, the default settings will place Uranus at the center of mass (barycenter) of the combined system of Uranus and its moons. To correct this behaviour, a user can load a kernel for this body's planetary system (see `here <https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/satellites/>`__, for example), and modify the default settings.
.. note::

When using the default kernels/body settings, we have introduced one small difference for the sake of expediency. For the cases of Uranus, Neptune and Pluto, where we only have the ephemeris of the barycenter of the planetary system loaded, the planet is placed at the barycenter of the planetary system. This introduces a minor offset in the position of this planet (Mercury and Venus have no moons, and therefore their state coincides with their planetary system barycenter; dedicated planetary system ephemerides are loaded for the Earth, Mars, Jupiter and Saturn system).
To correct this behaviour, a user can load a kernel for this body's planetary system (see `here <https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/satellites/>`__, for example), and modify the default settings.

=================

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ An overview of the architecture of the Tudat environment is given in the figure

* The environment is defined by a single :class:`~tudatpy.numerical_simulation.environment.SystemOfBodies` object.
* The :class:`~tudatpy.numerical_simulation.environment.SystemOfBodies` contains a list of :class:`~tudatpy.numerical_simulation.environment.Body` objects, each of which represents a single natural or artificial body, and contains all of this body's properties. In the C++ code, each body is stored as a ``shared_ptr< Body >``. Every body is assigned a unique name by which it can be retrieved. A body can be extracted using the :func:`~tudatpy.numerical_simulation.environment.SystemOfBodies.get` function.
* Each :class:`~tudatpy.numerical_simulation.environment.Body` object contains a number of environment models (see :ref:`available_environment_models` for a complete list). By default, each of these objects is initialized as a ``nullptr``, and is only assigned when specified during the creation of the body (:ref:`create_bodies_from_settings_first`), or when added after the creation of the body (:ref:`decorate_empty_body`).
* Each :class:`~tudatpy.numerical_simulation.environment.Body` object contains a number of environment models (see :ref:`environment_model_overview` for a complete list). By default, each of these objects is initialized as a ``nullptr``, and is only assigned when specified during the creation of the body (:ref:`create_bodies_from_settings_first`), or when added after the creation of the body (:ref:`decorate_empty_body`).

As discussed :ref:`here <single_propagation_evaluation>`, the properties in the environment get updated to the current time and state of the numerical integration at the start of every function evaluation. Only those properties that are relevant for the propagation being performed are updated. Interaction with the environment during the propagation is described in more detail :ref:`here <environment_during_propagation>`

Expand Down
Loading

0 comments on commit 2c2130d

Please # to comment.