Skip to content

Releases: Sbozzolo/kuibit

1.2.0

01 Jun 21:55
Compare
Choose a tag to compare

Version 1.2.0 (1 June 2021)

New module: visualize_matplotlib

The visualize_matplotlib module aims to simplify common visualization tasks with matplotlib. At the moment, it mainly supports visualizing grid data and apparent horizons outlines. The public functions in visualize_matplotlib try to be as general as possible: if you pass some grid objects, they will try to figure out how to plot it. Nonetheless, you should read the documentation and the docstrings of the various functions.

motionpicture

Making movies is a critical step in analyzing a simulation. Now, kuibit comes with motionpicture, a Python tool to assist you animate your data. motionpicture provides all the infrastructure needed to render multiple frames and glue them together, so, all you need to worry is how to render one single frame. Importantly, motionpicture supports parallel rendering, which can dramatically speed up the time needed to produce a video. Check out the grid_var example to see how easy it is to make a movie.

New class: GridSeries

GridSeries is a new class to describe 1D grid data. This class utilizes the same infrastructure used by TimeSeries and FrequencySeries to represent a single-valued function. UniformGridData can be transformed into GridSeries with the method to_GridSeries. The main reason you would want to do this is because GridSeries are leaner and more direct to use.

General

  • Improvements to documentation, docstrings, and tutorials
  • Examples are now automatically packaged and uploaded upon release
  • New YouTube series, Using kuibit

New examples

Scripts:

  • plot_1d_vars.py
  • plot_ah_coordinate_velocity.py
  • plot_ah_found.py
  • plot_ah_radius.py
  • plot_ah_separation.py
  • plot_constraints.py
  • plot_em_energy.py
  • plot_grid_var.py
  • plot_gw_energy.py
  • plot_gw_linear_momentum.py
  • plot_physical_time_per_hour.py
  • plot_phi_lm.py
  • plot_psi4_lm.py
  • plot_strain_lm.py
  • plot_timeseries.py
  • plot_total_luminosity.py
  • print_qlm_properties_at_time.py

Movies:

  • grid_var

Bug fixes

  • Fixed header recognition for carpet-grid.asc (#22)

Features

  • New methods get_apparent_horizon and get_qlm_horizon in HorizonsDir.

1.2.0b0

09 May 16:46
Compare
Choose a tag to compare
1.2.0b0 Pre-release
Pre-release

Version 1.2.0 (Under development)

New module: visualize_matplotlib

The visualize_matplotlib module aims to simplify common visualization tasks with matplotlib. At the moment, it mainly supports visualizing grid data and apparent horizons outlines. The public functions in visualize_matplotlib try to be as general as possible: if you pass some grid objects, they will try to figure out how to plot it. Nonetheless, you should read the documentation and the docstrings of the various functions.

motionpicture

Making movies is a critical step in analyzing a simulation. Now, kuibit comes with motionpicture, a Python tool to assist you animate your data. motionpicture provides all the infrastructure needed to render multiple frames and glue them together, so, all you need to worry is how to render one single frame. Importantly, motionpicture supports parallel rendering, which can dramatically speed up the time needed to produce a video. Check out the grid_var example to see how easy it is to make a movie.

New class: GridSeries

GridSeries is a new class to describe 1D grid data. This class utilizes the same infrastructure used by TimeSeries and FrequencySeries to represent a single-valued function. UniformGridData can be transformed into GridSeries with the method to_GridSeries. The main reason you would want to do this is because GridSeries are leaner and more direct to use.

General

  • Improvements to documentation, docstrings, and tutorials
  • Examples are now automatically packaged and uploaded upon release

New examples

Scripts:

  • plot_1d_vars.py
  • plot_ah_found.py
  • plot_ah_radius.py
  • plot_ah_separation.py
  • plot_constraints.py
  • plot_em_energy.py
  • plot_grid_var.py
  • plot_gw_energy.py
  • plot_gw_linear_momentum.py
  • plot_physical_time_per_hour.py
  • plot_phi_lm.py
  • plot_psi4_lm.py
  • plot_strain_lm.py
  • plot_timeseries.py
  • plot_total_luminosity.py
  • print_qlm_properties_at_time.py

Movies:

  • grid_var

Features

  • New methods get_apparent_horizon and get_qlm_horizon in HorizonsDir.

1.1.1

22 Apr 22:28
Compare
Choose a tag to compare

Version 1.1.1 (22 April 2021)

Bug fixes

  • Fixed corner in __str__ in UniformGrid
  • Fixed _finest_component_at_point_mapping for some points for which floor and
    rounding lead to different results.

1.1.0

18 Apr 18:39
Compare
Choose a tag to compare

Version 1.1.0 (18 April 2021)

New module: argparse_helper

The argparse_helper module collects functions to set up arguments for command-line scripts. It comes with options for working with figure, grid data, and horizons. Options can be stored in text files and read passing the path to the -c flag.

Faster HierarchicalGridData

The function that finds the component corresponding to a given point in HierarchicalGridData was significantly sped up by adopting the algorithm used in PostCactus (developed by Wolfgang Kastaun). This new algorithm is significantly faster, but it will not work in case the refinement factors across different levels are not constant integers. In that case (e.g., the refinement boundaries are at 1, 2, and 6), the older algorithm will be used. For large towers of refinement levels and hundreds of MPI processes, the new algorithm is orders of magnitude faster.

Examples

Now kuibit comes with runnable examples. These are production-grade codes that you can immediately use for your simulations. They are a great way to learn about how to use kuibit. The examples included are:

  • print_ah_formation_time.py
  • print_available_iterations.py
  • print_available_timeseries.py
  • save_resampled_grid_data.py

General

  • Releases are now automatically pushed to PyPI.

Features

  • Added method to compute the linear momentum lost by gravitational waves
  • Now the method save in UniformGridData supports .npz files. This is the recommend and fastest way to save a UniformGridData to disk.
  • The function load_UniformGridData can now read .npz files.

Bug fixes

  • Fixed bug that, under certain circumstances, resulted in cactus_grid_function not correctly indexing all the 3D data files
  • Fixed a test that was triggering the wrong error.
  • Fixed a bug that made ra_dec_to_theta_phi depend on the local time

Breaking changes

  • finest_level_component_at_point is now finest_component_at_point and returns directly the component as UniformGridData as opposed to the
    refinement level and component number.

1.0.0

12 Apr 14:53
Compare
Choose a tag to compare
Version 1.0.0 (JOSS publication)