atomes 1.1.14
atomes: an atomic scale modeling tool box
Loading...
Searching...
No Matches
cp2k.h
Go to the documentation of this file.
1/* This file is part of the 'atomes' software
2
3'atomes' is free software: you can redistribute it and/or modify it under the terms
4of the GNU Affero General Public License as published by the Free Software Foundation,
5either version 3 of the License, or (at your option) any later version.
6
7'atomes' is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9See the GNU General Public License for more details.
10
11You should have received a copy of the GNU Affero General Public License along with 'atomes'.
12If not, see <https://www.gnu.org/licenses/>
13
14Copyright (C) 2022-2024 by CNRS and University of Strasbourg */
15
22/*
23* This header file: 'cp2k.h'
24*
25* Contains:
26
27 Variable declarations for the creation of the CP2K input file(s)
28
29* Called by:
30
31 calc/cp2k/cp2k_files.c
32 calc/cp2k/cp2k_init.c
33 calc/cp2k/cp2k_mol.c
34 calc/cp2k/cp2k_print.c
35 calc/cpmd/cpmd_init.c
36 calc/cpmd/cpmd_nose.c
37
38*/
39
40#ifndef CP2K_H_
41#define CP2K_H_
42
43#define CP2RUN 0 // Def: 0 = ENERGY run
44#define CP2KTI 1 // Def: 86400 = 24h
45#define CP2PLE 2 // Def: 1 = MEDIUM
46#define CP2RES 3 // Def: 0 = Not a restart
47#define CP2FRE 4 // Def: 0 = Null
48#define CP2FBA 5 // Def: 0 = Null
49#define CP2FPS 6 // Def: 0 = Null
50#define CP2FWV 7 // Def: 0 = Null
51#define CP2CHA 8 // Def: 0 = neutral
52#define CP2CUT 9 // Def: 300
53#define CP2GRI 10 // Def: 4
54#define CP2QSM 11 // Def: 0 = GPW
55#define CP2SCG 12 // Def: Guess 0 = ATOMS
56#define CP2SNN 13 // Def: 50
57#define CP2SCN 14 // Def: 0.000001
58#define CP2SNO 15 // Def: 20
59#define CP2SCO 16 // Def: 0.00001
60#define CP2SMI 17 // Def: 2 = DIIS
61#define CP2FCT 18 // Def: 0 = BLYP
62#define CP2SPI 19 // Def: 0 = spin restricted
63#define CP2SPM 20 // Def: 0 spin multiplicity
64#define CP2VDW 21 // Def: 0 = non vdw
65#define CP2ROK 22 // Def: 0 = non ROKS
66#define CP2PFO 23 // Def: 0 = do not print forces
67#define CP2PST 24 // Def: 0 = do not print stress tensor
68#define CP2PMU 25 // Def: 0 = do not print Mulliken
69#define CP2PLO 26 // Def: 0 = do not print Löwdin
70#define CP2POR 27 // Def: 0 = do not print orbitals
71#define CP2PBC 28 // Def: f(system)
72#define CP2LAT 29 // 0 = a,b,c,alpha,beta,gamma :: 1 = ax,ay,az,bx,by,bz,cx,cy,cz
73#define CP2SYM 30 // Def: f(system)
74#define CP2ENS 31 // Def: 7 = NVT ensemble
75#define CP2NST 32 // Def: 10000 max step md
76#define CP2DLT 33 // Def: 2.5
77#define CP2TMP 34 // Def: 300
78#define CP2GMI 35 // Def: 1 = CG geometry optimizer
79#define CP2MAG 36 // Def: 10000 max step geo
80#define CP2GEF 37 // Def: 0.0001
81#define CP2OUF 38 // Def: 10
82#define CP2CON 39 // Def: 0
83#define CP2OUU 40 // Def: 0
84
85#define NCP2KCALC 7
86#define CP2NTHERM 5
87
88extern cp2k * tmp_cp2k;
89
90extern double default_cp2k_options[41];
91extern double default_cp2k_extra[3][4];
92extern double default_vdw_cut[2];
93
94extern int cp2k_default_num[12];
95
96extern gchar * cp2k_default_keywords[11][11];
97extern gchar * cp2k_default_text[11][11];
98extern gchar * cp2k_vdw_keywords[2][3];
99
100extern int cp2k_is_basis_in_database (int sp);
101extern int cp2k_is_pseudo_in_database (int sp);
102extern GtkWidget * prepare_basis_combo (int sp, int obj);
103extern gchar * get_nth_elem (int sp, int id, int obj);
104extern gchar * get_nth_key (int sp, int id, int obj);
105
106extern int find_cp2k_sym ();
107
108// For CP2K v9.1
109#define N_MOLOPT 191
110extern char * molopt_elem[N_MOLOPT];
111extern char * molopt_keys[N_MOLOPT];
112extern char * cp2k_molopt[N_MOLOPT];
113#define N_GTH 156
114extern char * gth_elem[N_GTH];
115extern char * gth_keys[N_GTH];
116extern char * cp2k_gth[N_GTH];
117#define N_BASIS 250
118extern char * basis_elem[N_BASIS];
119extern char * basis_keys[N_BASIS];
120extern char * cp2k_basis[N_BASIS];
121#define N_POTS 421
122extern char * pot_elem[N_POTS];
123extern char * pot_keys[N_POTS];
124extern char * cp2k_pot[N_POTS];
125#endif
gchar * get_nth_key(int sp, int id, int obj)
retrieve basis or pseudopotential key string for element from global list
Definition cp2k_files.c:132
gchar * get_nth_elem(int sp, int id, int obj)
retrieve basis or pseudopotential name string for element from global list
Definition cp2k_files.c:66
char * basis_keys[N_BASIS]
Definition cp2k_basis.c:291
char * pot_elem[N_POTS]
Definition cp2k_pot.c:40
gchar * cp2k_default_text[11][11]
Definition cp2k_init.c:117
char * basis_elem[N_BASIS]
Definition cp2k_basis.c:40
int cp2k_is_pseudo_in_database(int sp)
does this chemical species have pseudopotential(s) in store ?
Definition cp2k_files.c:221
double default_cp2k_extra[3][4]
Definition cp2k_init.c:95
gchar * cp2k_vdw_keywords[2][3]
Definition cp2k_init.c:115
char * cp2k_basis[N_BASIS]
Definition cp2k_basis.c:542
int cp2k_is_basis_in_database(int sp)
does this chemical species have basis set(s) in store ?
Definition cp2k_files.c:196
char * molopt_elem[N_MOLOPT]
GtkWidget * prepare_basis_combo(int sp, int obj)
prepare basis set / pseudopotential combo box
Definition cp2k_files.c:289
char * pot_keys[N_POTS]
Definition cp2k_pot.c:462
char * gth_keys[N_GTH]
int find_cp2k_sym()
find the CP2K symmetry parameter based on the cell properties
Definition cp2k_init.c:1236
#define N_GTH
Definition cp2k.h:113
gchar * cp2k_default_keywords[11][11]
Definition cp2k_init.c:101
double default_vdw_cut[2]
Definition cp2k_init.c:94
#define N_POTS
Definition cp2k.h:121
char * cp2k_pot[N_POTS]
Definition cp2k_pot.c:884
char * cp2k_gth[N_GTH]
double default_cp2k_options[41]
Definition cp2k_init.c:88
cp2k * tmp_cp2k
Definition cp2k_init.c:86
#define N_BASIS
Definition cp2k.h:117
char * cp2k_molopt[N_MOLOPT]
char * molopt_keys[N_MOLOPT]
#define N_MOLOPT
Definition cp2k.h:109
char * gth_elem[N_GTH]
int cp2k_default_num[12]
Definition cp2k_init.c:99
Definition global.h:754