Releases: Sbozzolo/kuibit
1.2.0
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
andget_qlm_horizon
inHorizonsDir
.
1.2.0b0
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
andget_qlm_horizon
inHorizonsDir
.
1.1.1
1.1.0
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
inUniformGridData
supports.npz
files. This is the recommend and fastest way to save aUniformGridData
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 nowfinest_component_at_point
and returns directly the component asUniformGridData
as opposed to the
refinement level and component number.