tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
structure.h
Go to the documentation of this file.
1/* This file is part of tblite.
2 * SPDX-Identifier: LGPL-3.0-or-later
3 *
4 * tblite is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * tblite is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with tblite. If not, see <https://www.gnu.org/licenses/>.
16**/
17
32#pragma once
33
34#include "tblite/macros.h"
35#include "tblite/error.h"
36
37/*
38 * Molecular structure data class
39**/
40
47typedef struct _tblite_structure* tblite_structure;
48
62 const int natoms,
63 const int* numbers,
64 const double* positions,
65 const double* charge,
66 const int* uhf,
67 const double* lattice,
68 const bool* periodic);
69
75
85 const double* positions,
86 const double* lattice);
87
96 const double* charge);
97
106 const int* uhf);
Provides a light-weight error handler for communicating with the library.
struct _tblite_error * tblite_error
Error instance.
Definition error.h:35
General macro definitions for the tblite C API bindings.
#define TBLITE_API_ENTRY
Definition macros.h:49
#define TBLITE_API_CALL
Definition macros.h:57
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 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)
struct _tblite_structure * tblite_structure
Definition structure.h:47
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_update_structure_uhf(tblite_error error, tblite_structure mol, const int *uhf)