1#ifndef ESOLVER_KS_LCAO_TDDFT_H
2#define ESOLVER_KS_LCAO_TDDFT_H
14template <
typename TR,
typename Device = base_device::DEVICE_CPU>
Correct the discontinuity that occurs when crossing periodic boundary conditions.
Definition esolver_ks_lcao_tddft.h:16
ct::Tensor Sk_laststep
Overlap matrix for all k-points of last time step.
Definition esolver_ks_lcao_tddft.h:49
void store_h_s_psi(UnitCell &ucell, const int istep, const int iter, const bool conv_esolver)
Definition esolver_ks_lcao_tddft.cpp:346
~ESolver_KS_LCAO_TDDFT()
Definition esolver_ks_lcao_tddft.cpp:38
virtual void hamilt2rho_single(UnitCell &ucell, const int istep, const int iter, const double ethr) override
Definition esolver_ks_lcao_tddft.cpp:220
void iter_finish(UnitCell &ucell, const int istep, const int estep, const int estep_max, int &iter, bool &conv_esolver)
Definition esolver_ks_lcao_tddft.cpp:300
bool restart_done
Restart flag.
Definition esolver_ks_lcao_tddft.h:68
virtual void runner(UnitCell &cell, const int istep) override
run energy solver
Definition esolver_ks_lcao_tddft.cpp:81
void print_step()
Definition esolver_ks_lcao_tddft.cpp:212
psi::Psi< std::complex< double > > * psi_laststep
Wave function for all k-points of last time step.
Definition esolver_ks_lcao_tddft.h:43
void weight_dm_rho(const UnitCell &ucell)
Definition esolver_ks_lcao_tddft.cpp:490
static constexpr ct::DeviceType ct_device_type_hs
Definition esolver_ks_lcao_tddft.h:57
Velocity_op< TR > * velocity_mat
Velocity matrix for calculating current.
Definition esolver_ks_lcao_tddft.h:63
ESolver_KS_LCAO_TDDFT()
Definition esolver_ks_lcao_tddft.cpp:23
virtual void after_scf(UnitCell &ucell, const int istep, const bool conv_esolver) override
Something to do after SCF iterations when SCF is converged or comes to the max iter step.
Definition esolver_ks_lcao_tddft.cpp:461
bool use_tensor
Control heterogeneous computing of the TDDFT solver.
Definition esolver_ks_lcao_tddft.h:52
TD_info * td_p
Definition esolver_ks_lcao_tddft.h:65
ct::Tensor Hk_laststep
Hamiltonian for all k-points of last time step.
Definition esolver_ks_lcao_tddft.h:46
bool use_lapack
Definition esolver_ks_lcao_tddft.h:53
void before_all_runners(UnitCell &ucell, const Input_para &inp) override
Initialize of the first-principels energy solver.
Definition esolver_ks_lcao_tddft.cpp:53
int totstep
Total steps for evolving the wave function.
Definition esolver_ks_lcao_tddft.h:60
Definition esolver_ks_lcao.h:32
bool conv_esolver
Definition esolver.h:47
Definition velocity_op.h:15
A multi-dimensional array of elements of a single data type.
Definition tensor.h:32
The First-Principles (FP) Energy Solver Class.
Definition opt_test_tools.cpp:93
DeviceType
The type of memory used by an allocator.
Definition tensor_types.h:73