![]() |
TkN 2.7
Toolkit for Nuclei
|
To access any nuclear property, a tknucleus needs to be created. it can be created using its symbol, or its proton and mass number:
If the requested nucleus is not available, the object is left without nuclear properties and is_known() returns false. This should be checked before accessing its properties.
A nucleus can also be create only using it's element name or charge number. In such case, the most stable isotope will be returned, and the most abundant in case of multiple stable nuclei:
The main properties of a nucleus can be printed with:
For each element, the following properties can be available:
The physical state of the element at standard conditions is available through get_element_state() and the corresponding convenience methods:
get_element_state() returns Gas, Liquid or Solid. It returns an empty string when the information is unavailable; in that case, is_gas(), is_liquid() and is_solid() all return false.
Then, for each isotope, the following properties can be available from the databases (see (see the data sources section)):
From the mass excess values, the following properties are calculated in TkN:
to see the available properties for a given nucleus, use the tknucleus::list_properties() method:
The results can be filtered using a regular expression:
To test if a property is available, use the tknucleus::has_property() method.
Database fields with no value are not added to the nucleus property list. Applications can therefore distinguish missing information from a valid zero using has_property().
For an unavailable property:
has_property() returns false;get() returns nullptr for measured properties;get_property() returns an empty string;NaN or -1.Property availability should be checked before using a convenience accessor, especially for spin-parity, lifetime, mass excess and discovery information.
For a faster access to the most used properties, few specific methods have been added to tknucleus objects:
| method name | description |
|---|---|
| get_a() | nucleon number |
| get_n() | neutron number |
| get_z() | proton number |
| get_symbol() | nucleus name (ex: 12C) |
| get_element_name() | element name (ex: Carbon) |
| get_element_symbol() | element symbol (ex: C) |
| get_element_state() | physical state of the element at standard conditions |
| is_gas() | returns true if the element is a gas at standard conditions |
| is_liquid() | returns true if the element is a liquid at standard conditions |
| is_solid() | returns true if the element is a solid at standard conditions |
| is_known() | returns true if the nucleus is known in the database |
| is_stable() | returns true if the nucleus is stable |
| is_bound() | returns true if the binding energy is positive |
| is_z_magic() | is Z a magic number |
| is_n_magic() | is N a magic number |
| is_doubly_magic() | is nucleus doubly magic |
| get_abundance() | abundance for stable nuclei (in %) |
| get_binding_energy_over_a() | binding energy per nucleon (MeV) (unit as parameter) |
| get_lifetime() | ground state lifetime in seconds (unit as parameter) |
| get_mass_excess() | mass excess (MeV) (unit as parameter) |
| get_radius() | charge radius (fm) |
| get_magnetic_dipole() | magnetic dipole moment (μN) |
| get_electric_quadrupole() | electric quadrupole moment (barn) |
| get_jpi() | ground state spin and parity as a string |
| get_xrays() | vector of the known xray energies |
| get_decay_mode_str() | decay modes as a string |
| get_decay_modes() | decay modes as a vector of decay and branching ratio |
| get_discovery_year() | year of discovery of the isotope |
| get_ground_state() | access the ground state tkn::tklevel |
| get_level_scheme() | access the tkn::tklevel_scheme |
| get_fission_yield(tkstring _parent, bool _cumulative=false) | get the fission yield of for a given fissioning nucleus (cumulative or not) |
The above methods giving access to a measure (ex: get_lifetime() ), are directly returning the value as a double. Dedicated methods allows to access the tkn::tkmeasure to access to units, uncertainties... etc (see Measures and units).
For exemple, for the lifetime, the method get_lifetime_measure() returns the tkmeasure object.