heyoka 1.0.0 #337
bluescarni
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Version 1.0.0 of heyoka is here, and it brings several new features and important changes.
Semantic versioning
Starting from this release, heyoka adopts the semantic versioning numbering scheme. In particular:
Note that, due to the lack of API docs at the present time, heyoka's public API is somewhat fuzzily defined by the C++ and Python tutorials.
Note also that ABI compatibility is guaranteed only across PATCH releases.
Overhaul of the expression system
The biggest user-facing change in this release is a comprehensive internal overhaul of the expression system, including:
square()
,sqrt()
,sum_sq()
, etc.);Users are encouraged to read this tutorial in order to understand how to best take advantage of the revamped expression system.
New API to compute high-order derivatives
A new function called
diff_tensors()
is available to compute efficiently high-order derivative tensors. Please see this tutorial for an introduction to this new feature.Improvements to step callbacks
Step callbacks can now optionally implement a
pre_hook()
member function that will be invoked once before the first step in a time-limited propagation is performed. This feature can be useful to implement an init/setup phase in the callback before the numerical integration starts. The tutorial has been updated to include this new feature.Additionally, in ensemble propagations the step callback is now copied for each iteration of the ensemble, rather than being shared among all the iterations. This behaviour should reduce the risk of data races in multithreaded scenarios.
New
model
submoduleA new
model
submodule/namespace has been introduced, which includes functions to generate the dynamics for several commonly-used dynamical models (e.g., pendulum, N-body, etc.). Themake_nbody_sys()
helper has been replaced by an equivalent function in themodel
submodule. More models are planned to be added in the near future.Support for LLVM 16
heyoka now can be built against the latest stable release of LLVM.
Miscellanea
As usual, the full changelog is available here:
https://bluescarni.github.io/heyoka/changelog.html
This discussion was created from the release heyoka 1.0.0.
Beta Was this translation helpful? Give feedback.
All reactions