tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
include
tblite
container.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
23
#pragma once
24
25
#include "
tblite/macros.h
"
26
#include "
tblite/structure.h
"
27
#include "
tblite/calculator.h
"
28
#include "
tblite/context.h
"
29
31
typedef
struct
_tblite_container*
tblite_container
;
32
37
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
38
tblite_new_electric_field
(
double
* efield);
39
47
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
48
tblite_new_spin_polarization
(
tblite_context
ctx,
49
tblite_structure
mol,
50
tblite_calculator
calc,
51
double
wscale);
52
53
#define tblite_new_cpcm_solvation(ctx, mol, calc, x) \
54
_Generic((x), \
55
char* \
56
: tblite_new_cpcm_solvation_solvent,\
57
double \
58
: tblite_new_cpcm_solvation_epsilon \
59
) (ctx, mol, calc, x)
60
68
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
69
tblite_new_cpcm_solvation_epsilon
(
tblite_context
ctx,
70
tblite_structure
mol,
71
tblite_calculator
calc,
72
double
eps);
73
81
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
82
tblite_new_cpcm_solvation_solvent
(
tblite_context
ctx,
83
tblite_structure
mol,
84
tblite_calculator
calc,
85
char
* solvent);
86
87
#define tblite_new_alpb_solvation(ctx, mol, calc, x) \
88
_Generic((x), \
89
char* \
90
: tblite_new_alpb_solvation_solvent,\
91
double \
92
: tblite_new_alpb_solvation_epsilon) (ctx, mol, calc, x)
93
101
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
102
tblite_new_alpb_solvation_solvent
(
tblite_context
ctx,
103
tblite_structure
mol,
104
tblite_calculator
calc,
105
char
* solvent);
106
114
TBLITE_API_ENTRY
tblite_container
TBLITE_API_CALL
115
tblite_new_alpb_solvation_epsilon
(
tblite_context
ctx,
116
tblite_structure
mol,
117
tblite_calculator
calc,
118
double
eps);
119
127
TBLITE_API_ENTRY
void
TBLITE_API_CALL
128
tblite_calculator_push_back
(
tblite_context
ctx,
129
tblite_calculator
calc,
130
tblite_container
* cont);
131
135
TBLITE_API_ENTRY
void
TBLITE_API_CALL
136
tblite_delete_container
(
tblite_container
* cont);
calculator.h
Provides a single point calculator for performing extended tight-binding computations.
tblite_calculator
struct _tblite_calculator * tblite_calculator
Single point calculator.
Definition
calculator.h:46
tblite_new_cpcm_solvation_epsilon
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_cpcm_solvation_epsilon(tblite_context ctx, tblite_structure mol, tblite_calculator calc, double eps)
tblite_new_cpcm_solvation_solvent
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_cpcm_solvation_solvent(tblite_context ctx, tblite_structure mol, tblite_calculator calc, char *solvent)
tblite_container
struct _tblite_container * tblite_container
Interaction container.
Definition
container.h:31
tblite_delete_container
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_delete_container(tblite_container *cont)
tblite_new_spin_polarization
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_spin_polarization(tblite_context ctx, tblite_structure mol, tblite_calculator calc, double wscale)
tblite_new_alpb_solvation_solvent
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_alpb_solvation_solvent(tblite_context ctx, tblite_structure mol, tblite_calculator calc, char *solvent)
tblite_new_electric_field
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_electric_field(double *efield)
tblite_calculator_push_back
TBLITE_API_ENTRY void TBLITE_API_CALL tblite_calculator_push_back(tblite_context ctx, tblite_calculator calc, tblite_container *cont)
tblite_new_alpb_solvation_epsilon
TBLITE_API_ENTRY tblite_container TBLITE_API_CALL tblite_new_alpb_solvation_epsilon(tblite_context ctx, tblite_structure mol, tblite_calculator calc, double eps)
context.h
Provides a persistent configuration object to modify the behaviour of a calculation....
macros.h
General macro definitions for the tblite C API bindings.
TBLITE_API_ENTRY
#define TBLITE_API_ENTRY
Definition
macros.h:49
TBLITE_API_CALL
#define TBLITE_API_CALL
Definition
macros.h:57
tblite_context
Proxy module for the calculation context related data types.
Definition
context.f90:59
structure.h
The structure data tblite_structure is used to represent the system of interest in the library.
tblite_structure
struct _tblite_structure * tblite_structure
Definition
structure.h:47
Generated by
1.10.0