From af759238d18328f9559a08e33a04bd12ba88555b Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 10:43:32 -0500 Subject: [PATCH 01/11] Changed spherical to gravitational harmonics --- docs/user-guide/gravitational-harmonics/index.rst | 12 ++++++++++++ docs/user-guide/index.rst | 2 +- docs/user-guide/spherical-harmonics/index.rst | 12 ------------ 3 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 docs/user-guide/gravitational-harmonics/index.rst delete mode 100644 docs/user-guide/spherical-harmonics/index.rst diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst new file mode 100644 index 000000000..98d0a8d7c --- /dev/null +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -0,0 +1,12 @@ +######################### +Gravitational Harmonics +########################## + +Here, we show how to use Swiftest's Gravitational Harmonics capabilities. +This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. + + + +.. .. toctree:: +.. :maxdepth: 2 +.. :hidden: \ No newline at end of file diff --git a/docs/user-guide/index.rst b/docs/user-guide/index.rst index f3a941582..de0a3b858 100644 --- a/docs/user-guide/index.rst +++ b/docs/user-guide/index.rst @@ -16,4 +16,4 @@ In this user guide, you will find detailed descriptions and examples that descri Basic Simulation Detailed Simulation Setup - Spherical Harmonics \ No newline at end of file + Gravitational Harmonics \ No newline at end of file diff --git a/docs/user-guide/spherical-harmonics/index.rst b/docs/user-guide/spherical-harmonics/index.rst deleted file mode 100644 index 06380bd4a..000000000 --- a/docs/user-guide/spherical-harmonics/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -################### -Spherical Harmonics -################### - -Here, we show how to use Swiftest's Spherical Harmonics capabilities. -This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. - - - -.. .. toctree:: -.. :maxdepth: 2 -.. :hidden: \ No newline at end of file From 4176815439150e4e7c894036d0f97f10103a6f3a Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 10:48:12 -0500 Subject: [PATCH 02/11] Fixed linking issues --- docs/user-guide/gravitational-harmonics/index.rst | 2 +- docs/user-guide/index.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 98d0a8d7c..0e9f188cd 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -1,4 +1,4 @@ -######################### +########################## Gravitational Harmonics ########################## diff --git a/docs/user-guide/index.rst b/docs/user-guide/index.rst index de0a3b858..faa81fdc3 100644 --- a/docs/user-guide/index.rst +++ b/docs/user-guide/index.rst @@ -8,7 +8,7 @@ In this user guide, you will find detailed descriptions and examples that descri - A more in-depth :doc:`Detailed Simulation Setup ` -- Understanding the :doc:`Spherical Harmonics capabilities ` +- Understanding the :doc:`Gravitational Harmonics capabilities ` .. toctree:: :maxdepth: 2 From 196029564bdc48ba6276cdc362de3c433eaa0da8 Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 11:02:39 -0500 Subject: [PATCH 03/11] Added intro to grav harmonics --- docs/user-guide/gravitational-harmonics/index.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 0e9f188cd..dc4fe4b1c 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -3,6 +3,15 @@ Gravitational Harmonics ########################## Here, we show how to use Swiftest's Gravitational Harmonics capabilities. +Swiftest uses `SHTOOLS ` to compute the gravitational harmonics coefficients for a given body and calculate it's associated acceleration kick. +The coefficients can be computed in a number of ways: +- Using the axes measurements of the body ( :func: `clm_from_ellipsoid `) +- Using a surface relief grid ( :func: `clm_from_relief `). + + * This function is still in development and may not work as expected. + +- Manually entering the coefficients when adding the central body ( :func: `add_body `) + This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. From d320174377033ae07761e038432707251a3a3454 Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 11:04:32 -0500 Subject: [PATCH 04/11] Fixed linking issues --- docs/user-guide/gravitational-harmonics/index.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index dc4fe4b1c..5cffea631 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -3,14 +3,16 @@ Gravitational Harmonics ########################## Here, we show how to use Swiftest's Gravitational Harmonics capabilities. -Swiftest uses `SHTOOLS ` to compute the gravitational harmonics coefficients for a given body and calculate it's associated acceleration kick. +Swiftest uses `SHTOOLS `__ to compute the gravitational harmonics coefficients for a given body and calculate it's associated acceleration kick. The coefficients can be computed in a number of ways: -- Using the axes measurements of the body ( :func: `clm_from_ellipsoid `) -- Using a surface relief grid ( :func: `clm_from_relief `). + +- Using the axes measurements of the body ( :func:`clm_from_ellipsoid `) + +- Using a surface relief grid ( :func:`clm_from_relief `). * This function is still in development and may not work as expected. -- Manually entering the coefficients when adding the central body ( :func: `add_body `) +- Manually entering the coefficients when adding the central body ( :func:`add_body `) This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. From ff5338cc6823d25db9a24d92fd0d392d11c48f71 Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 11:17:25 -0500 Subject: [PATCH 05/11] testing math functions and adjusted bulleted lists --- .../gravitational-harmonics/index.rst | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 5cffea631..790339207 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -2,21 +2,37 @@ Gravitational Harmonics ########################## -Here, we show how to use Swiftest's Gravitational Harmonics capabilities. -Swiftest uses `SHTOOLS `__ to compute the gravitational harmonics coefficients for a given body and calculate it's associated acceleration kick. +Here, we show how to use Swiftest's Gravitational Harmonics capabilities. This is based on ``/spherical_harmonics_cb`` +in ``swiftest/examples``. Swiftest uses `SHTOOLS `__ to compute the gravitational +harmonics coefficients for a given body and calculate it's associated acceleration kick. The additional acceleration +kick is based on the gravitaional potential described `here `__. + +..math:: + + U(r) = \frac{GM}{r} \sum_{l=0}^{\infty} \sum_{m=-l}^{l} \left( \frac{R_0}{r} \right)^l C_{lm} Y_{lm} (\theta, \phi) \label{grav_pot} + +* Gravitational potential:math:`U` at a point:math:`\Vec{r}`;:math:`\theta` is the polar angle;:math:`\phi` is the azimuthal angle;:math:`R_0` is the central body +radius;:math:`G` is the gravitational constant;:math:`Y_{lm}` is the spherical harmonic function at degree:math:`l` and order:math:`m`;:math:`C_{lm}` is the corresponding coefficient. + + +Gravitational Harmonics coefficients +===================================== + +Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients. The coefficients can be computed in a number of ways: - Using the axes measurements of the body ( :func:`clm_from_ellipsoid `) - Using a surface relief grid ( :func:`clm_from_relief `). - * This function is still in development and may not work as expected. + - This function is still in development and may not work as expected. - Manually entering the coefficients when adding the central body ( :func:`add_body `) -This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. +Computing coefficients from axes measurements +=============================================== .. .. toctree:: .. :maxdepth: 2 From 8448c4badae86badcd4a9bdbbfe6d1efabb98f31 Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 11:20:41 -0500 Subject: [PATCH 06/11] Testing math and rearranging --- docs/user-guide/gravitational-harmonics/index.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 790339207..754707750 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -7,18 +7,18 @@ in ``swiftest/examples``. Swiftest uses `SHTOOLS `__. -..math:: +.. math:: U(r) = \frac{GM}{r} \sum_{l=0}^{\infty} \sum_{m=-l}^{l} \left( \frac{R_0}{r} \right)^l C_{lm} Y_{lm} (\theta, \phi) \label{grav_pot} -* Gravitational potential:math:`U` at a point:math:`\Vec{r}`;:math:`\theta` is the polar angle;:math:`\phi` is the azimuthal angle;:math:`R_0` is the central body -radius;:math:`G` is the gravitational constant;:math:`Y_{lm}` is the spherical harmonic function at degree:math:`l` and order:math:`m`;:math:`C_{lm}` is the corresponding coefficient. +Gravitational potential :math:`U` at a point :math:`\Vec{r}`; :math:`\theta` is the polar angle; :math:`\phi` is the azimuthal angle; +:math:`R_0` is the central body radius; :math:`G` is the gravitational constant; :math:`Y_{lm}` is the spherical harmonic function at degree :math:`l` and order :math:`m`; :math:`C_{lm}` is the corresponding coefficient. Gravitational Harmonics coefficients ===================================== -Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients. +Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients. The coefficients can be computed in a number of ways: - Using the axes measurements of the body ( :func:`clm_from_ellipsoid `) From d7393edc75d6845912911f8f1602251ee75d0d2f Mon Sep 17 00:00:00 2001 From: David Minton Date: Fri, 1 Mar 2024 12:35:35 -0500 Subject: [PATCH 07/11] Added example data output --- docs/user-guide/basic-simulation/index.rst | 65 ++++++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/basic-simulation/index.rst b/docs/user-guide/basic-simulation/index.rst index 5958406e7..7b8d34463 100644 --- a/docs/user-guide/basic-simulation/index.rst +++ b/docs/user-guide/basic-simulation/index.rst @@ -79,6 +79,12 @@ file. The default value is 10, which means that Swiftest will store 10 outputs i Setting ``dump_cadence`` to 0 is a a special case that tells Swiftest to store *all* output in memory until the end of the simulation. This is useful for short simulations, but can be memory intensive for long simulations. +.. note:: + Changing the value of ``dump_cadence`` does not change the amount of data that is output by the end of the simulation. It only + changes how often the data is written to disk. Changing the value of ``tstep_out`` (or ``istep_out``) *does* change the amount of + data that is output by the end of the simulation. Intermediate steps between output steps are not saved to disk, and cannot be + recovered after the simulation has finished. + The choice of what values to set for ``tstep_out`` (or ``istep_out``), ``nstep_out``, and ``dump_cadence`` depends on the particular simulation. Higher values of ``dump_cadence`` are typically useful for simulations with small numbers of bodies and small values of ```tstep_out`` where frequent writing to disk can severely impact performance. For simulations with large numbers of bodies and @@ -87,10 +93,10 @@ so that the memory usage does not become too large. The default value of ``dump_ caes. We can set these simulation parameters using the :func:`set_parameter ` method. -Here we have a simulation that runs for 1 My a step size of 0.01 y. We will also save the system every 1000 y and wait until the end +Here we have a simulation that runs for 100,000 y a step size of 0.01 y. We will also save the system every 1000 y and wait until the end of the simulation to write the simulation data to file using the ``dump_cadence=0`` argument:: - sim.set_parameter(tstop=1.0e6, tstep_out=1e3, dt=0.01, dump_cadence=0) + sim.set_parameter(tstop=1.0e5, tstep_out=1e3, dt=0.01, dump_cadence=0) Once everything is set up, we call the :func:`run ` method to integrate the system forward in time:: @@ -99,7 +105,7 @@ Once everything is set up, we call the :func:`run ` met Swiftest is relatively flexible with arguments. You can pass the parameters in when initializing the simulation object, or even later when running. So the following are all equivalent:: - sim = swiftest.Simulation(tstop=1.0e6, tstep_out=1e3, dt=0.01, dump_cadence=0) + sim = swiftest.Simulation(tstop=1.0e5, tstep_out=1e3, dt=0.01, dump_cadence=0) sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) sim.run() @@ -110,7 +116,7 @@ So the following are all equivalent:: sim = swiftest.Simulation() sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) - sim.run(tstop=1.0e6, tstep_out=1e3, dt=0.01, dump_cadence=0) + sim.run(tstop=1.0e5, tstep_out=1e3, dt=0.01, dump_cadence=0) .. note:: Swiftest uses OpenMP parallelization to help speed up the integration, however the parallelization is most effective when there @@ -131,6 +137,57 @@ Once a simulation has been run, its output data is stored in the ``./simdata`` d default name of ``data.nc``, which is a netCDF file. It is read in and stored as an `Xarray Dataset `__ object in the ``sim.data`` attribute. +Here is an example of what the dataset looks like after the above simulation has been run:: + + In [8]: sim.data + Out[8]: + Size: 229kB + + Dimensions: (time: 101, space: 3, name: 9) + Coordinates: + * time (time) float64 808B 0.0 1e+03 2e+03 ... 9.9e+04 1e+05 + * space (space) Date: Fri, 1 Mar 2024 13:01:54 -0500 Subject: [PATCH 08/11] fixed typo with vector --- docs/user-guide/gravitational-harmonics/index.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 754707750..ac926de91 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -11,10 +11,9 @@ kick is based on the gravitaional potential described `here `) - Using a surface relief grid ( :func:`clm_from_relief `). - - - This function is still in development and may not work as expected. + - Note: This function is still in development and may not work as expected. - Manually entering the coefficients when adding the central body ( :func:`add_body `) From 5870bfdf9005f3b1447716b9c4ecda543bc91e7d Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 13:30:38 -0500 Subject: [PATCH 09/11] Adding coefficients computation --- .../gravitational-harmonics/index.rst | 70 ++++++++++++++++--- 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index ac926de91..285b26869 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -4,34 +4,84 @@ Gravitational Harmonics Here, we show how to use Swiftest's Gravitational Harmonics capabilities. This is based on ``/spherical_harmonics_cb`` in ``swiftest/examples``. Swiftest uses `SHTOOLS `__ to compute the gravitational -harmonics coefficients for a given body and calculate it's associated acceleration kick. The additional acceleration -kick is based on the gravitaional potential described `here `__. +harmonics coefficients for a given body and calculate it's associated acceleration kick. The conventions and formulae used +to calculate the additional kick are described `here `__. The gravitational +potential is given by the following equation: .. math:: U(r) = \frac{GM}{r} \sum_{l=0}^{\infty} \sum_{m=-l}^{l} \left( \frac{R_0}{r} \right)^l C_{lm} Y_{lm} (\theta, \phi) \label{grav_pot} Gravitational potential :math:`U` at a point :math:`\vec{r}`; :math:`\theta` is the polar angle; :math:`\phi` is the azimuthal angle; -:math:`R_0` is the central body radius; :math:`G` is the gravitational constant; :math:`Y_{lm}` is the spherical harmonic function at degree :math:`l` and order :math:`m`; :math:`C_{lm}` is the corresponding coefficient. +:math:`R_0` is the central body radius; :math:`G` is the gravitational constant; :math:`Y_{lm}` is the spherical harmonic function at +degree :math:`l` and order :math:`m`; :math:`C_{lm}` is the corresponding coefficient. Gravitational Harmonics coefficients ===================================== -Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients. +Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients described +in `Weiczorek et al. (2015) `__. + The coefficients can be computed in a number of ways: -- Using the axes measurements of the body ( :func:`clm_from_ellipsoid `) - -- Using a surface relief grid ( :func:`clm_from_relief `). +- Using the axes measurements of the body. (:func:`clm_from_ellipsoid `) +- Using a surface relief grid (:func:`clm_from_relief `). - Note: This function is still in development and may not work as expected. - -- Manually entering the coefficients when adding the central body ( :func:`add_body `) - +- Manually entering the coefficients when adding the central body. (:func:`add_body `) +.. - Ensure to correctly normalize the coefficients if manually entering them. Computing coefficients from axes measurements =============================================== +Given the axes measurements of a body, the gravitational harmonics coefficients can be computed in a straightforward +manner. Let's start with setting up the simulation object with units of `km`, `days`, and `kg`. :: + + import swiftest + + sim = swiftest.Simulation(DU2M = 1e3, TU = 'd', MU = 'kg', integrator = 'symba') + sim.clean() + +Define the central body parameters. Here we use Chariklo as an example body and refer to Jacobi Ellipsoid model from +`Leiva et al. (2017) `__ for the axes measurements. :: + + cb_mass = 6.1e18 + cb_radius = 123 + cb_a = 157 + cb_b = 139 + cb_c = 86 + cb_volume = 4.0 / 3 * np.pi * cb_radius**3 + cb_density = cb_mass / cb_volume + cb_T_rotation = 7.004 # hours + cb_T_rotation/= 24.0 # converting to julian days (TU) + cb_rot = [[0, 0, 360.0 / cb_T_rotation]] # degrees/TU + +Once the central body parameters are defined, we can compute the gravitational harmonics coefficients (:math:`C_{lm}`). +The output coefficients are already correctly normalized. :: + + c_lm, cb_radius = swiftest.clm_from_ellipsoid(mass = cb_mass, density = cb_density, a = cb_a, b = cb_b, c = cb_c, lmax = 6, lref_radius = True) + +Add the central body to the simulation. :: + + sim.add_body(name = 'Chariklo', mass = cb_mass, rot = cb_rot, radius = cb_radius, c_lm = c_lm) + +Set the parameters for the simulation and run. :: + + sim.set_parameter(tstart=0.0, tstop=10.0, dt=0.01, istep_out=10, dump_cadence=0, compute_conservation_values=True, mtiny=mtiny) + + # Run the simulation + sim.run() + +Setting a reference radius for the coefficients +================================================== + +The coefficients can be computed with respect to a reference radius. This is useful when the user wants to explicitly set the reference radius. :: + + c_lm, cb_radius = swiftest.clm_from_ellipsoid(mass = cb_mass, density = cb_density, a = cb_a, b = cb_b, c = cb_c, lmax = 6, lref_radius = True, ref_radius = cb_radius) + + + + .. .. toctree:: .. :maxdepth: 2 .. :hidden: \ No newline at end of file From 3cc5ef602f65b80a73e16de59f4b61a1f7322f31 Mon Sep 17 00:00:00 2001 From: anand43 Date: Fri, 1 Mar 2024 13:43:54 -0500 Subject: [PATCH 10/11] Added more content to grav harmonics --- .../gravitational-harmonics/index.rst | 51 +++++++++++++++---- 1 file changed, 40 insertions(+), 11 deletions(-) diff --git a/docs/user-guide/gravitational-harmonics/index.rst b/docs/user-guide/gravitational-harmonics/index.rst index 285b26869..f4452666c 100644 --- a/docs/user-guide/gravitational-harmonics/index.rst +++ b/docs/user-guide/gravitational-harmonics/index.rst @@ -20,31 +20,34 @@ Gravitational Harmonics coefficients ===================================== Swiftest adopts the :math:`4\pi` or geodesy normalization for the gravitational harmonics coefficients described -in `Weiczorek et al. (2015) `__. +in `Weiczorek et al. (2015) `__. The coefficients can be computed in a number of ways: - Using the axes measurements of the body. (:func:`clm_from_ellipsoid `) -- Using a surface relief grid (:func:`clm_from_relief `). - - Note: This function is still in development and may not work as expected. -- Manually entering the coefficients when adding the central body. (:func:`add_body `) -.. - Ensure to correctly normalize the coefficients if manually entering them. +- Using a surface relief grid (:func:`clm_from_relief `). *Note: This function is still in development and may not work as expected.* -Computing coefficients from axes measurements -=============================================== +- Manually entering the coefficients when adding the central body. (:func:`add_body `) -Given the axes measurements of a body, the gravitational harmonics coefficients can be computed in a straightforward -manner. Let's start with setting up the simulation object with units of `km`, `days`, and `kg`. :: +Set up a Simulation +==================== + +Let's start with setting up the simulation object with units of `km`, `days`, and `kg`. :: import swiftest sim = swiftest.Simulation(DU2M = 1e3, TU = 'd', MU = 'kg', integrator = 'symba') sim.clean() -Define the central body parameters. Here we use Chariklo as an example body and refer to Jacobi Ellipsoid model from +Computing coefficients from axes measurements +=============================================== + +Given the axes measurements of a body, the gravitational harmonics coefficients can be computed in a straightforward +manner. Here we use Chariklo as an example body and refer to Jacobi Ellipsoid model from `Leiva et al. (2017) `__ for the axes measurements. :: + # Define the central body parameters. cb_mass = 6.1e18 cb_radius = 123 cb_a = 157 @@ -61,10 +64,36 @@ The output coefficients are already correctly normalized. :: c_lm, cb_radius = swiftest.clm_from_ellipsoid(mass = cb_mass, density = cb_density, a = cb_a, b = cb_b, c = cb_c, lmax = 6, lref_radius = True) -Add the central body to the simulation. :: +Add the central body to the simulation along with the coefficients. :: sim.add_body(name = 'Chariklo', mass = cb_mass, rot = cb_rot, radius = cb_radius, c_lm = c_lm) +Now the user can set up the rest of the simulation as they prefer. + +Final Steps for Running the Simulation +======================================= + +Add other bodies to the simulation. :: + + # Add user-defined massive bodies + npl = 5 + density_pl = cb_density + + name_pl = ["SemiBody_01", "SemiBody_02", "SemiBody_03", "SemiBody_04", "SemiBody_05"] + a_pl = rng.uniform(250, 400, npl) + e_pl = rng.uniform(0.0, 0.05, npl) + inc_pl = rng.uniform(0.0, 10, npl) + capom_pl = rng.uniform(0.0, 360.0, npl) + omega_pl = rng.uniform(0.0, 360.0, npl) + capm_pl = rng.uniform(0.0, 360.0, npl) + R_pl = np.array([0.5, 1.0, 1.2, 0.75, 0.8]) + M_pl = 4.0 / 3 * np.pi * R_pl**3 * density_pl + Ip_pl = np.full((npl,3),0.4,) + rot_pl = np.zeros((npl,3)) + mtiny = 1.1 * np.max(M_pl) + + sim.add_body(name=name_pl, a=a_pl, e=e_pl, inc=inc_pl, capom=capom_pl, omega=omega_pl, capm=capm_pl, mass=M_pl, radius=R_pl, Ip=Ip_pl, rot=rot_pl) + Set the parameters for the simulation and run. :: sim.set_parameter(tstart=0.0, tstop=10.0, dt=0.01, istep_out=10, dump_cadence=0, compute_conservation_values=True, mtiny=mtiny) From e05168e7d55766a5d3cd22455b91e232e05c3a8e Mon Sep 17 00:00:00 2001 From: David Minton Date: Fri, 1 Mar 2024 13:57:06 -0500 Subject: [PATCH 11/11] Added an example of a plot to the basic example --- docs/_static/basic_simulation_a_vs_t_plot.png | Bin 0 -> 29037 bytes docs/user-guide/basic-simulation/index.rst | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 docs/_static/basic_simulation_a_vs_t_plot.png diff --git a/docs/_static/basic_simulation_a_vs_t_plot.png b/docs/_static/basic_simulation_a_vs_t_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..6fec4c451da8a11f2cc6e3f82253fcfaf871b0ff GIT binary patch literal 29037 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 z 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 DoV?&% literal 0 HcmV?d00001 diff --git a/docs/user-guide/basic-simulation/index.rst b/docs/user-guide/basic-simulation/index.rst index 7b8d34463..32bd6ffaa 100644 --- a/docs/user-guide/basic-simulation/index.rst +++ b/docs/user-guide/basic-simulation/index.rst @@ -139,8 +139,8 @@ default name of ``data.nc``, which is a netCDF file. It is read in and stored as Here is an example of what the dataset looks like after the above simulation has been run:: - In [8]: sim.data - Out[8]: + In [5]: sim.data + Out[5]: Size: 229kB Dimensions: (time: 101, space: 3, name: 9) @@ -188,7 +188,18 @@ Here is an example of what the dataset looks like after the above simulation has j4rp4 (time) float64 808B -2.247e-18 -2.247e-18 ... -2.247e-18 +As you can see, even in this very simple example, the dataset contains a large amount of information about the simulated system. +For details about the definitions of *variables*, *dimensions*, and *coordinates*, see the +`Terminology `__. section of the Xarray documentation. Xarray +Datasets are very powerful and flexible, and can be used to analyze and visualize the simulation data in a variety of ways. +Here is an example where we can generate a simple plot of the semimajor axis vs. time history of all the planets in the system:: + + sim.data['a'].where(sim.data.particle_type != 'Central Body', drop=True).plot(x='time',hue='name') + +.. image:: ../../_static/basic_simulation_a_vs_t_plot.png + +This is just a simple example of what you can do with the simulation data. Xarray has a large number of built-in plotting and +data processing functions. For more information, see the `Xarray documentation `__. -.. toctree:: .. :maxdepth: 2 .. :hidden: