## toolPhysic toolPhysic — introduce physical values for the chemical species. |

## Synopsis

    gboolean            tool_physic_getElementFromZ         (gchar **name,
                                                             float *radcov,
                                                             int zele);
    gboolean            tool_physic_getElementFromSymbol    (int *zele,
                                                             float *radcov,
                                                             gchar *symbol);
    enum                ToolUnits;
    const gchar**       tool_physic_getUnitNames            (void);
    float               tool_physic_getUnitValueInMeter     (ToolUnits unit);
    ToolUnits           tool_physic_getUnitFromName         (const gchar *name);

## Description

This is a data base associating symbol names and atomic numbers. One can also get the covalent radius of chemical species. It is convenient to plot bindings.

## Details

### tool_physic_getElementFromZ ()

    gboolean            tool_physic_getElementFromZ         (gchar **name,
                                                             float *radcov,
                                                             int zele);

Get the symbol or the covalence radius of the argument `zele`.

`name` : | a pointer on an unallocated string (can be NULL) ;
`radcov` : | a pointer on a float (can be NULL) ;
`zele` : | the atomic number.
Returns : | TRUE if zele is known in the atomic built-in list.

### tool_physic_getElementFromSymbol ()

    gboolean            tool_physic_getElementFromSymbol    (int *zele,
                                                             float *radcov,
                                                             gchar *symbol);

Get the the covalence radius or the atomic number of a given atomic `symbol`.

`zele` : | a pointer on an integer (can be NULL) ;
`radcov` : | a pointer on a float (can be NULL) ;
`symbol` : | the symbol of an atom.
Returns : | TRUE if `symbol` is known in the atomic built-in list.

### enum ToolUnits

    typedef enum
      {
        unit_undefined,
        unit_bohr,
        unit_angstroem,
        unit_nanometer,
        /*< private >*/
        nb_units
      } ToolUnits;

The possible length units defined in V_Sim. The special case `unit_undefined` means that a unit must be defined before any conversion operations may be done.

`unit_undefined` | the units are undefined.
`unit_bohr` | the length are given in Bohr (1ang = 0.529177Bohr);
`unit_angstroem` | the length are given in angstroems ;
`unit_nanometer` | the length are given in nanometers.
`nb_units` | private.

Since 3.5

### tool_physic_getUnitNames ()

    const gchar**       tool_physic_getUnitNames            (void);

It provides the names corresponding to each units.

Returns : | an array, null terminated of strings. It is owned by V_Sim.

Since 3.5

### tool_physic_getUnitValueInMeter ()

    float               tool_physic_getUnitValueInMeter     (ToolUnits unit);

It provides the factor used to transform `unit` into meters.

`unit` : | a ToolUnits.
Returns : | a factor.

Since 3.5

### tool_physic_getUnitFromName ()

    ToolUnits           tool_physic_getUnitFromName         (const gchar *name);

Find the unit corresponding to the `name`. If none is found, unit_undefined is returned.

`name` : | a unit name.
Returns : | a ToolUnits.

Since 3.5