The Gnome Chemistry Utils 0.13.3
Classes | Defines | 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

Defines

#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)
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.


Define Documentation

#define MAX_ELT   116

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

Definition at line 62 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 92 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 73 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.
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.
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.
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.
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