ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
for_testing_input_conv.h
Go to the documentation of this file.
1#ifndef INPUT_CONV_TEST_H
2#define INPUT_CONV_TEST_H
3#define private public
16#include "source_lcao/module_rt/td_velocity.h"
21#include "source_io/restart.h"
22#include "source_md/md_func.h"
27#ifdef __PEXSI
29#endif
30#undef private
32
33bool TD_Velocity::out_current;
34bool TD_Velocity::out_current_k;
35bool TD_Velocity::out_vecpot;
36bool TD_Velocity::init_vecpot_file;
47
48// Parameters of electric field for RT-TDDFT
49
51
52std::vector<int> elecstate::H_TDDFT_pw::ttype;
53
58
61
62bool TD_Velocity::tddft_velocity;
63bool TD_Velocity::out_mat_R;
64
65// Gaussian
67std::vector<double> elecstate::H_TDDFT_pw::gauss_omega; // time(a.u.)^-1
68std::vector<double> elecstate::H_TDDFT_pw::gauss_phase;
69std::vector<double> elecstate::H_TDDFT_pw::gauss_sigma; // time(a.u.)
70std::vector<double> elecstate::H_TDDFT_pw::gauss_t0;
71std::vector<double> elecstate::H_TDDFT_pw::gauss_amp; // Ry/bohr
73
74// Trapezoid
76std::vector<double> elecstate::H_TDDFT_pw::trape_omega; // time(a.u.)^-1
77std::vector<double> elecstate::H_TDDFT_pw::trape_phase;
78std::vector<double> elecstate::H_TDDFT_pw::trape_t1;
79std::vector<double> elecstate::H_TDDFT_pw::trape_t2;
80std::vector<double> elecstate::H_TDDFT_pw::trape_t3;
81std::vector<double> elecstate::H_TDDFT_pw::trape_amp; // Ry/bohr
83
84// Trigonometric
86std::vector<double> elecstate::H_TDDFT_pw::trigo_omega1; // time(a.u.)^-1
87std::vector<double> elecstate::H_TDDFT_pw::trigo_omega2; // time(a.u.)^-1
88std::vector<double> elecstate::H_TDDFT_pw::trigo_phase1;
89std::vector<double> elecstate::H_TDDFT_pw::trigo_phase2;
90std::vector<double> elecstate::H_TDDFT_pw::trigo_amp; // Ry/bohr
92
93// Heaviside
95std::vector<double> elecstate::H_TDDFT_pw::heavi_t0;
96std::vector<double> elecstate::H_TDDFT_pw::heavi_amp; // Ry/bohr
97
98double BFGS_Basic::relax_bfgs_w1 = -1.0;
99double BFGS_Basic::relax_bfgs_w2 = -1.0;
104double Ions_Move_CG::RELAX_CG_THR = -1.0;
108
110{
111}
113{
114}
116{
117}
119{
120}
121Soc::~Soc()
122{
123}
125{
126}
128{
129}
131{
132}
134{
135}
137{
138}
146{
147}
149{
150}
152{
153 itia2iat.create(1, 1);
154}
156#ifdef __LCAO
161#endif
164void Occupy::decision(const std::string& name,
165 const std::string& smearing_method,
166 const double& smearing_sigma) {
167 return;
168}
169// void UnitCell::setup(const std::string&,const int&,const int&,const
170// bool&,const std::string&){return;}
171void UnitCell::setup(const std::string& latname_in,
172 const int& ntype_in,
173 const int& lmaxmax_in,
174 const bool& init_vel_in,
175 const std::string& fixed_axes_in) {
176 this->latName = latname_in;
177 this->ntype = ntype_in;
178 this->lmaxmax = lmaxmax_in;
179 this->init_vel = init_vel_in;
180 // pengfei Li add 2018-11-11
181 if (fixed_axes_in == "None") {
182 this->lc[0] = 1;
183 this->lc[1] = 1;
184 this->lc[2] = 1;
185 } else if (fixed_axes_in == "volume") {
186 this->lc[0] = 1;
187 this->lc[1] = 1;
188 this->lc[2] = 1;
189 if (!PARAM.input.relax_new) {
191 "Input",
192 "there are bugs in the old implementation; set relax_new to be "
193 "1 for fixed_volume relaxation");
194 }
195 } else if (fixed_axes_in == "shape") {
196 if (!PARAM.input.relax_new) {
198 "Input",
199 "set relax_new to be 1 for fixed_shape relaxation");
200 }
201 this->lc[0] = 1;
202 this->lc[1] = 1;
203 this->lc[2] = 1;
204 } else if (fixed_axes_in == "a") {
205 this->lc[0] = 0;
206 this->lc[1] = 1;
207 this->lc[2] = 1;
208 } else if (fixed_axes_in == "b") {
209 this->lc[0] = 1;
210 this->lc[1] = 0;
211 this->lc[2] = 1;
212 } else if (fixed_axes_in == "c") {
213 this->lc[0] = 1;
214 this->lc[1] = 1;
215 this->lc[2] = 0;
216 } else if (fixed_axes_in == "ab") {
217 this->lc[0] = 0;
218 this->lc[1] = 0;
219 this->lc[2] = 1;
220 } else if (fixed_axes_in == "ac") {
221 this->lc[0] = 0;
222 this->lc[1] = 1;
223 this->lc[2] = 0;
224 } else if (fixed_axes_in == "bc") {
225 this->lc[0] = 1;
226 this->lc[1] = 0;
227 this->lc[2] = 0;
228 } else if (fixed_axes_in == "abc") {
229 this->lc[0] = 0;
230 this->lc[1] = 0;
231 this->lc[2] = 0;
232 } else {
234 "Input",
235 "fixed_axes should be None,volume,shape,a,b,c,ab,ac,bc or abc!");
236 }
237 return;
238}
239// void Structure_Factor::set(const int&)
240// {
241// return;
242// }
243
244namespace MD_func {
245void current_md_info(const int& my_rank,
246 const std::string& file_dir,
247 int& md_step,
248 double& temperature) {
249 return;
250}
251} // namespace MD_func
252
253namespace GlobalC {
256} // namespace GlobalC
257
258#ifdef __PEXSI
259namespace pexsi {
260int PEXSI_Solver::pexsi_npole = 0;
261bool PEXSI_Solver::pexsi_inertia = 0;
262int PEXSI_Solver::pexsi_nmax = 0;
263// int PEXSI_Solver::pexsi_symbolic = 0;
264bool PEXSI_Solver::pexsi_comm = 0;
265bool PEXSI_Solver::pexsi_storage = 0;
266int PEXSI_Solver::pexsi_ordering = 0;
267int PEXSI_Solver::pexsi_row_ordering = 0;
268int PEXSI_Solver::pexsi_nproc = 0;
269bool PEXSI_Solver::pexsi_symm = 0;
270bool PEXSI_Solver::pexsi_trans = 0;
271int PEXSI_Solver::pexsi_method = 0;
272int PEXSI_Solver::pexsi_nproc_pole = 0;
273// double PEXSI_Solver::pexsi_spin = 2;
274double PEXSI_Solver::pexsi_temp = 0.0;
275double PEXSI_Solver::pexsi_gap = 0.0;
276double PEXSI_Solver::pexsi_delta_e = 0.0;
277double PEXSI_Solver::pexsi_mu_lower = 0.0;
278double PEXSI_Solver::pexsi_mu_upper = 0.0;
279double PEXSI_Solver::pexsi_mu = 0.0;
280double PEXSI_Solver::pexsi_mu_thr = 0.0;
281double PEXSI_Solver::pexsi_mu_expand = 0.0;
282double PEXSI_Solver::pexsi_mu_guard = 0.0;
283double PEXSI_Solver::pexsi_elec_thr = 0.0;
284double PEXSI_Solver::pexsi_zero_thr = 0.0;
285} // namespace pexsi
286#endif
287
288#endif
static double relax_bfgs_w1
Definition bfgs_basic.h:38
static double relax_bfgs_w2
Definition bfgs_basic.h:39
~Charge_Mixing()
Definition charge_mixing.cpp:13
Charge_Mixing()
Definition charge_mixing.cpp:9
~Fcoef()
Definition klist_test.cpp:83
InfoNonlocal()
Definition klist_test.cpp:44
~InfoNonlocal()
Definition klist_test.cpp:47
static double RELAX_CG_THR
Definition ions_move_cg.h:15
LCAO_Orbitals()
PLEASE avoid using 'ORB' as global variable.
Definition ORB_read.cpp:19
~LCAO_Orbitals()
Definition ORB_read.cpp:34
Magnetism()
Definition sltk_atom_arrange_test.cpp:27
~Magnetism()
Definition sltk_atom_arrange_test.cpp:33
Definition dftu.h:27
DFTU()
Definition for_testing_input_conv.h:139
~DFTU()
Definition for_testing_input_conv.h:142
static int symm_flag
Definition symmetry.h:30
static bool symm_autoclose
Definition symmetry.h:31
ORB_gaunt_table()
Definition ORB_gaunt_table.cpp:12
~ORB_gaunt_table()
Definition ORB_gaunt_table.cpp:13
static void decision(const std::string &name, const std::string &smearing_method, const double &smearing_sigma)
Definition occupy.cpp:28
Input_para input
Definition parameter.h:45
Definition restart.h:12
~Soc()
Definition klist_test.cpp:80
~Structure_Factor()
Definition charge_extra_test.cpp:89
Structure_Factor()
Definition charge_extra_test.cpp:86
~UnitCell()
Definition symmetry_test_analysis.cpp:34
UnitCell()
Definition symmetry_test_analysis.cpp:33
void setup(const std::string &latname_in, const int &ntype_in, const int &lmaxmax_in, const bool &init_vel_in, const std::string &fixed_axes_in)
Definition mock_unitcell.cpp:31
static bool berry_phase_flag
Definition berryphase.h:24
static double efield_pos_max
Definition efield.h:47
static double efield_pos_dec
Definition efield.h:48
static double efield_amp
Definition efield.h:49
static int efield_dir
Definition efield.h:46
static bool block
Definition gatefield.h:29
static double block_height
Definition gatefield.h:32
static double block_up
Definition gatefield.h:31
static double block_down
Definition gatefield.h:30
static double zgate
Definition gatefield.h:27
static bool relax
Definition gatefield.h:28
static double dt
Definition H_TDDFT_pw.h:61
static std::vector< double > heavi_t0
Definition H_TDDFT_pw.h:113
static std::vector< double > gauss_t0
Definition H_TDDFT_pw.h:84
static std::vector< double > gauss_amp
Definition H_TDDFT_pw.h:85
static std::vector< double > trape_phase
Definition H_TDDFT_pw.h:93
static std::vector< int > trape_ncut
Definition H_TDDFT_pw.h:99
static int tend
Definition H_TDDFT_pw.h:60
static std::vector< double > trape_amp
Definition H_TDDFT_pw.h:97
static int stype
Definition H_TDDFT_pw.h:51
static int heavi_count
Definition H_TDDFT_pw.h:112
static std::vector< double > trape_t1
Definition H_TDDFT_pw.h:94
static double dt_int
Definition H_TDDFT_pw.h:63
static int gauss_count
Definition H_TDDFT_pw.h:80
static std::vector< double > gauss_phase
Definition H_TDDFT_pw.h:82
static int trigo_count
Definition H_TDDFT_pw.h:102
static std::vector< double > trape_t2
Definition H_TDDFT_pw.h:95
static std::vector< int > gauss_ncut
Definition H_TDDFT_pw.h:88
static std::vector< int > ttype
Definition H_TDDFT_pw.h:53
static std::vector< double > trape_t3
Definition H_TDDFT_pw.h:96
static std::vector< double > trigo_phase1
Definition H_TDDFT_pw.h:105
static std::vector< double > trape_omega
Definition H_TDDFT_pw.h:92
static std::vector< double > gauss_omega
Definition H_TDDFT_pw.h:81
static std::vector< double > trigo_phase2
Definition H_TDDFT_pw.h:106
static int trape_count
Definition H_TDDFT_pw.h:91
static std::vector< double > heavi_amp
Definition H_TDDFT_pw.h:114
static double lcut1
Definition H_TDDFT_pw.h:69
static std::vector< double > trigo_omega2
Definition H_TDDFT_pw.h:104
static double lcut2
Definition H_TDDFT_pw.h:70
static std::vector< double > trigo_amp
Definition H_TDDFT_pw.h:107
static int tstart
Definition H_TDDFT_pw.h:59
static std::vector< double > gauss_sigma
Definition H_TDDFT_pw.h:83
static std::vector< double > trigo_omega1
Definition H_TDDFT_pw.h:103
static std::vector< int > trigo_ncut
Definition H_TDDFT_pw.h:109
~pseudopot_cell_vl()
Definition klist_test.cpp:71
pseudopot_cell_vl()
Definition klist_test.cpp:68
pseudopot_cell_vnl()
Definition klist_test.cpp:74
~pseudopot_cell_vnl()
Definition klist_test.cpp:77
Definition cal_epsilon_test.cpp:31
ModuleDFTU::DFTU dftu
Definition for_testing_input_conv.h:254
Restart restart
Definition for_testing_input_conv.h:255
int out_stru
Definition for_testing_input_conv.h:103
double relax_bfgs_rmin
Definition for_testing_input_conv.h:101
double relax_bfgs_rmax
Definition for_testing_input_conv.h:100
double relax_bfgs_init
Definition for_testing_input_conv.h:102
std::string fixed_axes
Definition for_testing_input_conv.h:105
base functions in md
Definition for_testing_input_conv.h:244
void current_md_info(const int &my_rank, const std::string &file_dir, int &md_step, double &temperature)
determine thr current md step and temperature
Definition for_testing_input_conv.h:245
void init_vel(const UnitCell &unit_in, const int &my_rank, const bool &restart, double &temperature, double *allmass, int &frozen_freedom, ModuleBase::Vector3< int > *ionmbl, ModuleBase::Vector3< double > *vel)
initialize the atomic velocities
Definition md_func.cpp:186
void WARNING_QUIT(const std::string &, const std::string &)
Combine the functions of WARNING and QUIT.
Definition test_delley.cpp:14
Definition dist_bcd_matrix.h:12
Parameter PARAM
Definition parameter.cpp:3
bool relax_new
Definition input_parameter.h:152