tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
structure.h File Reference

The structure data tblite_structure is used to represent the system of interest in the library. More...

#include "tblite/macros.h"
#include "tblite/error.h"

Go to the source code of this file.

Typedefs

typedef struct _tblite_structure * tblite_structure
 

Functions

TBLITE_API_ENTRY tblite_structure TBLITE_API_CALL tblite_new_structure (tblite_error error, const int natoms, const int *numbers, const double *positions, const double *charge, const int *uhf, const double *lattice, const bool *periodic)
 
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_delete_structure (tblite_structure *mol)
 
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_geometry (tblite_error error, tblite_structure mol, const double *positions, const double *lattice)
 
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_charge (tblite_error error, tblite_structure mol, const double *charge)
 
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_uhf (tblite_error error, tblite_structure mol, const int *uhf)
 

Detailed Description

The structure data tblite_structure is used to represent the system of interest in the library.

It contains immutable system specific information like the number of atoms, the unique atom groups and the boundary conditions as well as mutable geometry data like cartesian coordinates and lattice parameters.

To change immutable parameters of the tblite_structure data the object should be reinstantiated as well as all dependent objects, like tblite_calculator or tblite_result instances.

Typedef Documentation

◆ tblite_structure

typedef struct _tblite_structure* tblite_structure

Molecular structure data class.

The structure data is used to represent the system of interest in the library. It contains immutable system specific information like the number of atoms, the unique atom groups and the boundary conditions as well as mutable geometry data like cartesian coordinates and lattice parameters.

Function Documentation

◆ tblite_delete_structure()

TBLITE_API_ENTRY void TBLITE_API_CALL tblite_delete_structure ( tblite_structure * mol)

Delete molecular structure data

Parameters
molMolecular structure data

◆ tblite_new_structure()

TBLITE_API_ENTRY tblite_structure TBLITE_API_CALL tblite_new_structure ( tblite_error error,
const int natoms,
const int * numbers,
const double * positions,
const double * charge,
const int * uhf,
const double * lattice,
const bool * periodic )

Create new molecular structure data

Parameters
errorHandle for error messages
natomsNumber of atoms
numbersAtomic numbers for each atom, shape [natoms]
positionsCartesian coordinates in Bohr for each atom, shape [natoms][3]
chargeTotal charge of the system, (optional)
uhfNumber of unpaired electrons, (optional)
latticeLattice parameters in Bohr, shape [3][3], (optional)
periodicPeriodic dimensions, shape [3], (optional)
Returns
New molecular structure data

◆ tblite_update_structure_charge()

TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_charge ( tblite_error error,
tblite_structure mol,
const double * charge )

Update total charge in structure object

Parameters
errorHandle for error messages
molMolecular structure data
chargeTotal charge of the system

◆ tblite_update_structure_geometry()

TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_geometry ( tblite_error error,
tblite_structure mol,
const double * positions,
const double * lattice )

Update coordinates and lattice parameters (quantities in Bohr)

Parameters
errorHandle for error messages
molMolecular structure data
positionsCartesian coordinates in Bohr for each atom, shape [natoms][3]
latticeLattice parameters in Bohr, shape [3][3], (optional)

◆ tblite_update_structure_uhf()

TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_uhf ( tblite_error error,
tblite_structure mol,
const int * uhf )

Update number of unpaired electrons in structure object

Parameters
errorHandle for error messages
molMolecular structure data
uhfNumber of unpaired electrons