TkN 2.7
Toolkit for Nuclei
Loading...
Searching...
No Matches
TkN: Version 2.7

Build and installation

  • Parent projects can configure TkN installation directories with the TKN_INSTALL_* CMake variables. The historical standalone layout remains the default.
  • The bundled SQLite library has been updated from 3.31.1 to 3.53.4.

Performance and database history

  • Database generation is faster, generated databases are smaller, and C++ clients open and query them more efficiently.
  • Detailed database-history reports now include changes to static level moments and use user-facing property names. Comment-only changes are hidden by default and can be restored with the Show comment-only changes option.
  • Text values, including apostrophes in comments, are stored and reported without SQL escaping artifacts.

Physics and database API

  • tklevel::get_magnetic_dipole() and tklevel::get_electric_quadrupole() now expose recommended static moments on their matched adopted levels. The corresponding tkmeasure accessors retain uncertainties and provenance; ground-state access through tknucleus remains available for compatibility.
  • Static moments are now attached to the physical state reported by the IAEA tables instead of being assumed to belong to the ground state. For example, mu=1.08(8) and Q=-0.23(3) for 20Ne are assigned to the 1633.674-keV 2+ level. Physically forbidden J=0 magnetic moments and J<1 quadrupole moments are rejected.
  • TkN no longer uses the aggregate LiveChart API. Mass excesses come from the unrounded AME2020 table, charge radii from the IAEA Angeli–Marinova table, discovery years from NuDat, and recommended moments from the dedicated IAEA/Stone tables. Validated local copies remain available when a source is temporarily unreachable.
  • Alternative moment solutions are not averaged. The first published solution is returned as uncertain and all alternatives remain available in the tkmeasure provenance.
  • Missing database values are no longer exposed as numeric zero: has_property() returns false, get() returns nullptr for a measured property, and get_property() returns an empty string.
  • tknucleus now provides get_element_state(), is_gas(), is_liquid() and is_solid().
  • Constructing a tknucleus from an unknown name now leaves it safely uninitialised.
  • Unit conversion now rejects incompatible dimensions, propagates reciprocal energy/lifetime uncertainties correctly, and keeps uncertainties positive when multiplying a measure by a negative scalar.
  • TkN global services and first access to default level schemes are safe under concurrent use.
  • ENSDF final-level energies and uncertainties are read separately, preventing valid transitions from being discarded. Supported Unicode symbols in ENSDF comments are normalized without shifting the fixed-width records.