Skip to content

Commit 4f99bb3

Browse files
committed
Feature: Add supersine electric fields and refactor RT-TDDFT field handling
1 parent f36f201 commit 4f99bb3

83 files changed

Lines changed: 3344 additions & 1866 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/advanced/input_files/input-main.md

Lines changed: 172 additions & 84 deletions
Large diffs are not rendered by default.

docs/parameters.yaml

Lines changed: 167 additions & 109 deletions
Large diffs are not rendered by default.

source/source_esolver/esolver_ks_lcao_tddft.cpp

Lines changed: 73 additions & 95 deletions
Large diffs are not rendered by default.

source/source_esolver/esolver_ks_lcao_tddft.h

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@
88
#include "source_lcao/module_rt/td_moving_gauge.h"
99
#include "source_lcao/module_rt/velocity_op.h"
1010

11+
#include <memory>
12+
13+
namespace elecstate
14+
{
15+
class TDFieldManager;
16+
}
17+
1118
namespace ModuleESolver
1219
{
1320

@@ -28,12 +35,7 @@ class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO<std::complex<double>, TR>
2835

2936
void store_h_s_psi(UnitCell& ucell, const int istep, const int iter, const bool conv_esolver);
3037

31-
void iter_finish(UnitCell& ucell,
32-
const int istep,
33-
const int estep,
34-
const int estep_max,
35-
int& iter,
36-
bool& conv_esolver);
38+
void iter_finish(UnitCell& ucell, const int istep, const int estep, const int estep_max, int& iter, bool& conv_esolver);
3739

3840
virtual void after_scf(UnitCell& ucell, const int istep, const bool conv_esolver) override;
3941

@@ -72,6 +74,8 @@ class ESolver_KS_LCAO_TDDFT : public ESolver_KS_LCAO<std::complex<double>, TR>
7274
//! Restart flag
7375
bool restart_done = false;
7476

77+
std::shared_ptr<elecstate::TDFieldManager> td_field_manager_;
78+
7579
private:
7680
void weight_dm_rho(const UnitCell& ucell);
7781
};

source/source_estate/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ if(ENABLE_LCAO)
4747
list(APPEND objects
4848
elecstate_lcao.cpp
4949
module_pot/H_TDDFT_pw.cpp
50+
module_pot/td_field.cpp
5051
module_dm/init_dm.cpp
5152
module_dm/density_matrix.cpp
5253
module_dm/density_matrix_io.cpp

0 commit comments

Comments
 (0)