The Gnome Chemistry Utils  0.14.0
Classes | Macros | Enumerations | Functions
chemistry.h File Reference

Go to the source code of this file.

Classes

struct  GcuValue
struct  GcuDimensionalValue
struct  GcuAtomicRadius
struct  GcuElectronegativity
struct  GcuIsotope

Macros

#define MAX_ELT   116

Enumerations

enum  gcu_spin_state
enum  gcu_radius_type

Functions

const double * gcu_element_get_default_color (int Z)
const char * gcu_element_get_symbol (int Z)
const char * gcu_element_get_name (int Z)
int gcu_element_get_Z (char *symbol)
int gcu_element_get_radius (GcuAtomicRadius *radius)
int gcu_element_get_electronegativity (GcuElectronegativity *en)
GcuDimensionalValue const * gcu_element_get_ionization_energy (int Z, int N)
GcuDimensionalValue const * gcu_element_get_electron_affinity (int Z, int N)
char * gcu_element_get_weight_as_string (int Z)
char const * gcu_element_get_electronic_configuration (int Z)
const GcuAtomicRadius ** gcu_element_get_radii (int Z)
const GcuElectronegativity ** gcu_element_get_electronegativities (int Z)
void gcu_element_load_databases (char const *name,...)
char * gcu_value_get_string (GcuValue const *value)
char * gcu_dimensional_value_get_string (GcuDimensionalValue const *value)

Detailed Description

C interface to the chemistry library.

To use this file, add the following line to your source file:

#include <gcu/chemistry.h>

Definition in file chemistry.h.

Macro Definition Documentation

#define MAX_ELT   116

The greatest atomic number known in this version of the Gnome Chemictry Utils

Definition at line 63 of file chemistry.h.

Enumeration Type Documentation

gcu_radius_type gcu_radius_type describes the type of the atomic radius Possible values are:

  • GCU_RADIUS_UNKNOWN: unknown,.
  • GCU_ATOMIC: atomic radius,
  • GCU_IONIC: ionic radius,
  • GCU_METALLIC: metallic radius,
  • GCU_COVALENT: covalent radius,
  • GCU_VAN_DER_WAALS: van der Waals radius,

    This enumeration is used in the GcuAtomicRadius structure.

Definition at line 93 of file chemistry.h.

gcu_spin_state gcu_spin_state describes the spin state of a central atom in a complex. Possible values are:

  • GCU_N_A_SPIN: unknown,
  • GCU_LOW_SPIN: low spin,
  • GCU_HIGH_SPIN: high spin.

    This enumeration is used in the GcuAtomicRadius structure.

Definition at line 74 of file chemistry.h.

Function Documentation

char* gcu_dimensional_value_get_string ( GcuDimensionalValue const *  value)
Parameters
value,:the GcuDimensionalValue to represent as a string.
Returns
the GcuDimensionalValue as a string taking into account the precision and incertitude
const double* gcu_element_get_default_color ( int  Z)
Parameters
Z,:the atomic number of the element.

Retrieves the default color used for the element.

Returns
an array of three double values for the red, green and blue components of the color.

Referenced by gcu_periodic_set_colors().

GcuDimensionalValue const* gcu_element_get_electron_affinity ( int  Z,
int  N 
)
Parameters
Z,:the atomic number.
N,:the rank of the extra electron.

For some elements, second and even third electron affinities have been estimated. The program searches the Nth electron affinity value for the element and returns it if found. A value of 0 means that the anion is unstable in the gaseous phase and that no better etimation is available.

Returns
the electronic affinity as a GcuDimensionalValue if known or NULL.
const GcuElectronegativity** gcu_element_get_electronegativities ( int  Z)
Parameters
Z,:the atomic number of the element.
Returns
a pointer to the array of pointers to GcuElectronegativity structures for all known electronegativities for the element. Last value in the array is NULL.
int gcu_element_get_electronegativity ( GcuElectronegativity en)
Parameters
en,:a pointer to a GcuElectronegativity structure.

Before calling this function, the following fields in the GcuElectronegativity structure must be filled:

  • Z: the atomic number, mandatory
  • scale: the name of the scale (e.g. "Pauling") or NULL

The programs searches an electronegativity value for the element in the scale if given. If one is found the value and the scale (if NULL on calling) are given the corresponding values of the first match before returning.

Returns
TRUE if a match has been found and FALSE if not.
char const* gcu_element_get_electronic_configuration ( int  Z)
Parameters
Z,:the atomic number.
Returns
the electronic configuration as a pango markup.

Referenced by gcu_periodic_set_tips().

GcuDimensionalValue const* gcu_element_get_ionization_energy ( int  Z,
int  N 
)
Parameters
Z,:the atomic number.
N,:the rank of the ionization.

The program searches for the Nth ionization energy value for the element and returns it if found.

Returns
the ionization energy as a GcuDimensionalValue if known or NULL.
const char* gcu_element_get_name ( int  Z)
Parameters
Z,:the atomic number of the element.
Returns
the name of the element in the current locale or in english if the current locale is not supported in the database.

Referenced by gcu_periodic_set_tips().

const GcuAtomicRadius** gcu_element_get_radii ( int  Z)
Parameters
Z,:the atomic number of the element.
Returns
a pointer to the array of pointers to GcuAtomicRadius structures for all known radii for the element. Last value in the array is NULL.
int gcu_element_get_radius ( GcuAtomicRadius radius)
Parameters
radius,:a pointer to a GcuAtomicRadius structure.

Before calling this function, most fields in the GcuAtomicRadius structure must be filled:

  • Z: the atomic number, mandatory
  • type: the type of the radius searched
  • charge: the charge of the atom. 0 for all radii except ionic radii.
  • cn: the coordination number or -1 if not significant
  • spin: the spin state or GCU_N_A_SPIN if not significant
  • scale: the name of the scale (e.g. "Pauling") or NULL

The programs searches a value corresponding to the fields having a non default value. If one is found the other fields are given the corresponding values f the first match before returning.

Returns
TRUE if a radius has been found and FALSE if not.
const char* gcu_element_get_symbol ( int  Z)

gcu_element_get_symbol:

Parameters
Z,:the atomic number of the element.
Returns
the symbol of the element.

Referenced by gcu_combo_periodic_set_element(), and gcu_periodic_set_tips().

char* gcu_element_get_weight_as_string ( int  Z)
Parameters
Z,:the atomic number.
Returns
the atomic weight as a string without units which needs to be freed with a g_free() call.

Referenced by gcu_periodic_set_tips().

int gcu_element_get_Z ( char *  symbol)

gcu_element_get_Z:

Parameters
symbol,:the symbol of the element (e.g. "C" ot "Pt").
Returns
the atomic number of the element.
void gcu_element_load_databases ( char const *  name,
  ... 
)
Parameters
name,:name of a database to load such as "radii", "elecprops", "isotopes", the first name is followed by a list of other database terminated by NULL.

Loads the listed databases.

Referenced by main().

char* gcu_value_get_string ( GcuValue const *  value)
Parameters
value,:the GcuValue to represent as a string.
Returns
the GcuValue as a string taking into account the precision and incertitude